Java как язык веб-программирования
#1
Posted 03 March 2008 - 03:35 PM
#2
Posted 03 March 2008 - 07:03 PM
Кстати, причем тут размер сайта? Что говорит даный критерий. Голые jsp будут весить не больше голого пхп (правда будут также ужасны). Сервлеты + jsp - Model 2 - без либ тоже будут весить немного. Крупный сайт/приложение может весить 10-30 Мб. Туда входят:
- драйвер СУБД (не зависим мы от админов тут )
- IoC - у меня Spring
- MVC - Spring MVC
- AOP - aspectj
- Logging - Log4j
- JSP/Freemarker decorator - Sitemesh
- Validation - Commons-validator - собственная сборка
- ORM - Hibernate/iBatis
- независимый от системы cron - Quartz
- Web Services - Xfire or CXF
- Cache - Ehcache
В стандартном приложении конечно юзаю не все. Но средний набор такой
#3
Posted 03 March 2008 - 07:24 PM
Мой рекорд на РНР это 5-6 Мб. Каждый файл по 3-4к кода. Но все мое, никаких сторонних либ.
Опять же. Когда начал пару дней назад изучать Java, очень не понравилось это:
class Elkaz{
public static void main (String[] args){
System.out.println("Hello world!");
}
}
и
<?php echo "Hello world"; ?>
Насколько сложно создать в Java домашнюю страничку (простенькую, минимум динамичности)? К примеру модуль новостей, обратная связь и об авторе. Админка не нужна.
#4
Posted 03 March 2008 - 07:32 PM
это все равно что сравнивать скейтборд с машиной
у каждого свои цели, свои возможности, плюсы и минусы, а главное все таки цели
в минимуме очень просто, один сервлет, пара jsp страничек, и jdbc драйвер для подключения к субд.
#5
Posted 03 March 2008 - 07:34 PM
для меня это - лишь набор слов
Подробнее
#6
Posted 03 March 2008 - 07:46 PM
в том то и дело, что пока для тебя это набор слов, разницу ты не поймешь, хоть я тебе тут трактат напишу, кури спек по сервлетам
в общем могу сказать, ставишь контейнер, правишь конфиг контекста, клепаешь сервлет (обработчик), рисуешь jsp странички (интерфейс).
телодвижений будет больше чем в пхп, но мы же говорим о "чистом", без библиотек и фреймворков.
#7
Posted 03 March 2008 - 07:51 PM
Завтра опубликую простой туториал
А насчет ненужного кода - это как посмотреть.
P.S: А что не нравится в java-кода который привел в примере?
#8
Posted 03 March 2008 - 07:54 PM
Язык должен быть либо для веба, либо для прикладного программирования. Совмещение не есть гуд. Разве что, у Явы нравится программирование для Mobile платформ.
К примеру на РНР можно создать оконные приложения и исполняемые приложения. Но кому это надо? У каждого языка свои цели и задачи, имхо.
charlie,
Объявление класса, main процедура и аргументы (String[] args) которые я передавать не собираюсь. Т.е мне нужно вывести простой hello world =)
Да, туториал не помешает.
Главное что бы там не было особых заковыристых слов, нормально объяснялся объективно ориентировчный подход в Java, типы данных. Просто я сажусь на Java c веба, а не с Pascal/Basic/C.
#9
Posted 03 March 2008 - 07:56 PM
на пхп невозможно, ты путаешь, это qt подключается и пхп импортирует функции этой библиотеки, с тем же успехом я могу подключить qt к любому другому языку, и писать оконные приложения с геморроем ))
а насчет телодвижений я уже сказал, у каждого языка свои цели
ну и у каждого программера свои препочтения.
не забывай, что java ООП язык, и чтоб что то сделать, необходимо объявить класс.
#10
Posted 03 March 2008 - 07:59 PM
Ну пофиг на окошки, .exeшники реально argv/argc есть. Что еще надо для жизни?
Я предпочитаю гибкость
Не забываю))) но было бы легче что бы:
class ClassName{
echo "Hello world";
}
#11
Posted 03 March 2008 - 08:04 PM
echo "Hello world";
}
такого нет ни в одном языке имхо ну из тех, которые я знаю
или скрипты?
#13
Posted 03 March 2008 - 08:13 PM
присмотрись, они же почти ничем не отличаются
разве что echo короче
public static void main (String[] args){
System.out.println("Hello world!");
}
class Ilg{
function Ilg(){
echo "Hello";
}
}
$Hello = new Ilg;
#14
Posted 03 March 2008 - 08:18 PM
Тут ООП лишнее.
<?="Hello world";?>
или
<?php echo "Hello world"; ?>
А бедный Чарли что-то пишет
Edited by Elkaz, 03 March 2008 - 08:19 PM.
#15
Posted 03 March 2008 - 08:25 PM
Язык должен быть либо для веба, либо для прикладного программирования. Совмещение не есть гуд. Разве что, у Явы нравится программирование для Mobile платформ.
К примеру на РНР можно создать оконные приложения и исполняемые приложения. Но кому это надо? У каждого языка свои цели и задачи, имхо.
charlie,
Объявление класса, main процедура и аргументы (String[] args) которые я передавать не собираюсь. Т.е мне нужно вывести простой hello world =)
Elkaz, пойми - легко, это еще не значит хорошо. Ты никогда не думал, почему так просто научиться допустим, водить кукурузник и так сложно Боинг? Java - ЯП общего назначения, а пхп - скриптовый язык, который придумали для легкого написания в веб и который ценой огромных усилий превратили во что-то более удобоваримое. Язык, большинство апологетов которого считают себя гуру и которые не могут оценить сложность алгоритма сортировки. Причем называют себя пхп-программистами, не понимая, что это попросту смешно. Программист не зависит от языка. На java/c народ создает огромные системы, которые являются критичнымы для бизнеса приложениями. На пхп - только фронтенды.
Насчет класса: пойми, это минимальный java-класс. Он должен выглядет так. Так как ООП - это класс, так как main ни принадлежит ни одному instace класса - то static, т.к. он принимает параметры - то передаются параметры. Ты же не предъявляешь претензии к C к его понятию "точки входа"? Если тебе надо вывести одну строчку, то тебе не нужна Java. Бери любой скриптовый язык. Тот же Groovy на jvm.
Ilg,
Тут ООП лишнее.
<?="Hello world";?>
или
<?php echo "Hello world"; ?>
А бедный Чарли что-то пишет
Ага, а в jsp
<%="Preved"%>
Ну путай, плз, язык веб-скриптинга с ЯП.
Edited by charlie, 03 March 2008 - 08:26 PM.
#16
Posted 03 March 2008 - 08:26 PM
ну ты сам выбрал вырожденный пример
не мешай Чарли, он докладъ пишет
#17
Posted 03 March 2008 - 08:31 PM
Сранивать кукурузник (РНР) и Боинг (Java) неправильно Они в корне отличаются.
Большинство РНР программистов - это кодеры, не более. Программист - это тот, кто понимает устройство всех готовых функций и алгоритмов....
Недавно как раз заинтересовал меня алгоритм random'a. Думал что он основан на дате от 1.1.1970. А оказалось, что не так. Опять же, функция сортировки. Что бы отсортировать массив достаточно
sort ($Array);
и массив отсортирован как надо А как это работает - мало кому нужно. Но мне интересно было - узнал.
На РНР, при желании и возможностях, можно написать практически все. Конечное, будет хуже аналога на С++ или Java. Т.к на оптимизацию и производительность будет уходить много памяти и времени.
Понимаю. Меня интересует, почему для вывода нужно именно вызывать System? Это не критично. Просто интересно.
Мне нужно не вывести одну строчку, а нужно изучить Java и ООП нормальное.
А полная запись?
Кстати, это выйдет в качестве HTML?
#18
Posted 03 March 2008 - 08:44 PM
charlie,
Сранивать кукурузник (РНР) и Боинг (Java) неправильно Они в корне отличаются.
Большинство РНР программистов - это кодеры, не более. Программист - это тот, кто понимает устройство всех готовых функций и алгоритмов....
Недавно как раз заинтересовал меня алгоритм random'a. Думал что он основан на дате от 1.1.1970. А оказалось, что не так. Опять же, функция сортировки. Что бы отсортировать массив достаточно
sort ($Array);
и массив отсортирован как надо А как это работает - мало кому нужно. Но мне интересно было - узнал.
На РНР, при желании и возможностях, можно написать практически все. Конечное, будет хуже аналога на С++ или Java. Т.к на оптимизацию и производительность будет уходить много памяти и времени.
Понимаю. Меня интересует, почему для вывода нужно именно вызывать System? Это не критично. Просто интересно.
Мне нужно не вывести одну строчку, а нужно изучить Java и ООП нормальное.
А полная запись?
Кстати, это выйдет в качестве HTML?
Если интересуют подобные вещи (random, сортировки) - советую Кнута. Но не переусердствуй
Насчет того, что на пхп можно написать почти все - сомневаюсь. Не вижу, например, нормального пути для написания, допустим, smsс на пхп. Threads есть? Кажись нет. А даже если есть - то GIL все погубит.
System - потому что функции работы со стандартным IO принадлежат системному пакету, т.к. зависят от системы.
Это и есть полная запись. Т.е. самодостаточная jsp. Выйдет по дефолты в stdout текст Preved и будет послан content-type text/html
Можно еще так:
<%
out.write("Preved");
%>
Edited by charlie, 03 March 2008 - 08:47 PM.
#19
Posted 21 June 2009 - 12:10 PM
#20
Posted 21 June 2009 - 12:28 PM
0 user(s) are reading this topic
members, guests, anonymous users