Ilya Strukov's site

Языки программирования

2015-03-19

Что лучше, Haskell или Common Lisp? Python или Ruby? C++ или Java? Некоторые программисты не задумываясь дают ответ на подобный вопрос вне зависимости от контекста.

— Конечно, C++/Java/Lisp лучше.
— Всё ещё не пишете на Erlang/Scala/Rust? Ха! Ретрограды!
— Я могу что угодно написать на C, зачем мне другие языки?

Более опытный разработчик скажет, что всё зависит от задачи. Но про себя всё равно подумает «И всё-таки Haskell — лучший».

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

Что толку в монадах, макросах и акторах, если тебе приходится тратить драгоценные часы на то, чтобы просто подключиться к базе данных или научиться парсить JSON? Какой смысл в изящной системе типов если твой коллега не может прочитать твой код?