Задать вопрос
bmwant21
@bmwant21
Want to be as Amelia Earhart.

В чем недостатки Java для веб-разработки?

Из большого количества ответов на сайте я понял, что сейчас для веб-разработки активно используются Ruby (RoR) и Python(Django).

Хочется узнать, в чём преимущества/недостатки Java перед тем же Python-ом и почему НЕ СТОИТ использовать java под веб.
  • Вопрос задан
  • 26590 просмотров
Подписаться 16 Оценить Комментировать
Решения вопроса 1
Deerenaros
@Deerenaros
Программист, математик, задрот и даже чуть инженер
Забавно читать ответы.

Когда читал Философию Java, автор высоко оценивал python. И не с проста. Как и Java, у Python свои плюсы.

По производительности что Python, то и Java примерно равны. Python имеет "нативный" byte-code, если так можно выразиться (не смотря на то, что его портировали и на CIL, и на JVM, и на сам Python). Так что здесь паритет.

По удобству зависит от проекта и задач. Если цель - сделать как можно быстрее, то Python явно удобнее. Ибо можно набросать прототип в интерактиве, немного подправить его и вауля - проект "готов". Если цель надёжность - наш выбор Java: статическая типизация и компилируемость выявляет сотни ошибок ещё до запуска приложения.

Стоит заметить, что вэб в Java развит очень сильно. Причём настолько, что он просочился до клиентских вэб-приложений (и умер лет 10 назад), хотя backend всё равно в разы сильнее. Что это значит? Это значит, что для Java есть множество отличных фреймворков, ориентированных на web. Каноничная реализация ООП позволяет использовать паттерны банды четырёх "из коробки". Интерфейсы, если ими уметь пользоваться, решают. Python же не создавался как web-движок, а создавался просто как удобный инструмент для быстрого программирования как прикладных, так и теоретических задач. В этом помогает всё - и сахарный синтаксис, и крутейшие итераторы, и пресловутый интерактивный режим, и невероятные slice'ы, и неплохие лямбды, и красивый код. RoR, если говорить о языке фреймворка, так же сильно похож на Python, но магии в нём много больше. Но Python-приложения тяжко отлаживать. Можно пару лет вести баг, который окажется из-за того, что мы не проверили возможность преобразования объекта к строке в аргументах. Динамическая типизация, причём очень хардовая из всех, наверное, это и дар и проклятие.

Собственно, если вопрос стоит "стоит ли изучать", то да, конечно стоит. Как и Java, Python - мультипарадигмальный язык, и те практики, которые Вы изучите в Python несомненно улучшат код в Java.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@sergei-grigorev
Сам занимаюсь разработкой под Java EE для крупных корпоративных веб-приложений. Могу сказать, что тут полно всяких требований к самому приложению. его расширению и масштабированию. Т.е. для крупных корпоративных приложений это нормально, ведь к ним предлагаются более высокие требования надежности. Но если идти тем же путем для простых сайтов, то вы в значительной степени увеличите сроки сдачи. Вероятно по этому для простой веб-разработки смысла в Java EE мало (куда быстрее написать на более простом фреймворке), а вот для крупных веб-приложений она в значительной степени более восстребована, чем указанные вами Ruby и Python.
Ответ написан
trerums
@trerums
Популярность PHP, Ruby и Python для веб-разработки на данный момент объясняется двумя факторами: популярность веб как такового и низкий порог вхождения в программирование. Ничто из вышеперечисленного не лучше и не хуже для веб-разработки чем Java или C#. Любою задачу можно решить и там и там с приблизительно одинаковым уровнем скорости, комфорта для разработчика и всего остального. Извините, что не дал конкретного ответа на ваш вопрос. Все имхо.
Ответ написан
@DDanya
Особых критерий нет.Некоторые и на C пилят сайты :).Особых проблем не будет, всё зависит от рук программиста.
Ответ написан
Foror
@Foror
Графоман
Хороших фреймворков для веба маловато, а так вполне можно пилить и на java, рекомендую глянуть tapestry5.4, лучшего веб-фреймворка для java пока не видел.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы