Гринспан о Джаве

Тут [ >>> ] обсуждение заметки про то, что Java — полная фигня для создания web-сfйтов и web-приложений. А теперь я скажу своё мнение.

Кто-то возразит, сказав, что я слишком яростно защищаю Java, когда вокруг столько «доказательств» несостоятельности этого языка. Но я опять повторю, что Java очень хорошо подходит для создания динамического web-контента. И коротко, списком, основные преимущества и недостатки. Сравнивать буду, например, с PHP. Благо я его хоть как-то знаю. Если кто считает, что аргументы за PHP не до конца хороши, то я запросто поменяю их — я не настолько хорошо знаю PHP, чтобы гарантировать верное о нем суждение. Теперь — сам список.

— Java не подходит для создания маленьких страничек по множеству причин. Главная — необходимо изучать структуру, механизмы работы, специальные возможности JSP, Servlets.

— Java показывает большую производительность, чем скриптовые языки (PHP). Почему? Одна из причин — (автоматическая) компиляция JSP в байт-код, вторая — сервлет постоянно находится в памяти, не загружаясь, не интерпретируясь каждый раз при запросе. Есть и еще несколько. Немного см. [ >>> ]

— Java дает гораздо более богатые возможности по использованию различных систем. Есть системы, которые автоматически сохраняют данные в БД (прозрачно для пользователя), [ >>> ] есть — которые автоматически распределяют запросы (и это только верхушка айсберга, система может гораздо больше) [ >>> ] load-balancing (множество систем, серверов, например, в Resin [ >>> ] встроена), templates engine (именно template engine, а не скриптовый язык встраиваемый в HTML) например [ >>> ] система поиска по произвольной системе объектов (с индексацией, релевантностью, и т.д.) [ >>> ] автоматическое кэширование данных между БД и приложением в частности (практически аналогичная по функциональности той, что используется в Oracle) [ >>> ] и огромное количество всего остального. Теперь понятно, почему не используют Java? Никто про эти технологии и не слышал, поэтому используют только в том объеме, в котором используют PHP. А это — как микроскопом гвозди забивать.

— в Java очень хорошая и очень удобная модель работы с сессиями, пногопоточностью. Это всё встроено в язык (многопоточность, синхронизация), или находится в стандартных библиотеках, настроенных, отлаженных и хорошо документированных. Это чрезвычайно важно в средних и больших приложениях. Если сравнивать поддержку сессий в PHP и в Java, то PHP просто съежится и уйдет. Java предлагает возможность хранить объекты не только в сессии, но и в запросе, для передачи между компонентами системы. В сессии можно хранить произвольные объекты, они автоматически сохраняются и восстанавливаются. И всё это — без участия пользователя, быстро и удобно

— Про Java есть стандартный миф, что она медленна. Не верьте. Java быстрее любого скриптового языка, и, на определенных задачах быстрее даже С++ (очень определенные задачи, согласен, но и такие есть). Действительно медленно в Java — работа с UI. Да, тут скорость принесена в жертву многоплатформенности. Но в web-приложениях скорость перерисовки web-страниц зависит не от скорости интерфейса, а от скорости соединения. А на сервере вообще не используется. Поэтому и скорость по UI считать вредно.

Есть и еще некоторые вещи, которые являются более глубокими, но не менее полезными. Есть и такие, которые я не упомянул — забыл или еще как.

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

PS. Про заметку:

The final third, which seems to be struggling the most, is using Java Server Pages (JSP) with Oracle on Linux

И на этом основываются утверждения о Java в целом… Ну вас, опять флейм разводите.

22 сентября 2003 09:30

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML: