Pull to refresh

Comments 45

Интересный подход, но, будет-ли он востребован, учитывая количество существующих серверных языков программирования?
В Google пишут серверные приложения на JS, а спека ES4 ооочень крутая и делает его привлекательнее многих других "серверных языков программирования".
>В Google пишут серверные приложения на JS
откуда инфа?
Совершенно верно замечено! Существуют столько серверных языков и очень неплохих... чем этот отличается? короче баян языков...
вас послушать, то должен быть только ОДИН серверный язык, да?
Меня послушать... какое отличие? в чем революция? мне например вообще плевать на каком языке писать, я уже на стольких писал, что сбился со счета сколько я из знаю :). Я считаю вначале архитектура потом язык.
"мне например плевать, на какой машине ездить, я уже на стольких ездил, что со счёта сбился. главное не машина, а уровень вождения"

когда речь идёт не о стоянии в пробке, а о формуле-1, то машина играет не менее ключевую роль, чем умение водить. для тех, кто каждый день клепает корпоративные сайтики-порталы разницы действительно нет.
Ооо, класс, про формулу-1 мне понравилось... только вот заметь КЛАССНЫЙ гонщик выбирает всегда классную машину...
Потому что г..о извинте его не устроит, хотя неплохой результат он покажет и на тазике.
Я кстати выбираю тот язык, который больше подходит под разработанную архитектуру проекта. т е хорошая машина в ф-1, для хорошего пилота + та что подходит под стиль вождения.
В свою очередь, на загруженном бездорожье F-1 заедет не далее ближайшей кочки.
Всему своё место.
А нехрен на формуле по народ.ру и шаред-хостингам бегать) Не можешь построить трассу - не пользуй форумулу.
Вы это к чему сказали?
Вообще-то я веду к тому, что использовать Java для одностраничного сайта-визитки — глупо. Равно как и использовать Helma для построения высоко нагруженных сервисов вроде Google или Yahoo.
Кроме того, в последнее время инструмент выбирают не только учитывая скорость его работы, но и учитывая скорость (удобство) разработки (как пример - RoR).

И, да, автомобили выбирают для задач, как и инструмент. Но не задачу для инструмента.
Никто в здравом уме не будет использовать болиды формулы-1 для перевозов огромного количества груза. И руководству глубоко плевать на то, насколько крут этот болид, и насколько опытен пилот — он загнется под первым же контейнером хабраэффекта. Такие машины — нужны единицам.
Теперь понятнее, что я пытаюсь донести?
UFO just landed and posted this here
Вот интересно, у нас в России используется Java как серверный язык вэб приложений или ничтожно редко???
Использовать серверный JS так же круто, как брится топором. Вот только бессмысленно.
нее, я про java2se...
Ах, тогда извините :) В контексте данного топика вполне логично решил, что вы всё таки о JS :)
Для веб приложений используется всё же JEE, а не Java SE. Dice.com по запросу Java выдаёт наибольшее количество вакансий(на порядок больше Ruby/Python/PHP) - это рынок US. Так что если идти в аутсорсинговую контору, то там от Вас в девяти случаях из десяти будут требовать Java или .NET.

Наш IT-рынок труда пока только формируется. Хороших специалистов нехватает везде, буть то 1C, Bitrix или JEE.
Разве JEE? Не знал, мне казалось JEE для оч глобальных проектов, и всяко не в вэбе...
JEE содержит множество API для самых разных целей. Один из них(javax.servlet) как раз служит для создания Web-приложений.
Java это один из самых популярный языков, если не самый популярный в мире:

http://www.langpop.com/
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
http://www.ohloh.net/languages/compare

используется ли он в Россиии (СНГ)? трудно оценить, но у россиян свой менталитет. в России, например, популярен браузер Опера... но у аутсорсных компаний подавляющее кол-во проектов на Java
Самый популярный, вы удивитесь, это как раз JavaScript.
Вполне возможно, не буду спорить
если брать не аутсорс для буржуев, а внутренние проекты, то почти все биллинговые системы пишутся на яве, софт для сотовых операторов, банковский софт и т.д.
давно была идея сделать что-нить серверное на spidermonkey как cgi. с удовольствием посмотрю на данные проекты, спасибо.
JavaScript - отличнейший язык! Я сам поклонник Ruby, однако видел в том же prototype, что с помощью нехитрых вещей можно реализовать те же map, each etc для массивов. Система метапрограммирования позволяет слепить все что нужно
JavaScript - один из самых уродливых и отвратных языков. Использовать его для серверной части просто абсурдно.
Предложите лучше:) Прелесть его в том что, если что-то не нравиться, то можно поправить, а вот всякие Java/PHP как были "глобальными и надежными" так ими и остануться.
О критике JavaScript писалось очень много. Просто историчеки так сложилось, что он стал единственным языком для управления объектами в браузере. Для серверной части, где ограничения на язык не существует, выбор JS более чем неадекватен.
О недостатках JavaScript не видел статей уже последние несколько лет. Единственный весомый недостаток - различная (причем кривая) реализация в разных браузерах, что для серверных решений не имеет значения. Ограничение на язык серверной части есть - это предоставление хостинга и распространённость языка, второй критерий это как раз лакомый кусочек.
Вы или аргументируйте или идите на... почитайте спецификацию ES4.
Аргументы? Пожалуйста!

1. Динамический (скриптовый). Эволюция структурных языков шла в направлении усиления контроля над действиями программиста, тогда как скриптовые языки исходили из соображений удобства программирования. Удобство и правильность не всегда совместимы (взгляните например спецификацию Ада). В результате статистика ошибок в динамическом языке в несколько раз больше.
2. Нестрогий контроль типов. Меньше ошибок удается отследить в момент компиляции (которой судя по всему нет). Кстати, все нововведения ES4 касаются как раз структур данных и контроля типов, но опять же, не строго.
3. Собственно runtime-контроль. Фазы компиляции и предварительной проверки, похоже, нет. Все ошибки - в момент интерпретации.
4. Сложность и избыточность (неминимальность). Отсутствие минимального "ядра" языка. Кстати, на сайте я так и не нашел строгого документа-спецификации языка. Взгляните, например, спецификацию Java.
5. Более чем сомнительное быстродействие имплементаций.
6. Несовместимость с предыдущими версиями языка.
Это уже больше похоже на то, что вы не конкретно JS ругаете, а все скриптовые языки поголовно
В принципе - да. Не долюбливаю я их. Область их применения сильно ограничена. Возможно для рендеринга веб страницы и sql запросов более-менее подходит, но для серьезных проектов - увы. Хотя бы для написания фреймворков и api для тех же языков.
что для вас серьезный проект? LinkedIn, MoйКруг, Википедия, SourceForge, и Yahoo.Answers для вас большие серьезные проекты?
С точки зрения программной имплементации эти проекты не являются сложными. Стандартный набор - фронтенд, база данных, индексатор. Вся сложность этих проектов - в обеспечении горизонтальной масштабируемости.

Сложный проект - это система резервирования авиабилетов Amadeus. Система обслуживания авиалиний. Система транзакций ServiRed (с кучей фронтендов). Софтина любого банка сложнее в сто раз любого из этих проектов. Если говорить о нагрузках, то никакая википедия не сравнится по количеству запросов с биллинговой системой мобильного оператора.
Так что! PHP - это вершина айсберга для клепания дырявых ;) страничек.
если мне не изменяет память, то и питон динамический, и руби, и AS, и даже та самая java так себе, она где-то посередине между чистой динамикой и статикой (теми, кто в машинный код компилируется сразу). Ага, и РНР также динамический.
А еще есть Perl и Groovy. А Вы не задавались вопросом - нафиг столько языков для реализации одной и той же задачи? Это топтание на месте - нет никакой эволюции и радикально нового шага: ассемблер - фортран - алгол - паскаль - си - си++ - java/c# - дальше что? Скриптовое семейтво? Похоже немного на вырождение.

Тот JavaScript, который был изначально встроен в браузер Netscape не имел даже нормальной спецификации. Все последующие развитие языка было связано со стабилизацией синтаксиса при остающейся совместимости с предыдущими версиями. Если бы тот же питон был взят за основу динамических страниц, мы бы избежали сегодня большого числа проблем.
ассемблер - фортран - алгол - паскаль - си - си++ - java/c#

Похоже идет вырождение не языков программирования а подхода вообще. Вы привели отличный пример - появление императивных языков программирования при увеличении числа программистов в мире. Получается что эволюцией языков правит не инженерная мысль, а мысль алчного маркетолога.

Что же дальше? Однозначно языки с динамической типизацией и переход к декларативности (C# 3.0 тому подтверждение, хоть и мейнстрим-язык, но тем не менее...). Все проблемы динамических языков, которые вы привели не столь важны, они легко решаются. Да проблемы есть, но они несколько в другом, они решаются и динамика потихоньку просачиваются в software factory. Скриптовые языки здесь ни причем:)

Насчет JS - да жосткого стандарта ему не помешало бы, но семантически язык очень мощный, потенциально мощнее всей java вместе взятой как минимум. Но только не в том виде, в котором он есть сейчас.
Это понятно, что маркетологи пытаются завлечь программистов, маня удобством и краткостью кода (программисты ленивые и много писАть не любят). C# - яркий тому пример. В отличие от аскетичной и минималистичной Java, C# постоянно модифицируется в сторону угождения программистам и превращается в помойку. И даже не маркетологи определяют дальнейшую эволюцию, а программисты, которые выросли на языках типа JS.

Основной вопрос - на кой черт? Что динамические языки предлагают такого, чего нет в структурных? Никто экономически не доказал выгодность перехода от структурных языков к динамическим. Более того, существуют четкие аргументы против этого, которые не так просто решить, как кажется. В средах J2EE тоже используется декларативность и скриптинг, но в отличие от JS и иже с ними, она базируется на XML, который строго проверяется на валидность.
Да, я вижу вы мыслите очень прагматично, и наверное это во многом правильный подход. C#, да это помойка, но я никак не могу назвать Java "аскетичной и минималистичной". Аскетичные и минималистичные языки в моем представлении - Lisp, Forth. Дизайн Java идеально подходит для студентов, которые получили диплом программиста, но недопоняли C/C++ и их можно быстро переучить до нужной кондиции, не ломая их представления о синтаксисе и подходе вообще. Java завязана на библиотеках, а они отнюдь и не минималистичны и не аскетичны.

Исследователи языков программирования уже не одно десятилетия пророчат лидерство декларативного подхода. Конечно у них есть свои аргументы "за". Ответом вопрос "на какой черт" наверное будет то что будет требоваться меньше строк кода для выражения мыслей. Меньше кода, меньше ошибок и тд... А еще имеет место уменьшение количества сущностей, что так же способствует пониманию. Хочу еще уточнить, что структурный подход это не антипод к динамическому:) Насчет валидности XML я что-то не понял. Так же как мы валидируем XML, мы можем и валидировать, скажем JSON, коль речь о JS зашла, кстати предмет нашего обсуждения имеет очень благородные корни - язык Self.
перетягивание каната…
возможно это подкупит тех программистов, что начали свой путь с JavaScript… и смогут перейти на серверную часть с минимальными… напряжениями в мозгу…
но будет ли это переход навсегда? думаю нет, сейчас мода… и тенденция к улучшению выразительности языков…
поэтому после перехода на сервер с знакомым языком, порграммист начнет искать удобство работы там и, как видится. предпочтет более выгодный путь (язык)…
выбор программиста может испортить лишь маркетолог, который создаст видимую популярность и превосходство того или иного языка на тот момент…
а потом — законченные проекты, которые надо поддерживать и дорого переделать… и пошло поехало…

что есть помимо Helma — https://wiki.mozilla.org/ServerJS#Implementations
Sign up to leave a comment.

Articles