Джо Армстронг об инструментах разработчика

в 16:59, , рубрики: инструменты разработчика, мозг, Программирование, языки программирования

Недавно на Erlang-mail листе проскочил следующий вопрос:

Тулы, которые у нас есть для разработки на Erlang — просто мусор! Я прошу прощения, но сейчас 2014-ый, а мы все еще используем Vim и Makefile'ы. Да, есть Rebar. Но по сравнению с Maven, Gradle (или даже SBT) это студенческая поделка, которую кто-то выложил на GitHub. Про плагины для Eclipse и Intellij я вообще молчу. Они просто не работают. Поэтому я всегда возвращаюсь к Vim. Я просто хочу писать код, который решает мою задачу а не думать о том как написать Makefile со всеми зависимостями.


Ответ Джо Армстронга, автора языка Erlang:

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

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

Есть два тип программистов. Одни пишут 10 строк в день и уверенно двигаются к конечному продукту. Другие — пишут 100 или даже 1000 строк в день но топчутся на месте. Они никода не получат продукт, потому-что не понимают какую задачу решают. Они пишут тонны кода, чтобы это понять. Это создает иллюзию занятости и неплохо оплачивается.

Самая большая проблема в программировании это четкое понимание задачи, которую вы решаете. Тулы, которые у нас есть сейчас, ничем не лучше тех что были 40 лет назад. Мой мозг все еще лучше отлаживает код, чем самый навороченый отладчик. Я понятия не имею как это работает, но когда долго думаешь над задачей и ложишься спать — утром ты проснешься с решением. И это намного круче чем любая супер-современная IDE.

Я предпочитаю думать о том, как на самом деле работает мое приложение, а не о том, как работает Eclipse. Редактирование кода — это не проблема. Меня вполне устраивает Emacs или даже ручка с бумагой, которые, в отличее от Eclipse, всегда можно взять с собой.

Я трачу 65% времени на то, чтобы разобраться почему не работает тот или иной тул. Каждый раз, появляются какие-то проблемы и мне постоянно приходится их исправлять. Тулы абсолютно бесполезны, когда они сломаны.

Проблема не в самих тулах, а в том, что когда они сломаны, все время уходит на то чтобы их починить. Поэтому я стараюсь использовать только самый минимальный и простой набор. Emacs, make и bash — все что мне нужно.

Я помню времена, когда программисты отлично понимали друг друга. Каждый, кто умел программировать — знал как написать Makefile и bash скрипт. Сейчас же, человек который ничего не видел кроме Java и Maven входит в ступор, когда ему присылают Rake-файл.

Автор: spiff

Источник

Поделиться