Какой язык программинга для веб Вы считаете языком будущего?

Вот интересно мнение общества (только аргументированное). На последнем iforum переминали эту тему. Думаю будет полезно для начинающих программистов, которые еще не в курсе куда им податься

Мой вариант: C#.NET MVC. Вай? Очень легко пишется, очень легко масштабируется, вход для программистов любого уровня (можешь писать хоть на С#, хоть на VB), простое понимание основ разработки, возможность применять практически любые технологии

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn

Лучшие комментарии пропустить

ECMA Script вообще и JavaScript в частности. Потому, что есть и на фронте и на бэке. Потому, что быстрее уже только компилируемые языки. Потому, что есть сообщество. Потому, что низкий порог вхождения. Потому, что стандиартизируется консорциумом а не закрытой группой. Потому, что мультипарадигменный. Потому, что всё — объект (и даже небо, и даже аллах).

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Чи можна сказати яка мова програмування найбільш підходить для веба в даний час? Зараз web-додаток можна написати майже на будь-якій мові. Але зазвичай вибираю ту мову (інструмент) яка є доступна та може вирішити поставлену задачу.

Естественный. Например, английский... Ведь нейросинтезированные матрицы уже давно безошибочно различают речевые примитивы, курсорное поле вероятного выделения движется вслед за взглядом, монитором служит мультифокусная, мультифокальная проецирующая контактная линза, а с персонализируемым, адаптивным ИИ, настроить рабочее окружение — дело одной мысли.

1. Вангую написание полноценной VM для javascripta (либо на основе ноды, либо на основе чего либо другого) и появления различных полноценных ЯП, написанных на javascript с компиляцией в байткод а-ля *.jsc (javascript compile). С дальнейшим частичным вытеснением джавы и дот.нета из энтерпраййза.

Походу некоторые ЯП, которые компилятся в javascript, писанные на js под ноду уже есть (в основном лиспые: jisp, sibilant.js, и некоторые др.), таже есть некоторые nosql базы данных, писанные на джаваскрипте. Осаталось тока javascript сделать компилируемым)

2. Также вангую повышение популярности Erlang VM благодаря различным ЯП, писанным на эрланге (Elixir, Joxa, и еще какие-нить ЯП, которые еще напишут адепты эрланга). Походу Elixir, как я видел на ютубе, уже на некоторых руби-конфах рекомендуют. Так что Elixir/Erlang вполне может занять в будущем нишу руби и возможно питона)

3. вангую повышение популярности Clojure как на JVM-е, так и на дот.нете (там реализация кложуры называется ClojureCLR — clojure.org/clojureclr ), ну и конечно же вытеснение CoffeeScript-a ClojureScript-ом).

Честно говоря меня всегда смущала перспектива чистого веба. Ну не верю я в него. А если комбинировать, то скорее всего мобильные приложения для работы с сайтом, теже мобильные сайты. А это Бессмертный HTML, CSS, JavaScript. За ними 100% будущее веба

Haskell, конечно. Без вариантов.

Учить нужно програмирование а не языки програмированя.

Точняк! Хотя чё-то я не вижу приложений и сайтов, сделанных на блок-схемах алгоритмов и UML-диаграммах классов.

Це ніяк не залежить від мови програмування та технологій. Більше важить зацікавленість великих гравців та кошти на маркетинг.

Дивлячись на того монстра, що є зараз, думаю, що далі буде ще гірше.

Вангую, что для веб — Javascript (nodejs), как на клиенте, так и на сервере, будет основным языком прототипирования приложений. Javascript и всякие штуки типа coffeescript, typescript и т.п., которые компилирются в JS. После получения работающих успешных прототипов, скорее всего, никто их переписывать на что-то более «мощное/надежное/etc» не будет :-)

Возможно, лет через 10 мы начнем активно использовать lisp/scheme как универсальный язык с универсальным синтаксисом и единым наработанным стилем, из-за необходимости часто прыгать между платформами для реализации разных подсистем.

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

а разве это противоречит тому, что лиспы могут стать популярными? по-моему, не противоречит)

поддерживаю по поводу ноды и лиспов (особенно насчет кложуры, scheme — тоже хотелось бы)

во задроты, полсотни комментов в ст арой теме, спамом ящик завалили.
Рождество мать вашу, идите Богу помилитесь, зануды!

«Господи, дай мне знак — укажи, какой язык программирования — язык будущего?! Аминь»

Призываю в чат модератора! Прежде чем удалить мой пост как бесполезный, почините функцию «Отписаться от комментариев» какой-бы там язык вы не использовали!

Нет-нет, давайте всё-таки узнаем, на каком языке написана неработающая функция! Кто самое слабое звено?!

ничего святого нет :-) C# и Java, C++ и JS — вот наше будущее. Безблжники, в рождество о всякой фигне думаете

вот вам еще один абсолютно бессмысленный коммент в почту. =)

Вместо того, чтобы хоть немного подумать о будущем, все просто опустили забрала и ринулись в бой, размахивая налево и направо любимыми названиями. «Всяк кулик своё болото хвалит».

Попробую высказать своё мнение. Итак:

Бекэнд

Очевидно, что cовременный веб — это не только браузеры, а и мобильные девайсы, и даже сервисы, которые общаются между собой без участия пользователя. Поэтому подход a la «генерация нужной html-странички на лету» — это полный трэш. Вместо этого серверная часть кода должна предоставлять единый для всех API, например, REST. С последним, к сожалению, проблемы, потому что это не стандарт, а лишь подход, который каждый понимает, как хочет. Тем не менее, этого достаточно из-за простоты оного.

Отсюда выплывает, что язык на бекэнде не играет особой роли. Хотя лично мои предпочтения уйдут в сторону Python и Ruby для небольших проектов, и чего-то статически и строго типизированного для проектов побольше, например Rust, Haskell, возможно Scala (хотя надеюсь, что нет). PHP и ASP.NET сразу закапывайте, Java просто не люблю (личная неприязнь).

Фронтэнд

Если мы говорим о логике на клиентской стороне, то JavaScript не так уж плох для использования в небольших проектах. К сожалению, нередки случаи, когда вся основная логика веб-приложения сконцентрирована на клиентской стороне, а бекэнд используется как интерфейс к БД. В таком случае конечно же JS — полный отстой, непригодный к нормальной жизни. Во-первых, работает медленно (и не нужно мне рассказывать про всякие V8), во-вторых, код на нём зачастую представляет собой фабрику костылей, в-третьих, что может быть хуже, чем слабая динамическая типизация? Предлагаю на его замену что-то вроде TypeScript, который хоть немного, но лучше. Однако не идеально, конечно же, потому что он транслируется в тот же JS и выполняется тем же движком. «Всё прогнило, всю систему нужно менять».

Если мы говорим о языке разметки, то хуже связки HTML+CSS сложно себе что-то представить. HTML изначально задумывался как язык для вёрстки текста и, возможно, некоторых графических элементов + возможность делать гиперссылки. Сейчас же на нём пытаются делать всё, вплоть до повторения десктопных приложений, что неописуемо ужасно. CSS задумывался как возможность по-быстрому поменять, грубо говоря, цвет для нескольких элементов одновременно, сейчас превратился в какую-то магию, сакральные знания в которой (поддержка в разных браузерах, различные хаки и трюки) передаются из уст в устра. Половина тегов HTML давно не используется, вместо этого имеем нагромождение div-ов с невменяемыми айдишками и классами, а сверху на всё это хорошенько намазано джаваскриптом. При этом никогда не знаешь, что и где на самом деле описано. HTML собирается темплейтными движками из кусков, в которых, в свою очередь, могут быть описаны свои стили и свои скрипты + пачка стилей и скриптов в отдельных файлах. Ну вы знаете, короче. Всё это разрастается как снежный ком, который не сможет катиться бесконечно, поверьте. Все адекватные конторы, которые пытались делать мобильные приложения на HTML, вовремя одумались и переписали на нативный код.

Итак, что предлагаю на замену.
На замену предлагаю язык QML, который, во-первых, имеет чёткую структуру компонентов, во-вторых, декларативный и с поддержкой binding-ов из коробки (модная сейчас «реактивность», которую кое-как пытается эмулировать тот же AngularJS), стейты, анимации, вот это вот всё, в-третьих, логику в нём можно писать на том же JavaScript (хотя это не совсем плюс).

К сожалению, на данный момент QML не имеет ничего общего с вебом, зато позволяет писать кроссплатформенные приложения под все основные десктопные и мобильные платформы. При этом под низом у него С++, а рендерится всё через OpenGL. Были попытки сделать генерацию HTML из QML, но я считаю такой подхой в корне не верным. Вместо этого нужно менять браузеры, особенно учитывая, что HTML легко встраивается внутрь QML.

Вот в таком будущем я бы пожил :) Кто-то хочет принять участие в создании оного? )

Не-не-не. Вы пишите именно про ваше желаемое будущее, а автор топика спрашивал про реальное. Лучше опишите свое худшее видение веба — оно к реальности будет гораздо ближе.

Давайте я начну.
Начался 2017 год, и вот какое будущее нас ожидает:

HTML8 станет не только языком разметки, но и программирования(!) Будут теги для переменных, if-ов, циклов и классов. Чем-то отдаленно будет напоминать JSP и JSTL.

В CSS6 наконец-то появится поддержка JavaScript, но в отличии от JavaScript 7, там не будет поддержки лямбда-выражений. CSS будет генерироваться на сервере и отдаваться на клиент посредством JSONCSS.

JavaScript 7 будет поддерживать многопоточность. Но многопоточность будет не классическая, а прототипная. Зато появится возможность исполнять SQL в регулярных вырожениях. Массивы данных, правда, каждый раз перед выполнением запрса, придется сериализовать в строку, а после — десериализовать обратно в JS-объкты. Но Google заявляет, что его новый V9 ускоряет эту операцию на 50% и это не предел!

К сожалению, это похоже на реальное развитие событий, хоть и не в такие маленькие сроки.

HTML8 станет не только языком разметки, но и программирования(!) Будут теги для переменных, if-ов, циклов и классов. Чем-то отдаленно будет напоминать JSP и JSTL.
встречайте, ColdFusion — rosettacode.org/...Beer#ColdFusion

срочно ударте это лопатой и больше не откапывайте

кстати, а почему?
вполне в духе того, что просил автор — программировать тегами

плюс, насколько я заметил, неплохой из него «визуал бейсик» выходит: «взрослые дядьки» пишут компоненты (теги), которые потом могут использовать остальные дизайнеры

превентивно пока не укусило
худший оплот индусятины со времен VB 6

Это всё мило, но когда я попробовал найти туториал по XSLT, то оказалось, что нормальных нет.

Не знаю, что в Вашем понимании нормальные туторы, но они есть. А вообще надо книги читать.

Странно, лет 5 назад вполне достаточно было информации по XSLT, причём на русском языке. Да и сейчас вроде ничего никуда не делось

новый V9
V9 точно не будет. V10 или V12 =)

И всё это должно будет работать в IE9...

+100500 за QML
Але мені здається, подібну штуку можна реалізувать навіть на ES6.

Проблема не столько в языке, сколько в платформе, на которой он выполняется.

ИМХО, позиции JavaScript усиливаются. Если, как ожидается, в 2015 браузеры массово внедрят поддержку JavaScript 6 (ECMAScript 6), то сложные приложения писать на JS станет гораздо легче.

Влед за JavaScript 6 появится новое поколение JS-фреймворков, и весь фронтенд будет писаться только на JS. На смену JSP и GWT придут AngularJS и другие JS-фреймворки. Затем будет наступление на серверную часть, я не удевлюсь, если JS6 даже PHP вытеснит.

Если, как ожидается, в 2015 браузеры массово внедрят поддержку JavaScript 6 (ECMAScript 6), то сложные приложения писать на JS станет гораздо легче.
ECMAScript 6 уже сейчас почти полностью компилируем в «старый» JavaScript, который работает во всех браузерах

Java тоже компилируется в JS, как и TypeScript и еще куча всего, но это не то.

Почему не то?

На мой взгляд, самая значимая фича ECMAScript 6 — это генераторы, которые, в сочетании с промисами позволяют писать асинхронные код в синхронном стиле. Просто ради нее можно заморочиться и настроить более сложный процес сборки.

Генераторы для этих целей приспособили использовать в качестве хака.
Я больше жду async\await из ES7 в этом контексте. Сейчас уже возможно использовать через транспайлеры эту фичу, но опять же, в кишочках там хак на промисах и генераторах.

ты пишешь свой код, а обработкой промиса занимается фреймворк/библиотека. в чем хак?

Я про использование генераторов для управления control flow.
Сами генераторы\итераторы предназначались для генерирования потоков данных изначально, просто их «приспособляют» для управления выполнением в «глобальном» смысле, хотя для этого уже «изобрели» промисы.

В любом случае, хотелось бы верить, что генераторы + промисы это как переходный этап к «плоскому» коду на async\await
jakearchibald.com/...sync-functions тут вот магия, которая вызывает дополнительную нагрузку на мозг появляется с функцией spawn()

Собственно, если пользовать Traceur \ 6to5( github.com/...ator/issues/100 ) то можно уже сегодня радоваться async\await, что очень приятно :)

просто их «приспособляют» для управления выполнением в «глобальном» смысле, хотя для этого уже «изобрели» промисы.

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

Конечно, промисы для этого и создавались и видимо они с нами надолго.
async\await также по сути дополнение к промисам и не более, чтобы упростить и «выпрямить» код. Я же изначально высказывал претензию именно сования генераторов куда они не предназначались :)

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

var content = yield httpGet(url);

В C# ситуация была другая.
yield return не возвращает никакого значения в функцию генерации, из-за чего код, использующий yield return для асинхронности, выглядел очень вырвиглазно, и пришлось прикручивать async/await.

На мой взляд, в ES6 все уже достаточно хорошо чтоб писать сейчас, а не ждать ES7

Вы намекаете на то, что в ES7 могут не благословить асинхронные функции(их уже можно использовать через regenerator)? Да, есть такой риск, пожалуй.

Я скорее намекаю, что нет смысла ждать ES7, если все, что нужно, уже сделано в ES6.

Если запилят async/await, хорошо, так как, судя по всему, с ним не нужно будет оборачивать функцию в Q.async или что там в других фреймворках используется, но это уже будет не киллер фича

думаю, си еще пару лет будет актуален, скрипт победит его) или при думают, что то попроще. Которое не конфликтирует само с собой

Я думаю скрипт ждет судьба PHP

т.е. он вполне себе будет жить) (пхп же жив — composer (вполне добротный пакетный менеджер, который наверное ничем не хуже ПМ для других языков), Laravel, Symphony, Wordpress, Magento, Prestashop, и еще туева хуча менее известных и популярных CMSин и фреймворков на пыхе). Ну и плюс на гитхабе видел еще какой-то диалект лиспа, писаный на пыхе (кажись для версии PHP 5.5 и выше), так что ПХП жив курилка и пока умирать не собирается вроде. Другое дело насколько пыха реально популярна и как оно будет популярна лет через пять — это уже другой вопрос. ;)

C когда-то был прям уж актуальным в веб-разработке?

нет, но на его основе создат скрипт.

Извиняюсь, но вы вообще свой коммент читали? Там написано, что какой-то скрипт (не знаю о чем вы, ибо большинство языков в вебе — скриптовые) в ближайшее время одержит победу над си. Если предположить, что вы говорили о C и Javascript, то через пару лет мы сможем лицезреть драйвера на джаваскрипте, так? Но при чем здесь веб?

в дальнейшем, веб это будет классная бд. храняшяя себе всю инфу о нас) кгб станет не нужно

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

Если предположить, что вы говорили о C и Javascript, то через пару лет мы сможем лицезреть драйвера на джаваскрипте, так?
Такой сценарий не стоит исключать

Драйвера на ангуляре )

Шутки шутками, но, например, 25-долларовый Chromecast программируется на Javascript/HTML/CSS, это, конечно, не драйверы, но уже ближе к ембедед.

Да, пока не стал популярным Perl, а за ним PHP.


#include <stdio.h>
int main(void) {
  printf("Content-Type: text/plain;charset=us-ascii\n\n");
  printf("Hello, world!\n\n");
  return 0;
}

Основная проблема (если не считать ручное управление памятью) была в медленности CGI.

Ага, интересно, на каком языке лучше всего делать версию Web программы Дом-3D

Ни на каком. Десктоп рулит, учитывая что десктопному приложению ничего не мешает общаться с интернет-сервисами так же, как это делает браузер.

Спасибо за ответ. В некотором роде, да.
Но,я подумал, что Web приложение проще сделать для разных платформ.

С нормальным UX и без потери функционала — не проще.

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

НУ будет квантово-сингулярный гавнокод, и кодеры которые его делают, делов то.

вот все таки не могу я лиспы серьезно воспринимать как промышленные языки почему то

Типу забагато матана для формошльопання? :-)

Дело на в матене, дело в том что он не нужен (к сожалению).

ECMA Script вообще и JavaScript в частности. Потому, что есть и на фронте и на бэке. Потому, что быстрее уже только компилируемые языки. Потому, что есть сообщество. Потому, что низкий порог вхождения. Потому, что стандиартизируется консорциумом а не закрытой группой. Потому, что мультипарадигменный. Потому, что всё — объект (и даже небо, и даже аллах).

Не всё объект, типы-примитивы — не объекты, и возможно аллах тоже, но тут я уже не уверен))

На любой примитив найдётся соответствующий объект (кроме null)

Забыл самое главное: если в JS поделить на ноль, то ответом будет Infinity! Кто ещё так умеет?

10 будет. и если ты это знаешь, с этим проблем не будет. а вот если в строго типизированном языке такое сделать, что будет?

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

правильно, не конкурент, как верно и обратное. Речь только о том, что будет. В джс будет приведение типов. абсолютно предсказуемое и это гуд.

абсолютно предсказуемое

На чем висите? О_о

Не забываем про undefined)

Вообще, я как python разработчик, поначалу был в тихом шоке от дизайна JS... Хотя разобравшись конечно понял почему так происходит, но всё же после python’a мягко говоря непривычно было:
> []+[]
’’
> []-[]
0
> []*{}
NaN
> []*[]
0
> 1 + {}
’1[object Object]’
> typeof(1 + {})
’string’
> 1 / 0
Infinity
> 0 / 0
NaN

А ведь в python это будет старый добрый интуитивно-понятный и желанный TypeError)

undefined — это глобальная переменная, ей даже можо безнаказанно попытаться присвоить другое значение. Значение скорее всего не присвоится (ибо она non-writable), но и эксепшен (как например с null) не выпадет.

Угу, слегка загадочная штука этот undefined)

Нужно просто понять, что это отдельный тип с одним значением, не имеющим (в отличии от null) литерала для явного присваивания.

Если интересуетесь еще нюансами в JS, рекомендую пройти этот тест javascript-puzzlers.herokuapp.com (ответы с объяснениями)

(3.1415).toFixed(2) — все очень даже объекты. за исключением null, undefined и NAN, правда typeof null — ’object’. Но это уже совсем другая история

Из вышеперечисленных настоящий примитив только null. NaN это число :) Про undefined я комментом выше ответил.

NaN это число
а переводится как Not a Number xD

Нет, вы не внимательно разбирались, примитивы — не объекты! А в вашем примере происходит просто автоматическое оборачивание примитива в объект. Такой вот он хитрый JS.
Пример:
> var x = ’anything’
> x
’anything’
> x.prop = ’asd’
> x.prop // а ведь будь он объектом было бы!
undefined
А вот настоящий объект:
> var x = new String(’asd’)
> x
{ ’0′: ’a’,
’1′: ’s’,
’2′: ’d’ }
> x.prop = 12
> x.prop
12

А вообще за ответом рекомендую сюда, открывает глаза))
habrahabr.ru/post/150730

(3.1415).toFixed(2) — все очень даже объекты
Интерпретатор создает временную обертку, не более же, ну.

для фронта согласен, но для бэка нода, возможно пока, сильно уступает конкурентам

Низкий порог вхождения в JS?! Это Вы всерьёз или так плохо шутите?

А как Вы бы распределили популярные сегодня языки по уровню порога вхождения?

Есть ассемблер/brainfuck и все остальные. Да, я утверждаю что у всех языков одинаковый порог вхождения.

Разрешите поинтересоваться, то-есть даже если, грубо говоря, взять строго типизированный язык, по типу С (где нужно явно задавать не только тип, но и в некоторых случаях размер переменной) и тот же JS (где на предыдущие аспекты, опять же — грубо говоря — наплевать)?
Категорически не согласен. Хотя и строго субективно.

Полному нолю будет абсолютно одинаково, так как у него не сформировались никакие привычки, связанные с типизацией. Раньше для JS нужно было больше внимательности и самоконтроля, но в настоящее время IDE умеют тыкать в типичные ошибки прямо в процессе написания кода.
При наличии опыта со слабой типизацией — будет чуть-чуть сложнее перейти на строгую, но только первое время.
Есть более важный момент, чем типизация: это количество и удобство готовых библиотек и фреймворков. Но для всех популярных языков уже всего достаточно много.

Отлично, тогда есть еще один далеко не маловажный фактор — простота обращения с языком. Я имею в виду удобство написания и запуск своего «первого» приложения. В JS для этого нужен только блокнот и браузер, которые есть в любой существующей ОС, в то время, как для других языков требуется как минимум наличие компилятора. Если же взять к примеру юникс, в котором «из коробки» уже есть встроенный компилятор, для запуска всё-равно требуется знание некоторых консольных команд.
В JS же — написал, сохранил, запустил.

Разговор, к-стати, и начался с «полного нуля», по-скольку обговаривался «низкий порог вхождения», котороый и являет собой «простоту начала», пускай даже — разучивания языка, игнорируя иглубление в подробности и всякого рода — библиотеки.

В JS для этого нужен только блокнот и браузер, которые есть в любой существующей ОС
Это на Hello World только. Но hello world никому не нужны и дальше придётся и IDE поставить, и основы html изучить, и на сервер научиться заливать результаты. И толк с такого вхождения?

Зашел на cloud 9, создал новый проект на nodejs, запустил, уже можно смотреть на результат. Даже устанавливать ничего не нужно. Куда уж проще?

И? И что создал? И чем сложнее другие языки?

В жабе, например, нужно поставить стопицот компонентов, IDE, настраивать переменные окружения, я бы сказал что это сложнее

Вы сравниваете хелло ворлд на node со сложной программой на Java, судя по всему.

Окей, есть у Вас любая операционка, а в ней любой браузер. Напишите мне server-side приложение на JS без лишних телодвижений.

1) Причому тут «любой браузер» до «напишите server-side приложение»?
2) Ми все ще про Hello World? Та будь ласка: console.log('Hello world');

Ми все ще про Hello World? Та будь ласка: console.log(’Hello world’);
От малалетние хипстеры. Правильно так:
alert('Hello world');
От малалетние хипстеры.
Грубості на ДОУ... дожились
Правильно так:
Читайте уважніше:
Напишите мне server-side приложение
console.log(’Hello world’);

ага, а то что это в интернет иксплодере по умолчанию не работает — никого не колышит, ога...

Вже хрен знає скільки років працює. Хіба що ви ще сидите на допотопних Windows XP.

Я просто провожу параллели. Выше было заявлено, что для написания чего-либо на JavaScript не нужно поднимать среду, ибо браузер есть в любой операционке. В противовес была представлена Java EE, для которой нужно переменные окружения и т.п. настраивать. Вот я и подумал, что сравниваются равноценные вещи (ибо ведь иначе смысла сравнивать нет). А Вы начинаете сразу «причём тут».

Ну питання в мене досить конкретне було, а не щоб потролити — я не зрозумів, до чого «браузер» до «напишіть server-side аплікуху». Все ж залежить від того, що конкретно вимагається. В Java ж теж, думаю, не всі апішки шаряться між допустим сервером і мобільною аплікухою.

заходишь из браузера на сайт на cloud 9 и прямо в браузере у тебя появляется IDE, возможность запускать nodejs приложение прямо из браузера, отладчик и т.п.

Уж лучше так, чем с ходу привыкнуть к хорошему, а потом не раздуплять, как без всяких npm’ов, grunt’ов и т.д. библиотеку добавить.

В языке С типизация статическая, но слабая.

В JS очень низкий порог вхождения. Примитивные программы можно научиться писать за день-два.

Чтобы писать программы средней сложности надо:
1) С++ — 1 год
2) Java — 3 месяца
3) JS — 1 месяц

В JS очень низкий порог вхождения. Примитивные программы можно научиться писать за день-два.
В C++ очень низкий порог вхождения. Примитивные программы можно научиться писать за день-два
В Java очень низкий порог вхождения. Примитивные программы можно научиться писать за день-два
Такие утверждения только вредят развитию отрасли и способствуют холиварам. Именно из-за умников с низким порогом вхождения на всех языках написано невероятное количество говнокода.
Да, я утверждаю что у всех языков одинаковый порог вхождения.
Вот это — глупость.

Доказательство:
Понятность любого языка можно ухудшить в разы, просто добавив глупые правила и/или нестандартное поведение. Получившийся язык будет понять сложнее, чем оригинальный, значит время затраченное на его освоение будет выше. Следовательно не все языки одинаковые. ЧТД.

Учи матчасть, школота :)

Учи матчасть, школота :)
Маме своей грубить будешь

что такое

программы средней сложности
?

После этой ссылки я пообещал себе, что всем, кто утверждает, якобы JS проще, чем C++, я буду с ходу бить е**ло учебником по JS.

«Сложность» — понятие довольно разтяжимое.

Низкий порог вхождения в JS?! Это Вы всерьёз или так плохо шутите?
Конечно. Напороться на замыкание или hoisting, не имея даже понятия о том, что это такое, после чего кричать: «в джаваскрипте баги, ко-ко-ко» — это же просто :)

да что вы, какие баги? особенности!
грабли, впопыхах заботливо расставленные за 10 дней, но с цветными ручками

Scala — язык будущего. На мой взгляд самое удачное сочетание функциональной и ООП парадигмы. Сложен, но чертовски красив, выразителен и элегантен. Каждый раз облизываюсь на Scala код и каждый раз обещаю себе начать его изучать :-)

Интересно как выживают скала программисты занимающиеся мейнтененсом свалок гавнокода по пару миллионов строк.

Тем что вы описали занимаются к сожалению Java, C# и PHP разработчики, т.е. мэйнстримные и очень boilerplate-ные языки. Под языком будущего я понимаю элегантные решения в минимуме строк кода что-то похожее на Grails, хотя Grails строго говоря не язык, а платформа, когда вам на один контроллер — одну команду, а не 100500 низкоуровневых выкрутасов. Для меня существующая брешь в высокоуровневости Java это образно как вручную пихать данные в регистры процессора или ставить флаги на шину данных или шину адреса процессора.
Ну и мэйтенанс миллионных свалок — не то будущее, в котором я бы хотел очутиться.

Это голословные утверждения, практика (benchmarksgame.alioth.debian.org/...ava&lang2=scala) показывает что код на скала не намного короче джавовского, зато из-за обилия фич намного сложнее.

Хм, ну не знаю, я пока недостаточно углубился в Scala чтобы успеть разочароваться. А вы какой язык считаете для будущего?

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

Разумно, посмотрю на Kotlin тоже.

Но думаю что котлин и экстенд не завоюют индустрию, поэтому прийдется жить с джава.
От тут бы самое место для груви, но что-то он как-то стартовал с косяками. Такой себе полукровка Джава-Руби — приятнее чем джава, проще чем руби.
UPD. Но, наверное, такая формулировка — это не очень круто, поэтому вся хопстота лезет в скалу.
Джава-Руби — приятнее чем джава, проще чем руби.

Python?
Прям вся ветка о нем...

И что?
В python3 есть проверка типов.

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

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

а еще от чтения исходников некоторых библиотек замечательно кровоточат глаза
у нас у городе на скале пишет аж одна контора. на jug я уже шутил что народ начнет учить скалу как появится вторая. Их CTO поржал а потом посмотрел в зал глазами старого бассета — без всякой надежды.

Мы же говорим про язык будущего. По прогнозам население Земли к 2050 составит 10 млрд человек. А кодовая база вырастет в тысячи, а может и миллионы раз. Даже индусов не хватит на сапорт не миллионов как сейчас, а триллионов строк кода в 2050 году. Поэтому и нужно нечто, где мало строк кода при том же функционале, пусть и сложнее. Я так мыслю.

как раз будет чем занять сильные AI

Так из этих 10 млрд 7-8млрд возможно будут индусами.

Не все программисты одинаково полезны. Усложнение кода приведет к уменьшению количества тех, кто его читает или к уменьшению скорости чтения.

>>Поэтому и нужно нечто, где мало строк кода при том же функционале, пусть и сложнее.

Ровно наоборот, при экспоненциальном росте количества проектов и линейном — потенциальных программистов, во главу угла ставится простота как чтения, так и написания: пускай 100 строк, но написанных за час, а не 10 строк с той же функциональностью, но написанных за 2 часа.

То, что Scala — это язык будущего для веб-программирования, насколько же равновероятно, как то, что этим языком является С++.

Сложен, но чертовски красив, выразителен и элегантен. Каждый раз облизываюсь на Scala код и каждый раз обещаю себе начать его изучать :-)

это как я облизываюсь на синтаксис (а также фитчи) Clojure и некоторых других лисповых языков в послежнее время (например, на Scheme). Особюенно учитывая, что кложура есть как для джавамашины, так и для дот.нета (clojureCLR), так и для джаваскрипта (в виде кложурскрипта). :)

Хотя пока приодится юзать пхп и питон (хотя питон мне в принципе тоже нра) по причине недостаточного знания (пока еще) и недостаточной популярности лиспов.

Clojure? Это ж чистая функциональщина/ На Scala хоть ООП есть и после Java переехать проще вроде. А на современный аналог Lisp-а мне например непонятно как и самое главное где применить? Scala совместно с Java довольно часто используется.

ну по-большому счету счас во всех современных языках есть как ООП, так и функциональщина — просто одни языки более заточены под ООП, другие — под функциональщину. Есть конечно чистокровная фкункциональщина (хаскель и ему подобные), чистые ООП (например, руби, смолтолк), чистые логические (пролог), но большинство вроде все-таки мультипарадигмальные. Так что тут, ИМХО, дело сугубо вкуса (на чем писать и в каком стиле). Да и на кложуре думаю, если хорошо ее знать, то вполне можно писать и в ООП-стиле (конечно это будет не совсем ООП, а некоторое подобие, но все же) — это же лисповый диалект (а лисп — мультипарадигмальный, на самом деле), хотя она и заточена под функциональный стиль.

Нет исключений, дженериков, странноватые колекции как на мой вкус.

Нет исключений
Є, звуться panic`ами.
дженериков
Штука класна, але не критична, як показала практика.
Є, звуться panic`ами.
И че, стандартная библиотека их не использует, и везде нужно все равно проверять ретурн коды.
Штука класна, але не критична, як показала практика.
Для гавнокодинга много чего не критично.
И че, стандартная библиотека их не использует, и везде нужно все равно проверять ретурн коды.
Бо вони користуються, лише для критичних випадків, коли «все пропало, розмотуємо стек, хутко».
Тут ще нюанс, що будь-яку функцію на го можна запустить в окремий «потік». А як ви будете ловить ексепшни в такому випадку? Одразу кидать в stderr? Воно ж загадить вам його ексепшнами, які за задумкою мали ловитись.
Для гавнокодинга много чего не критично.
Сішні програмісти дивляться на це твердження з посмішкою.
Бо вони користуються, лише для критичних випадків, коли “все пропало, розмотуємо стек, хутко”.
Как будто от этого легче.

Тут ще нюанс, що будь-яку функцію на го можна запустить в окремий “потік”. А як ви будете ловить ексепшни в такому випадку? Одразу кидать в stderr? Воно ж загадить вам його ексепшнами, які за задумкою мали ловитись.
В джавке тоже можно запустить код в отдельном потоке, и код может кинуть ексепшн, при этом этот эксепшн пробрасывается при вызове Future.get().
Сішні програмісти дивляться на це твердження з посмішкою.
Им некогда, заняты поиском мемори ликов и неудачных кастов.

Ну — у них они хотя бы в собственном коде, как правило.

Вы пытались нагуглить документацию по этому языку?)

golang.org/doc
перше посилання в гуглі. was it so hard?

Так). Просто є такий популярний жарт про те, що наступну свою мову програмування Google назве To, бо Go занадто легко ґуґлиться.

Подведу небольшой итог прочтенного, думаю лишним не будет.
1. Большинство (по моему мнению) за Ruby (подразумеваются фреймворки) и Java. Так как Джава код является фактически валидным RoR кодом (я же не ошибся?), то можно считать, что часть джава программеры перетянут одеяло в сторону Руби
2. Java все же мало применим для стартапов из-за отсутствия дешевого размещения
3. PHP жив и будет жить, все же большая часть веба на нем. Разместить сайт на пхп стоит копейки. Применим для сайтов любых размеров (при наличии прямых рук и некоторой пляски с бубном)
4. .Net применим как от стартапов так и до больших проектов
5. Серверный JavaScript интересен, но, опять же по моему мнению, применим только в определенном круге задач. Но здесь на лицо экономия на персонале — можно посадить хорошего JavaScriptтера на клиентскую и серверную часть

6. Phyton был, есть и будет, но не думаю что будет применен массово

В общем:
1. Многие переходят на фреймворки, так как хотят экономить время

2. MVC воскрес через 30 лет и становится популярным

>

Джава код является фактически валидным RoR кодом (я же не ошибся?),

0.о вы что клей нюхаете?

Но здесь на лицо экономия на персонале — можно посадить хорошего JavaScriptтера на клиентскую и серверную часть

— боюсь вы не видели серверный жабаскрипт. типичный js програмист вряли будет в состоянии ЭТО писать.

Java все же мало применим для стартапов из-за отсутствия дешевого размещения

— господи свой сервер стоит копейки- если у вас нет таких денег- какие стартапы ????

ммм, что такое Фитон??? :)
Очепятался)))
0.о вы что клей нюхаете?
Иногда
— боюсь вы не видели серверный жабаскрипт. типичный js програмист вряли будет в состоянии ЭТО писать.
Не видел, но думаю что s программист быстрее разберется чем, скажем ПХПшник
— господи свой сервер стоит копейки- если у вас нет таких денег- какие стартапы ????
круто! Копейки это сколько? 2000 у.е.? 3000 у.е.? или мы возьмем в качестве сервера домашнюю машину на кор дуо с 2 гб оперативы? Вы такими серверами пользуетесь? А размещение сервера считали? это от 500 грн в месяц. постоянных расходов. А учтем офис компании, зп сотрудников. А теперь еще одно вспомним — сколько стоит хороший джава програмист? 2000 у.е? 3000 у.е? то-то же

сервер — амазон например- оплата по нагрузке....
500 гр в месяц тоже не выглядят большой суммой если чесно
особенно на фоне остального

а пхп шников вы что нормальных дешевле найдете? кто адекватный уже давно за 2500 получает

хорошую цену за пхп программера поставили. давно на рынке таких не встречал

ориентируюсь по знакомым, вполне живые люди а не экспонаты красной книги )

А адекватных вообще тяжело встретить — редкий вид...

Навскидку jobs.dou.ua/...acancies/14140

В принципе, процентов 15-20 рекрутеров, присылающих вакансии, продолжают общение после стандартной отписки «меньше 3000 нет смысла что-то обсуждать». И это с Elementary English.

500 грн/мес это 30$ при том что один девелопер не джун стоит от 1000$/мес

6. Phyton был, есть и будет, но не думаю что будет применен массово

ммм, что такое Фитон??? :)

Это аналог Питона, только не животное, а растение ))))

так это на нем был написан гербалайф!

наверное поэтому у Гербалайфа так плохо дела идут....

Извините за поздний вброс, просто не мог долго успокоится после прочтения сего (пацталом и все такое).

Просто выскажу свое мнение:

Если мы говорим про веб, давайте определимся что есть «язык для веба»? Очевидный ответ будет HTML, кто-то еще добавит- «будущее за HTML5».

Ho похоже автор считает что веб — это все что «не десктоп» (тоесть к нему применимы абсолютно все языки программирования) и поэтому пытается устроить, так сказать холивар, (1й признак троля), что есть не очень хорошо на столь уважаемом сайте. Так вот, уважаемый автор, что есть «веб» в Вашем понимании?

Ну из языков будущего, это скорее к Ruby — в будущем появятся его сверхбыстрые реализации, а то нынешние пока конечно, сакс.

Из языков будущенастоящего, верю в РНР ибо несмотря на всё, оно развивается, дышит, швелится, появляется полноценный GC, namespaces, скоро миксины добавят. Становится похожим на нормальные языки программирования, а учитывая, что такие совершенно студенческие поделки как вконтактик и фейсбучек были написаны, именно на нем, он доказывает свою работоспособность под нагрузкой с правильными руками.

Но всё, конечно, зависит от целей проекта. Если нужно писать ТОЛЬКО для веб, то .NET это излишество. Ruby or PHP намного мощнее в этом плане.

скоро миксины добавят
о чем речь?
разве trait’ам не 5 лет в обед?
или там что-то свежее(но зачем?) подкатывает?
Интересно, это ж все бэкэнды... javascript!
А еще интересно, какая разница — последовательность остается такой же:
1. Понял что надо делать
2. Выбрал инструмент

3. Делаем то что нужно, либо мясобойню с вращающимися ножами — от этого пока еще ни один rails не спас

По всей видимости, бэкэнды будут использовать языки высокого уровня, но какие? — определяют не сами языки, а скорее фреймворки на подобие pyramid, symphony, rails, .net — именно их развитие и будет рулить вэбом ближайшие годы.

Ждем пока html5+css3 станет мэйнстримом. Лучшее что можно сделать — использовать их уже сегодня ( ща засрут легаси и шестым иксплорером, знаю...)

Враховуючи що все хардваре пішло по дорозі мульти-ядерності, наберуть популярності забуті функціональні мови: Scala, Clojure, F#, Lisp, Schema і т.п.

Скорее больше функциональшины будет появляться в популярных языках, лямбды, вывод типов ...

