НовостиОбзорыСобытияIT@WorkРеклама
Идеи и практики автоматизации:

Блог

Про языки программирования и среды разработки

Что происходит в этой сфере? Версия Technology Radar от экспертов Thought Works.

[spoiler]
Начало тут

Зрелось языка Clojure уже не вызывает сомнений, и примерно на этот же уровень вышла Scala. Её удобство - возможность использования «по кусочкам», если какие-то функциональные возможности не устраивают, или потенциально опасны для начинающего разработчика, их можно отключить.
Рекомендованы Java-фреймворк Dropwizard для разработки нагрузочных REST-сервисов http://dropwizard.codahale.com/ , и забавный DSL-язык http://www.sinatrarb.com/ для скоростного создания веб-приложений на Ruby.

Приближаются к пику популярности CofeeScript (расширение JavaScript, компилирующееся в родной JavaScript) и язык Go, активно поддерживаемый Google.
Хранилище Hive -- надстройка над Hadoop для SQL-запросов, оценена Thought Works весьма позитивно, непонятно, правда, почему не упоминается схожая Impala.

http://www.playframework.com/ -- неоднозначная среда разработки на Java и Scala могла попасть как в разряд лучших, так и в никудышные. У неё есть как сильные, так и слабые стороны, и многое зависит от того, как эта система будет развиваться далее.

Технологии Reactive Programming, базирующиеся на модели потоков данных и mutable-переменных, меняющихся со временем, особо полезна, понятно, при разработке крупных асинхронных систем. Microsoft уже выпустила опенсорсные Reactive Extensions (единый интерфейс для обработки потоков данных из различных источников, http://www.pcweek.ru/foss/article/detail.php?ID=144265 ),
и интерес к этому подходу заметно ширится: за последний год появились Reactive Cocoa library для Objective C, Java-порт Reactive Extensions, библиотека React JavaScript, язык Elm на основе Haskell и Flapjax JavaScript и др.

Безусловно, заслуживают внимания и Microsoft Web API 2 -- .NET REST API + ASP.NET.

На что стоит обратить внимание:
Elixir -- функциональный язык программирования на базе виртуальной машины Erlang с мощной системой макрорасширений, позволяющей создавать оригинальные DSL-языки.

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

Python 3 -- мощная версия популярнейшего языка, но увы, слабовато совместимая с Pytnon 2.x. Тренд на упрощение потребовал исключения двусмысленных фич, но если планируется новый проект, лучше сразу начинать на Python 3.

TypeScript от Microsoft, в отличие от концептуально схожего CofeeScript, попал однако в группу неоднозначных технологий. Многие возможности этого JS-суперсета смотрятся нецелостно, а главное, они и так будут включены в новые стандарты JavaScript.

Похоронена популярная некогда Java-технология построения UI для веб-приложений JavaServer Faces. Подавляющее число коллективов, пытавшихся задействовать JSF просто потому, что это стандарт J2EE, столкнулись с морем проблем. Ущербность JSF в том, что она пытается абстрагироваться от HTML/CSS/HTTP, но как раз в направлении сближения с веб-реальностью движутся сегодня технологии веб-разработки (в частности, конкурирующая ASP.NET). Так, провалились попытки реализовать statefulness поверх stateless-протокола HTTP, и хотя в JSF 2.0 появились заметные улучшения, сама модель фундаментально порочна. Разработчикам рекомендуется использовать более лёгкие фреймворки, работающие напрямую с HTML и HTTP. При этом абсолютной глупостью эксперты считают сегодня ручное кодирование стилей CSS.
Ruslan
То что здесь расписали в основном веб- и нет-траш
а натив где был там и остался и сидит намертво: Си, Паскакаль, Ада

С вебом понятно - тут своя ниша, WebGL упомянуть забыли  хороший такой примерчик http://media.tojicode.com/q3bsp/
Всякие НЕТомерки ну наверное вымрут с десктопов так же как ява (без винды они ничто, несмотря на всякие mono)
Скрипто-копалки ну так, поиграться для юзверов, пусть вообразят себя крутыми программерами


Сергей Бобровский
Ну да, это текущие тренды. Может, какие-нибудь из них и станут мэйнстримом.