Зачем Идти? Нужен ли нам другой язык? Один из создателей нового языка Google Go объясняет некоторые внутренние причины изобретения нового языка, включая скуку, вызванную ожиданием компиляции кода.
В настоящее время кажется, что изобрести новый язык слишком легко, и в результате есть много вариантов. Имея лишь небольшое количество языков, которые были «важными», мы теперь имеем достаточно, чтобы сделать вопрос новичка «какой язык я должен выучить/использовать» действительно сложным.
Помимо давних языков меньшинства а, таких как Perl и PHP, теперь у нас есть Python, Ruby, Clojure, Scala, Erlang, F#, Objective C, D и так далее. Этот список не является точным или авторитетным, это просто список языков, которые были доведены до моего сведения из-за книг, новостей или общего интереса.
Никогда еще не было так просто создать язык — инструменты более чем готовы, — но объясняет ли это, почему новые языки растут, как сорняки? Еще одним фактором, вызывающим симпатию, является неудовлетворенность старыми языками. У Информита есть интересное интервью с Робом Пайком, дизайнером языка Google Go.
«Отправной точкой было длительное время компиляции—для некоторых наших крупных программ в Google время сборки может быть неоправданно долгим, даже с нашими большими распределенными кластерами компиляции. Управление зависимостями (или их отсутствие) в C и C++ приводит к тому, что слишком много кода проходит через компилятор.
Можно сказать, что Go был задуман в ожидании большой компиляции.»
Так что Go — это ответ на медленные сборки. (Прочитайте остальную часть интервью: Все системы работают). Кажется, что распространенное мнение о том, что основные языки раздуты, является общепринятым, но есть причины, по которым они «большие», и это закон языков, что новые «маленькие» языки становятся «большими» по мере того, как они наращивают свои функции.
Посмотрите, что вы думаете о новом и старом аргументе, когда смотрите недавнюю презентацию Роба Пайка на ОСКОМЕ.
Новые языки — это весело, но я пришел к выводу, что они отвлекают ценные таланты от реальной работы-приведения языков, которые у нас уже есть, в хорошую форму.