Меня послушать... какое отличие? в чем революция? мне например вообще плевать на каком языке писать, я уже на стольких писал, что сбился со счета сколько я из знаю :). Я считаю вначале архитектура потом язык.
"мне например плевать, на какой машине ездить, я уже на стольких ездил, что со счёта сбился. главное не машина, а уровень вождения"
когда речь идёт не о стоянии в пробке, а о формуле-1, то машина играет не менее ключевую роль, чем умение водить. для тех, кто каждый день клепает корпоративные сайтики-порталы разницы действительно нет.
Ооо, класс, про формулу-1 мне понравилось... только вот заметь КЛАССНЫЙ гонщик выбирает всегда классную машину...
Потому что г..о извинте его не устроит, хотя неплохой результат он покажет и на тазике.
Я кстати выбираю тот язык, который больше подходит под разработанную архитектуру проекта. т е хорошая машина в ф-1, для хорошего пилота + та что подходит под стиль вождения.
Вы это к чему сказали?
Вообще-то я веду к тому, что использовать Java для одностраничного сайта-визитки — глупо. Равно как и использовать Helma для построения высоко нагруженных сервисов вроде Google или Yahoo.
Кроме того, в последнее время инструмент выбирают не только учитывая скорость его работы, но и учитывая скорость (удобство) разработки (как пример - RoR).
И, да, автомобили выбирают для задач, как и инструмент. Но не задачу для инструмента.
Никто в здравом уме не будет использовать болиды формулы-1 для перевозов огромного количества груза. И руководству глубоко плевать на то, насколько крут этот болид, и насколько опытен пилот — он загнется под первым же контейнером хабраэффекта. Такие машины — нужны единицам.
Теперь понятнее, что я пытаюсь донести?
Для веб приложений используется всё же JEE, а не Java SE. Dice.com по запросу Java выдаёт наибольшее количество вакансий(на порядок больше Ruby/Python/PHP) - это рынок US. Так что если идти в аутсорсинговую контору, то там от Вас в девяти случаях из десяти будут требовать Java или .NET.
Наш IT-рынок труда пока только формируется. Хороших специалистов нехватает везде, буть то 1C, Bitrix или JEE.
используется ли он в Россиии (СНГ)? трудно оценить, но у россиян свой менталитет. в России, например, популярен браузер Опера... но у аутсорсных компаний подавляющее кол-во проектов на Java
если брать не аутсорс для буржуев, а внутренние проекты, то почти все биллинговые системы пишутся на яве, софт для сотовых операторов, банковский софт и т.д.
О критике JavaScript писалось очень много. Просто историчеки так сложилось, что он стал единственным языком для управления объектами в браузере. Для серверной части, где ограничения на язык не существует, выбор JS более чем неадекватен.
1. Динамический (скриптовый). Эволюция структурных языков шла в направлении усиления контроля над действиями программиста, тогда как скриптовые языки исходили из соображений удобства программирования. Удобство и правильность не всегда совместимы (взгляните например спецификацию Ада). В результате статистика ошибок в динамическом языке в несколько раз больше.
2. Нестрогий контроль типов. Меньше ошибок удается отследить в момент компиляции (которой судя по всему нет). Кстати, все нововведения ES4 касаются как раз структур данных и контроля типов, но опять же, не строго.
3. Собственно runtime-контроль. Фазы компиляции и предварительной проверки, похоже, нет. Все ошибки - в момент интерпретации.
4. Сложность и избыточность (неминимальность). Отсутствие минимального "ядра" языка. Кстати, на сайте я так и не нашел строгого документа-спецификации языка. Взгляните, например, спецификацию Java.
5. Более чем сомнительное быстродействие имплементаций.
6. Несовместимость с предыдущими версиями языка.
В принципе - да. Не долюбливаю я их. Область их применения сильно ограничена. Возможно для рендеринга веб страницы и sql запросов более-менее подходит, но для серьезных проектов - увы. Хотя бы для написания фреймворков и api для тех же языков.
С точки зрения программной имплементации эти проекты не являются сложными. Стандартный набор - фронтенд, база данных, индексатор. Вся сложность этих проектов - в обеспечении горизонтальной масштабируемости.
Сложный проект - это система резервирования авиабилетов Amadeus. Система обслуживания авиалиний. Система транзакций ServiRed (с кучей фронтендов). Софтина любого банка сложнее в сто раз любого из этих проектов. Если говорить о нагрузках, то никакая википедия не сравнится по количеству запросов с биллинговой системой мобильного оператора.
Так что! PHP - это вершина айсберга для клепания дырявых ;) страничек.
если мне не изменяет память, то и питон динамический, и руби, и AS, и даже та самая java так себе, она где-то посередине между чистой динамикой и статикой (теми, кто в машинный код компилируется сразу). Ага, и РНР также динамический.
А еще есть Perl и Groovy. А Вы не задавались вопросом - нафиг столько языков для реализации одной и той же задачи? Это топтание на месте - нет никакой эволюции и радикально нового шага: ассемблер - фортран - алгол - паскаль - си - си++ - java/c# - дальше что? Скриптовое семейтво? Похоже немного на вырождение.
Тот JavaScript, который был изначально встроен в браузер Netscape не имел даже нормальной спецификации. Все последующие развитие языка было связано со стабилизацией синтаксиса при остающейся совместимости с предыдущими версиями. Если бы тот же питон был взят за основу динамических страниц, мы бы избежали сегодня большого числа проблем.
Это понятно, что маркетологи пытаются завлечь программистов, маня удобством и краткостью кода (программисты ленивые и много писАть не любят). C# - яркий тому пример. В отличие от аскетичной и минималистичной Java, C# постоянно модифицируется в сторону угождения программистам и превращается в помойку. И даже не маркетологи определяют дальнейшую эволюцию, а программисты, которые выросли на языках типа JS.
Основной вопрос - на кой черт? Что динамические языки предлагают такого, чего нет в структурных? Никто экономически не доказал выгодность перехода от структурных языков к динамическим. Более того, существуют четкие аргументы против этого, которые не так просто решить, как кажется. В средах J2EE тоже используется декларативность и скриптинг, но в отличие от JS и иже с ними, она базируется на XML, который строго проверяется на валидность.
перетягивание каната…
возможно это подкупит тех программистов, что начали свой путь с JavaScript… и смогут перейти на серверную часть с минимальными… напряжениями в мозгу…
но будет ли это переход навсегда? думаю нет, сейчас мода… и тенденция к улучшению выразительности языков…
поэтому после перехода на сервер с знакомым языком, порграммист начнет искать удобство работы там и, как видится. предпочтет более выгодный путь (язык)…
выбор программиста может испортить лишь маркетолог, который создаст видимую популярность и превосходство того или иного языка на тот момент…
а потом — законченные проекты, которые надо поддерживать и дорого переделать… и пошло поехало…
Helma — и снова серверный JavaScript