Jump to content


- - - - -

Java как язык веб-программирования


  • You cannot reply to this topic
27 replies to this topic

#1 Эльказ

Эльказ

    PHP Specialist

  • Постояльцы
  • PipPipPipPipPipPip
  • 1,793 posts
  • Time Online: 5h 33m 54s

Posted 03 March 2008 - 03:35 PM

Вот заинтересовало - зачем использовать Java в качестве веб-языка? И сколько в среднем будет весить сайт (без картинок, только .jsp файлы)?
  • 0

#2 charlie

charlie

    rm -rf /

  • Новенькие
  • PipPip
  • 71 posts
  • :

Posted 03 March 2008 - 07:03 PM

Как зачем использовать java в качестве веб-языка? А зачем пхп, перл, питон? Затем же и java. Сколько в последнее время пишу приложений под веб - все java.

Кстати, причем тут размер сайта? Что говорит даный критерий. Голые jsp будут весить не больше голого пхп (правда будут также ужасны). Сервлеты + jsp - Model 2 - без либ тоже будут весить немного. Крупный сайт/приложение может весить 10-30 Мб. Туда входят:
- драйвер СУБД (не зависим мы от админов тут blush.gif )
- 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

В стандартном приложении конечно юзаю не все. Но средний набор такой crazypilot.gif
  • 0

#3 Эльказ

Эльказ

    PHP Specialist

  • Постояльцы
  • PipPipPipPipPipPip
  • 1,793 posts
  • Time Online: 5h 33m 54s

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!");
}
}


и

Syntax Highlighted Code: PHP
<?php echo "Hello world"; ?>


Насколько сложно создать в Java домашнюю страничку (простенькую, минимум динамичности)? К примеру модуль новостей, обратная связь и об авторе. Админка не нужна.
  • 0

#4 Ilg

Ilg

    geek

  • Root Admin
  • PipPipPipPipPipPipPip
  • 2,717 posts
  • Time Online: 17d 6h 22m 31s

Posted 03 March 2008 - 07:32 PM

Elkaz,

это все равно что сравнивать скейтборд с машиной smile.gif
у каждого свои цели, свои возможности, плюсы и минусы, а главное все таки цели smile.gif

Цитата
Насколько сложно создать в Java домашнюю страничку (простенькую, минимум динамичности)? К примеру модуль новостей, обратная связь и об авторе. Админка не нужна.


в минимуме очень просто, один сервлет, пара jsp страничек, и jdbc драйвер для подключения к субд.
  • 0

#5 Эльказ

Эльказ

    PHP Specialist

  • Постояльцы
  • PipPipPipPipPipPip
  • 1,793 posts
  • Time Online: 5h 33m 54s

Posted 03 March 2008 - 07:34 PM

Ilg,
для меня это - лишь набор слов smile.gif
Подробнее


  • 0

#6 Ilg

Ilg

    geek

  • Root Admin
  • PipPipPipPipPipPipPip
  • 2,717 posts
  • Time Online: 17d 6h 22m 31s

Posted 03 March 2008 - 07:46 PM

Elkaz,

в том то и дело, что пока для тебя это набор слов, разницу ты не поймешь, хоть я тебе тут трактат напишу, кури спек по сервлетам smile.gif

в общем могу сказать, ставишь контейнер, правишь конфиг контекста, клепаешь сервлет (обработчик), рисуешь jsp странички (интерфейс).

телодвижений будет больше чем в пхп, но мы же говорим о "чистом", без библиотек и фреймворков.
  • 0

#7 charlie

charlie

    rm -rf /

  • Новенькие
  • PipPip
  • 71 posts
  • :

Posted 03 March 2008 - 07:51 PM

2 Elkaz:
Завтра опубликую простой туториал

А насчет ненужного кода - это как посмотреть.

P.S: А что не нравится в java-кода который привел в примере?
  • 0

#8 Эльказ

Эльказ

    PHP Specialist

  • Постояльцы
  • PipPipPipPipPipPip
  • 1,793 posts
  • Time Online: 5h 33m 54s

Posted 03 March 2008 - 07:54 PM

Вот это и плохо. Телодвижений должно быть минимум. Зачем усложнять себе же жизнь?
Язык должен быть либо для веба, либо для прикладного программирования. Совмещение не есть гуд. Разве что, у Явы нравится программирование для Mobile платформ.
К примеру на РНР можно создать оконные приложения и исполняемые приложения. Но кому это надо? У каждого языка свои цели и задачи, имхо.

charlie,
Объявление класса, main процедура и аргументы (String[] args) которые я передавать не собираюсь. Т.е мне нужно вывести простой hello world =)



Да, туториал не помешает.
Главное что бы там не было особых заковыристых слов, нормально объяснялся объективно ориентировчный подход в Java, типы данных. Просто я сажусь на Java c веба, а не с Pascal/Basic/C.

  • 0

#9 Ilg

Ilg

    geek

  • Root Admin
  • PipPipPipPipPipPipPip
  • 2,717 posts
  • Time Online: 17d 6h 22m 31s

Posted 03 March 2008 - 07:56 PM

Elkaz,

на пхп невозможно, ты путаешь, это qt подключается и пхп импортирует функции этой библиотеки, с тем же успехом я могу подключить qt к любому другому языку, и писать оконные приложения с геморроем ))

а насчет телодвижений я уже сказал, у каждого языка свои цели smile.gif
ну и у каждого программера свои препочтения.

не забывай, что java ООП язык, и чтоб что то сделать, необходимо объявить класс.
  • 0

#10 Эльказ

Эльказ

    PHP Specialist

  • Постояльцы
  • PipPipPipPipPipPip
  • 1,793 posts
  • Time Online: 5h 33m 54s

Posted 03 March 2008 - 07:59 PM

Ilg,
Ну пофиг на окошки, .exeшники реально smile.gif argv/argc есть. Что еще надо для жизни?

Я предпочитаю гибкость smile.gif
Не забываю))) но было бы легче что бы:

class ClassName{
echo "Hello world";
}


  • 0

#11 Ilg

Ilg

    geek

  • Root Admin
  • PipPipPipPipPipPipPip
  • 2,717 posts
  • Time Online: 17d 6h 22m 31s

Posted 03 March 2008 - 08:04 PM

class ClassName{
echo "Hello world";
}

такого нет ни в одном языке имхо smile.gif ну из тех, которые я знаю

Цитата
.exeшники реально


или скрипты?
  • 0

#12 Эльказ

Эльказ

    PHP Specialist

  • Постояльцы
  • PipPipPipPipPipPip
  • 1,793 posts
  • Time Online: 5h 33m 54s

Posted 03 March 2008 - 08:09 PM

Ilg,
Само собой нет. Забыл процедуру добавить:
Syntax Highlighted Code: PHP
 
<?php
class Ilg{
function Ilg(){
echo "Hello";
}
}
 
$Hello = new Ilg;
?>
 


Поищи в гугле PHP + exe.
Была статейка. Консольные приложения писали smile.gif
  • 0

#13 Ilg

Ilg

    geek

  • Root Admin
  • PipPipPipPipPipPipPip
  • 2,717 posts
  • Time Online: 17d 6h 22m 31s

Posted 03 March 2008 - 08:13 PM

Elkaz,

присмотрись, они же почти ничем не отличаются smile.gif

разве что echo короче smile.gif

Код
class Elkaz{
public static void main (String[] args){
System.out.println("Hello world!");
}

class Ilg{
function Ilg(){
    echo "Hello";
}
}

$Hello = new Ilg;

  • 0

#14 Эльказ

Эльказ

    PHP Specialist

  • Постояльцы
  • PipPipPipPipPipPip
  • 1,793 posts
  • Time Online: 5h 33m 54s

Posted 03 March 2008 - 08:18 PM

Ilg,
Тут ООП лишнее.
<?="Hello world";?>
или
<?php echo "Hello world"; ?>

А бедный Чарли что-то пишет smile.gif

Edited by Elkaz, 03 March 2008 - 08:19 PM.

  • 0

#15 charlie

charlie

    rm -rf /

  • Новенькие
  • PipPip
  • 71 posts
  • :

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.



Цитата(Elkaz @ Mar 3 2008, 11:18 PM) Просмотреть Сообщение

Ilg,
Тут ООП лишнее.
<?="Hello world";?>
или
<?php echo "Hello world"; ?>

А бедный Чарли что-то пишет smile.gif

Ага, а в jsp
<%="Preved"%>

Ну путай, плз, язык веб-скриптинга с ЯП.

Edited by charlie, 03 March 2008 - 08:26 PM.

  • 0

#16 Ilg

Ilg

    geek