О, моя любимая тема!
Функциональные шашечки — это круто в руках человека который умеет с ними обращаться, но таких людей мало. Зато много «малолетних псевдоджедаев».

Часто слышу про не умение пользоваться функциональными штуками. Однако 100% С# ников уже лет так 6 пишут LINQ выражения без особых проблем.

Однако 100% С# ников уже лет так 6 пишут LINQ выражения без особых проблем.
Угу, где-то 5-6 лет назад я помогал найти «С# никам» с чего бы это их код начал тормозить, оказалось что в зависимости от какой-то мути ЛИНК-выражение преобразовывается или в нормальный код, или же (в их случае) в какие-то мутны циклы, которые постоянно копируют объекты на каждый чих. Но уверен что это был последний случай в истории.

Хз что у Вас там было, чтото высоко-нагруженное?

Хз что у Вас там было, чтото высоко-нагруженное?
Не у нас, а у них. И не особо-то и нагруженное, если нечем заняться можете посмотреть старые комменты на форуме, я описывал более подробно (пока еще помнил в чем именно была проблема).

хоть примерно, в какой теме? мне тоже любопытно

хоть примерно, в какой теме? мне тоже любопытно
Еще до редизайна форума. :)
Кратко, описал выше, у них там в дотрете есть помимо _Enumerable_ (или типа того) есть еще что-то там и вот для доставания (итерации) из результата ЛИНК-запроса сущностей оно постоянно (на каждой итерации) копировало все элементы (или типа того) для того чтобы работал _foreach_.

По всей видимости речь о Entity Framework и Lazy Loady для Navigation Properties. Типичная ошибка описанная в любом мануале по ef

Більш того, в Hibernate схожий підхід.
От только базы вроде как и не было :) Просто большие коллекции.

не зовсім ясно про що йде мова, але тут або про Lazy loading (що вже зовсім якось просто), або Linq state machine — компілятор автоматом генерить купу коду для зручності, і це фіча :) Якщо вона є bottleneck, то можна фічею не користуватися, ось і все

www.developerfusion.com/...state-machines

Побуду кепом: потрібно знати свій інструмент. Це стосується будь-якої платформи чи мови :)

Побуду кепом: подробно знати свій інструмент.
Кэп, почитай с чего началось обсуждение :)

вау, вона взагалі почалася ще в 2011му. В даному випадку я «чукча-нє-чітатєль» :)

Пора сторювати блог «Граді Буч пазваніт».
Там можна розказати як провідні програмісти і стартапери з сайту developers.org.ua в камєнтах форума вершать майбутнє технологій, вирішують яка платформа найбільш правильна.

При цьому провідні програмісти і стартапери звісно розбираються у всіх цих технологіях та дають дуже об’єктивні оцінки. І ні в якому разі не піарять єдину мову, в якій розбираються, і якою написали стандартний демо апп на попередніх вихідних.

воистину, так ведь оно и есть! :-D между тем, ни у кого не возникает основополагающего замечания: а давайте определимся в понятиях. «Будущее», «ВЕБ в будущем», «язык будущего».

«я щитаю — Джава», «а я щитаю — дотнет» и пошло поехало

Все зависит от нас, коллеги. На чем захотим специализироваться, та технология и останется.
Пример из жизни...
У нас в был мощный комунити джавистов и J2EE — рулил. В сложный час для компании и страны джависты покинули наше учреждение в поисках хлеба. Осталась маленькая группка дотнетчиков. И не поверите, .NET — базовая технология и самая лучшая)))
Как говорил один исторический персонаж: «кадры решают все».

Не сдержался и вписался в эту тооолстую темку;)

я и правда не подумал ... надо было подбросить на вентилятор- что бы молодеж стремилась в дотнет

тогда у нас бы слой масла стал бы еще толще )))

история из жизни. раньше работал на гала.нет (где то до средины кризиса, сейчас проект вообще продали и.юа). Сидела группа разработчиков на пхп. Пришел новый тех директор, переучил всех на RoR. В итоге получили не ускорение разработки, а замедление так как люди были не в теме. Итог — если у вас сидят спецы на пхп — пишите на пхп, не изобретайте велосипед.

Итог должен быть таким: для перехода на другую платформу должны быть веские основания, прежде всего экономические, а не просто стремление «быть в тренде»

Самая большая динамика у JavaScript. Вероятно, есть смысл и на сервере и на клиенте использовать один язык. Посмотрим за развитием этого дела.

серверный джава весьма полезен но в ограниченной области применений. Очень полезен при разработке риалтайм решений, типа чата.

да v8 здорово взбодрило JS

я вот уже начал по немногу щупать что получилось- выглядит многообещающе

похвально))

что-то из этого получится, наверно.

Lucene в своё время тоже встретили скептически.

«поисковая машина на Джаве?-хаха», а потом заценили.

хотел написать что-то вроде «уже последние несколько лет популярен», а потом посмотрел на дату поста

что-то из этого получится, наверно.
получается, что получилось :)
UML
все остальное должно генериться по схемам UML.

Нажал кнопу — и система генерации кода сгенериа С# код или Java :-)

например, QBE типа, как в MS Access ?

на практике, для продакшена такое не прокатывает.

кропотливая, ручная работа и отладка — наше всё.

Думаю будущее за «облаками», популярным станут платформы приложений типа google app engine,что касается языка то думаю python.

год назад говорили что будущее — за виртуализацией, теперь за облаками. все равно будущее за dedicated :)

Хм... А Вы не думаете, что виртуализация подросла, окрепла и сейчас это полноценные облака?

полноценные облака

станут тогда, когда это будет не просто удалённое надёжное хранилище или удалённый пункт вычислений.

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

я сам иногда не знаю что мне понадобиться завтра,а если об этом будут знать облака так это вообще фантастика

я сам иногда не знаю что мне понадобиться завтра

Ну так Гугла подскажет. Хомячки не ошибаются.

А то как у Владимира Высоцкого: «А я не знаю, с кем я завтре выпью...»

Облачко хранит Ваши данные.

Если у вас каталог духов, будем посмотреть, что хомячки заказывали с духами. Синергия, блин.

Приходишь, включаешь ноут, а он и говорит: папаня, подари Людке Шанель № 5, а то к Ваське уйдёт.Вот и вся фантастика.

Вы как-то забываете, что под GAE кроме пайтона доступна и джава .) Так что там еще придется побороться.

Джава не будет языком для веб, слишком толсто,а пайтон самое то, хотя может быть гугл решит сделать свой язык супер пупер и тогда мы увидим еще и goo

питон пока слишком медленно. разве что питон в JVM :)

да забыл php ,ruby быстрее пайтона))

ruby быстрее python? Если сравнивать 1.9 и 2.5 — наверное. Давайте сравним 1.9 с его современником — 3.х веткой? .)

шутил я)),например django считаеться самым быстрым фраймевоком

Ой нет, джанго жуткий тормоз же. Flask гораздо шустрее.

ну кстати, не смешно, есть же jython. Да и с ценой на железо + неблокирующий код — ну не знаю, по-моему тут есть где развернуться.

я именно jython и имел в виду) вполне преспективная игрушка

JVM пока самая крутая виртуальная машина- и грех этим не пользоватся

Джава уже закрепился в вебе, даже со своей толщиной

зайдите на биржи и поищите проекты сделай мне сайтик на джаве, их нет или единицы.У джавы ниша ентерпрайз

да не ужели?

Почти весь банковский и биржевой софт в Лондоне крутится на Java.

Например Лондонская фондовая биржа перешла на Java с .Net(из криворукости индуских дотнетчиков нужно полагать :-) )

скандинавия тоже вся на j2ee в банковском секторе

Тема топика «Какой язык программинга для веб Вы считаете языком будущего?»,банковский софт это не веб,это внутренняя инфраструктура со своими выделенными каналами,серверами и т.д.,хотя и онлайн клиент банки и можно отнести к веб

А веб это не будущее. В одном крупном банке трудится программистов больше, чем в тысяче супер-крутых веб-стартапов.

.У джавы ниша ентерпрайз
Почти весь банковский и биржевой софт в Лондоне крутится на Java.
хотели опровергнуть и случайно подтвердили?
или для вас «банковский и биржевой софт» — недостаточно «ентерпрайз»?

«Очень легко масштабируется» — а можно в этом месте поподробнее, неужто .NET научился как BEAM расбрасывать задачи между узлами автоматом? Насчет «легко пишется» — очень субьективно, вряд ли это можно как аргумент рассматривать. Что стоит за двумя последними пунктами вообще непонятно.

Вы мыслите как типичный красноглазый программист, на уровне технических задач. Пора уже научится мыслить более высокими категориями управления. В настоящее время человеческий фактор куда более важен, чем техническая платформа, поэтому масштабирование важно именно на этом уровне, на уровне персонала. И здесь у ASP.NET и других языках этой платформы нет конкурентов!

Ого, пошла жара, я смотрю:

человеческий фактор куда более важен, чем техническая платформа
и далее
у ASP.NET и других языках этой платформы нет конкурентов!
Вы бы это, определились уже. Но в общем — продолжайте в том же духе, оскорбляйте оппонентов, принижайте их интеллектуальный уровень — это вас только красит!

человеческий фактор куда более важен, чем техническая платформа

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

Насчет «легко пишется» — очень субьективно

Ну врятле найдутся люди которые скажут что фреймворки не экономят время.

а какие технологии кроме Asp.Net вы еще знаете? В мире Java продобные аспнеут технологии появились раньше , да и PHP не стоит сбрасывать со счетов.

JEE, Python

А теперь давайте поговорим о качестве программистов и админов (я в свое время так и не смог найди хорошего виндового админа)

@Струдомпрасцал Вашапраграм
я смешал и веб и не веб для драматизма )
Ок раскажите мне о преимуществах ASP.NET MVC на high load проектах
ну вот например у вас 200 апликейшен серверов. Во сколько мне обойдется только операционка с iis для такого инстала?

что там такого из будущего? не MVC ли которое мне ровесник?

MVC — это шаблон. Хоть свой на PHP реализовывайте

>

подход будущего
его в 79 году придумали
вам не кажется что это странное будущее?

Ruby тоже давно придумали, но он реинкарнировался в виде Ruby on Rails. Phyton тоже не продукт 21-го века.

РоР — это просто фреймворк, а не реинкарнация Руби

Судя по тому, что Ruby используют практически только в рельсах — можно считать реинкарнацией =)

Еще видел хорошее применение Руби в качестве написания плагинов к софту (Google Sketchup, например), а больше таких очень популярных применений не вижу.

MVC ровесник почти всем кто на этом форуме. и здесь не в возрасте дело. Ruby тоже ровесник большинству.

например у вас 200 апликейшен серверов

когда в нас будет 200 апликейшин серверов нас абсолютно не будет харить стоимость винды. Тем более что Майкрософт весьма лояльна в ценовой политике для таких проектов.
Преимущества на хай лоад:
1. Компилированый код (поможет сэкономить 30% из тех 200 апп серверов)
2. Возможность писать на разных языках программинга (вход для широкого круга программистов)
3. Возможность применять почти любые технологии (nHibernate и тд...)
4. Возможность программировать быстро (очень важно в хай лоадах)

5. MVC в принцыпе правильный подход к программированию так как разделяет логику работы с данными и интерпретацию данных в виде готовой страницы в вебе

Ruby тоже ровесник большинству.
Вы хотите сказать, что большинство народу на этом форуме — пятнадцатилетние школьники?

А разве это не так, судя по интересу к ерунде вроде питона и руби. Взрослый, опытный программист не будет разбрасываться на модные языке, а будет оттачивать своё мастерство в том, что действительно пригодно к использованию в промышленном программировании: Java, C#, Forth, ASP.NET.

Same shit 15 years ago:

А разве это не так, судя по интересу к ерунде вроде C++ и Java. Взрослый, опытный программист не будет разбрасываться на модные языке, а будет оттачивать своё мастерство в том, что действительно пригодно к использованию в промышленном программировании: Smalltalk, Common Lisp, Forth, Perl.

Залихватски троллим, однако!

Так вот почему в детстве меня заставляли учить smalltalk :)

Не стоит передёргивать: Java и C++ никогда не были «модными языками» — они создавались с прицелом не промышленное применение, настоящими инженерами, людьми, которые создавали большие и сложные системы, а не работниками НИИ. Традиции этих языков следуют и языки платформы .NET — создаваемые работающими инженерами для инженеров.

а чем вам Bell Labs не НИИ? а Страуструп или, например, Степанов (который STL), не ученые ботаны. Какой нибудь Erlang намного более «промышленный»

Ну ты тооооолстый же.
Давай может еще на REXX или MUMPS писать, тоже ведь настоящими (а бывают поддельные?) инженерами для инженеров, с прицелом на промышленное (это когда для станков пишешь, а код лопатой в печку бросаешь?) применение.

С++, точно также как и Java, а потом и Ruby, и Python пережили свои моменты популярности, но ты же такой зеленый, что об этом забыл упомянуть.

Кушай, не обляпайся.

Не скажу за C++ и за сейчас, но в конце 90-х Java точно была именно модным языком.

Мені 27, пишу на Рубі. Не треба всіх під одну планку ...

ІМХО Твітер достатньо «інтерпрайзний», щоб показати що не всі «серйозні» проекти пишуться на Java i C#.

+1, насколько я помню, YouTube написан на Python + C

Ага, Forth особенно ))) Хочу увидеть фреймворк для Веб-проектов на Forth!

Хотя... примитивный Веб-сервер таки сподобились на Форте наваять: A Web-Server in Forth

Форс — это ж стековый ембедед вроде, зачем ему веб сервер ;-)

Что-то я сильно сомневаюсь, что там будет юзаться Forth

Я тоже, но если есть желание извратиться...

1. facebook’у никто не мешает конвертировать php в С++ и затем компилить :D
2. для программиста высокого уровня( а других к хайлоаду возможно лучше и не подпускать) не составит труда быстро освоить любой язык программирования и технологию
3. тоже самое можно сказать и о РНР, насчёт Python не знаю
4. на многих языках можно писать быстро, фреймвоки делают своё дело. но всё же почему это так важно в хайлоадах? на мой взгляд важнее писать аккуратно и безопасно:)
5. парадигма MVC отлично реализована в php/python/ruby

Прям так легко компилиться пхп:
1. Пишем на пхп
2. Делаем из него С++
3. Компилим

И сколько рядовых программеров юзают такую схему?..

на рядовых сайтах рнр не будет узким местом, есть ли смысл его компилить?

у меня не было необходимости пользоваться такой схемой, но теперь возможно попробую теста ради

zephir же!
малой кровью(PHP-like синтаксис) пишем критичный к скорости код и компилим его в расширение для Апача, ха ха ха(это я про использование «апач» и «highl oad» в пределах одного поста)
или Falcon юзаем — компилируемый фреймворк.
так что, да, легко компилится.
и нет, на самом деле, это сделать довольно просто.

Тока там компилится намного более ограниченный пхп, по сравнению с тем что юзает вася пупкин пхпист.

1 вранье ) рhp тоже компилируют для апликейшенов если вы не в курсе.
2 на JVM больше выбор
3 любые клоны java библиотек, ооок.
4 ересь. Там надо писать тщательно а не быстро
5 а что вы скажете о event driven web servers? не правильный подход? Страницы в вебе my ass...

когда в нас будет 200 апликейшин серверов нас абсолютно не будет харить стоимость винды. Тем более что Майкрософт весьма лояльна в ценовой политике для таких проектов.
Та да, вас будет беспокоить стоимость лицензий скл сервера и как его распарралелить. Знаю один сайтег, не успевший слезть с оракла, так они при выручке в 30-40 млн.,5-10 млн. отваливают ораклю за лицензии для ДБ кластера.
5-10 млн. — не верю.

Но с ораклей на веб переть — как-то не гламурно)

А скл сервер чем принципиально лучше?

$12K на CPU + $10-20K точно не помню за кластеризацию и выбрав еще пару опций легко перевалим цифру в $100K на одном сервере. Цены на БД типа оракла или мс скл могут неприятно удивить даже видавших виды

5-10 млн. — не верю.

Это скорее всего с железками.

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

1. Компилированый код (поможет сэкономить 30% из тех 200 апп серверов)
Хелло Джвава
2. Возможность писать на разных языках программинга (вход для широкого круга программистов)
Де-факто один С№ остальное — это только слова.
3. Возможность применять почти любые технологии (nHibernate и тд...)
Например, те которые заточены под юниксы, или просто более дружелюбны под юниксами.
4. Возможность программировать быстро (очень важно в хай лоадах)
С какого это перепугу?! Для хайлоада надо писать хороший код, а не «программировать быстро»
5. MVC в принцыпе правильный подход к программированию так как разделяет логику работы с данными и интерпретацию данных в виде готовой страницы в вебе
Не поспоришь. Только MVC — это подход который не особо зависит от платформы.
Одноклассники — отличный пример успешного хайлоада на ASP.NET!

Покажите хотя бы один проект на «новомодных» руби или питоне такого уровня. Одни студенческие поделки.

ещё один хороший пример проекта на .NET — Stack Overflow
на руби сделан twitter, много известных крупных проектов написаны на рнр
не уверен где конкретно, но python используется в google, может кто-нибудь напишет подробней?

т.к. RoR оказался не пригоден к масштабированию такого размера

Twitter’s developers have started replacing Ruby daemon servers with Scala alternatives, and plan eventually to serve API requests, which comprise the majority of their traffic, with Scala instead of Ruby

да фронтенд остался на руби — но факт остается фактом

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

прочитал раньше на том же www.insight-it.ru

спасибо за поправку:)

была еще интересная история о переходе plurc с nodejs на кастомный сервер на java

В общем серебряных пуль как не было так и нет

github тоже использует RoR, не смогу подкрепить пруфлинком, но в репе unicorn в качестве примера конфига используется гитхабовское приложение. Собственно нашел, github.com/...log/517-unicorn

А яндекс на ерланге :)

В твиттере, вроде, просто была какя-то приблуда написана на скале, а все остальное до недавнего времени на РоР, хотя сейчас часть переехала на джаву

ай як негарно кидати лінки в холіварну тему і надіятися що осліплені фанатизмом жавери правильно прочитають навіть доволі простий текст :)

Так а що там читати, we launched a replacement for our Ruby-on-Rails front-end: a Java server we call Blender.

ой там стаття велика

якщо навіть тех лід лохіки не зміг осилити то що хотіти від простих смертних жаверів? =)

Вони замінили свій север на самописний на Java, і що тут не так?

все так з кількома коментами які різко міняють сенс написаного:

1. вони замінили тільки фронтенд пошуку, все решта і далі на рельсах

2. заміна фреймворку самописним сервером завжди покращить перфоманс — це не від жави залежало. в архітектурі твіттера просто багато жави і відповідно багато жаверів — вибір логічний

Решта і так не повністю на рельсах (

в архітектурі твіттера просто багато жав

). І цей крок може бути ознакою повного відходу від рельсів.

та ні, це був крок не від рельсів а від мусклі — використати люсін для пошуку — правильний крок, ми теж його зробили :)

ну а далі понеслося — хадупи касандри ітд ітп — з кожним використаним проектом кількість жаверів тільки зростала

все решта і далі на рельсах

Backend начали переводить на Scala ещё в 2008 году.

Ну ты расскажи всем, что же там написано? Или ты про параграф “Blender deployment and future work”? Так там явно написано “‘‘In the next phase of our deploy, we will eliminate Ruby on Rails entirely from the search stack, connecting users directly to Blender and potentially reducing latencies even further.’’”

Если верить самим Одноклассникам, то Вы ошибаетесь))

Код написан на Java. Есть исключения — некоторые модули для кеширования данных написаны на C и C++.
habrahabr.ru/...ki/blog/115881

Ошибся, перепутал с StackExchange Network — www.insight-it.ru/...change-network . Тоже, согласитесь, немаленькая аудитория.

Да и в одноклассниках промышленные инструменты применяют, а не детские игрушки.

Хотя и за трендами не следят, видимо.

одноклассники так же отличный пример юзабилити. кстати, обратите внимание на сколько чаще используется asp.net по сравнению с другими «новомодными не промышенными языками» в высоконагруженных системах www.insight-it.ru/highload

MVC паттерн может и ваш ровесник, a MVC фреймворк от мелко-мягких появился пару лет назад. MVC легче чем WebForms, на проектах с высокой нашгрузкой он на порядок быстрее при использовании тех же самых сервисных/DAL методов/ Все-таки вею формы с их жизненным циклом лучше подходят для intranet решений

Автор хотел сказать ASP.NET MVC? Тут может даже, не язык будущего, а подход будущего — использовать MVC, чтобы полностью контролировать генеримую разметку страницы, х.з. Мне лично web forms чего-то пока хватает :)

Похоже, DmitryK перепутал веб, и не-веб приложения

да, популат, хотел написать ASP.NET MVC :)

С форм начал спрыгивать где то год назад, постепенно ухожу в MVC.

1. windows only

2. не работает на самых популярных смартфонных платформах

3. убог в веб разработке

4. убог в enterprise

...FAIL

1. windows only

Есть хоть какое-то, но Mono.

4. убог в enterprise

Если можно, то два-три слова, для раскрытия.

Какая альтернатива?

Товарищи, проснитесь! Какая винда, какое mono? Речь идет о сборке, находящейся на веб-сервере (IIS), генерящей HTML разметку! :)
Аналог ПЭХАПЭ, только с использованием модели данных, представления отображения и контроллера, всем этим управляющим, на стороне сервера! Ну и контроллеру посылаются команды от распарсенной URL строки :)

Эмм... а IIS, на чем будет работать?

Я так понимаю, что DmitriyK, хотел сказать, что разворачивание ASP.NET приложение влечёт за собой финансовые расходы на закупку ОС под сервер на которой можно развернуть web-сервер, а я как бы оппонирую и намекаю, что мол, для Mono приложений, можно использовать бесплатный apache, который можно развернуть на бесплатном Linux.

только проблема джава в том что его нереально развернуть на обычном хостинге :)

обычный хостинг это шаред хостинг за $2 ?:)

так он ни на что не годится в любом маломальски нагруженом случае

А мы обсуждаем нагруженные сервисы только? Вопрос стоит в языке будущего и в первую очередь должна быть возможность разместить сайт за 2 у.е.

OMFG
да никому это не надо
нужна возможность работать в амазоноподобном окружении или клауде или на выделенном сервере

а проблемы 2х баксовых хостингов- это проблемы их владельцев и больше никого не шатают

Виндовый VDS можно взять если не за 2 доллара, то за 5 евро в месяц точно (пускай и в два раза меньше ресурсов чем на линуксовом или фряшном за такую цену).

J2EE
ее реально много в интерпрайзе. Не просто много — а МНОГО.
В скандинавии например .net вообще эпизодически встречается- все банковские продукты — J2EE
Полное отсутсвие альтернативных MS провайдеров продуктов -просто убивает net как интерпрайз платформу. Сколько MQ решений для Java и сколько для .net сравните например . Или ESB....

Подписаться на комментарии