  • Root Admin
  • PipPipPipPipPipPipPip
  • 2,717 posts
  • Time Online: 17d 6h 22m 31s

Posted 03 March 2008 - 08:26 PM

Elkaz,

ну ты сам выбрал вырожденный пример smile.gif

не мешай Чарли, он докладъ пишет smile.gif
  • 0

#17 Эльказ

Эльказ

    PHP Specialist

  • Постояльцы
  • PipPipPipPipPipPip
  • 1,793 posts
  • Time Online: 5h 33m 54s

Posted 03 March 2008 - 08:31 PM

charlie,
Сранивать кукурузник (РНР) и Боинг (Java) неправильно smile.gif Они в корне отличаются.
Большинство РНР программистов - это кодеры, не более. Программист - это тот, кто понимает устройство всех готовых функций и алгоритмов....

Недавно как раз заинтересовал меня алгоритм random'a. Думал что он основан на дате от 1.1.1970. А оказалось, что не так. Опять же, функция сортировки. Что бы отсортировать массив достаточно
sort ($Array);
и массив отсортирован как надо smile.gif А как это работает - мало кому нужно. Но мне интересно было - узнал.

На РНР, при желании и возможностях, можно написать практически все. Конечное, будет хуже аналога на С++ или Java. Т.к на оптимизацию и производительность будет уходить много памяти и времени.

Понимаю. Меня интересует, почему для вывода нужно именно вызывать System? Это не критично. Просто интересно.
Мне нужно не вывести одну строчку, а нужно изучить Java и ООП нормальное.


Цитата
<%="Preved"%>

А полная запись?
Кстати, это выйдет в качестве HTML?
  • 0

#18 charlie

charlie

    rm -rf /

  • Новенькие
  • PipPip
  • 71 posts
  • :

Posted 03 March 2008 - 08:44 PM

Цитата(Elkaz @ Mar 3 2008, 11:31 PM) Просмотреть Сообщение

charlie,
Сранивать кукурузник (РНР) и Боинг (Java) неправильно smile.gif Они в корне отличаются.
Большинство РНР программистов - это кодеры, не более. Программист - это тот, кто понимает устройство всех готовых функций и алгоритмов....

Недавно как раз заинтересовал меня алгоритм random'a. Думал что он основан на дате от 1.1.1970. А оказалось, что не так. Опять же, функция сортировки. Что бы отсортировать массив достаточно
sort ($Array);
и массив отсортирован как надо smile.gif А как это работает - мало кому нужно. Но мне интересно было - узнал.

На РНР, при желании и возможностях, можно написать практически все. Конечное, будет хуже аналога на С++ или Java. Т.к на оптимизацию и производительность будет уходить много памяти и времени.

Понимаю. Меня интересует, почему для вывода нужно именно вызывать System? Это не критично. Просто интересно.
Мне нужно не вывести одну строчку, а нужно изучить Java и ООП нормальное.
А полная запись?
Кстати, это выйдет в качестве HTML?


Если интересуют подобные вещи (random, сортировки) - советую Кнута. Но не переусердствуй smile.gif

Насчет того, что на пхп можно написать почти все - сомневаюсь. Не вижу, например, нормального пути для написания, допустим, smsс на пхп. Threads есть? Кажись нет. А даже если есть - то GIL все погубит.

System - потому что функции работы со стандартным IO принадлежат системному пакету, т.к. зависят от системы.
Это и есть полная запись. Т.е. самодостаточная jsp. Выйдет по дефолты в stdout текст Preved и будет послан content-type text/html
Можно еще так:
Код

<%
out.write("Preved");
%>

Edited by charlie, 03 March 2008 - 08:47 PM.

  • 0

#19 Эльказ

Эльказ

    PHP Specialist

  • Постояльцы
  • PipPipPipPipPipPip
  • 1,793 posts
  • Time Online: 5h 33m 54s

Posted 21 June 2009 - 12:10 PM

За последний год понял, что использовать Java для веб это всё равно что стрелять по мухам из пушки - язык слишком мощный для этого. Мне уж больно нравится мидлеты на нём писать smile.gif
  • 0

#20 Ilg

Ilg

    geek

  • Root Admin
  • PipPipPipPipPipPipPip
  • 2,717 posts
  • Time Online: 17d 6h 22m 31s

Posted 21 June 2009 - 12:28 PM

на чем ты предлагаешь писать большие проекты?
  • 0





0 user(s) are reading this topic

members, guests, anonymous users