[Продолжаем перевод][1] эссе и книги Пола Грэма «Хакеры и Художники». Недавно на Хабре промелькивала статья [«Нам нужны не столь мощные языки программирования»][2] с «откровенями 60х годов». Чтобы самому разобраться в этом вопросе, нужно понять, что такое «мощность», про это Грэм рассказывает в конце главы. Так же в статье Грэм поднимает вопрос столкновения интересов крутых программистов и посредственных начальников в выборе языка программирования. Я задал пару вопросов специалистам компании [Edison][3]: _ — Как вы поступаете, если заказчик требует написать что-то на одном языке, а вы рекомендуете для пользы дела другой язык?_ — Мы предлагаем заказчику использование того или иного языка и фреймворка исходя из целесообразности для проекта. Если по той или иной причине заказчик, выслушав наши доводы, настаивает на решении задачи на каком-то другом языке или платформе, то мы считаем это частью постановки задачи и решаем её именно так. _ — «Невежественный начальник» vs «отличный программист» — как у вас решается подобный вопрос?_ — Это вопрос ответственности. Долг программиста — продумать и донести до начальника технически лучшее решение, но если начальник по той или иной причине всё равно настаивает на своей точке зрения, то хороший программист, как и любой подчинённый, должен послушаться, а не доказывать с пеной у рта свою правоту и саботировать работу. Ответственность за решение в этом случае лежит на начальнике.
----
> _«Мы гонялись за С++ программистами. Нам удалось перетащить их целую кучу на полпути к Lisp.» Гай Стил, соавтор Java спецификации._
![][4] Оригинал — [Revenge of the Nerds][5], Май 2002 _За перевод спасибо Щёкотовой Яне._ Начало: [Пол Грэм: «Месть ботанов», часть 1][6] Продолжение: [Пол Грэм: «Месть ботанов», часть 2][7]
#### Часть третья
**Центростремительные силы** Я и не утверждаю, что при использовании нестандартных технологий не требуется никаких затрат. Не такими уж беспочвенными оказались опасения нашего начальника-профана. Но без осознания всех рисков он склонен к их преувеличению. Мне на ум приходят три проблемы, которые могут возникнуть при использовании менее популярных языков программирования. Ваши программы могут некорректно работать с программами, написанными на других языках. В вашем распоряжении может быть гораздо меньше различных библиотек. Вы также столкнетесь с трудностями при найме программистов. Насколько страшна каждая из перечисленных проблем? Важность первой варьируется в зависимости от того, есть ли у вас контроль над всей системой. Если вы создаете ПО, которое будет запускаться на удаленной пользовательской машине, управляющей кадиллаком, на закрытой операционной системе (не буду приводить названия), то, возможно, есть преимущества в том, чтобы писать свое приложение на том же языке, на котором написана сама ОС. Но, если вы держите под контролем всю систему и владеете исходными кодами всех ее частей, как, вероятно, в случае с ITA, то вы можете использовать любой язык, какой захотите. При возникновении несовместимости, вы можете самостоятельно это исправить. [Читать дальше →][8]
[1]:
http://habrahabr.ru/company/tceh/blog/253311/
[2]:
http://habrahabr.ru/company/mailru/blog/271585/
[3]:
http://www.edsd.ru/
[4]:
https://habrastorage.org/files/a54/154/f22/a54154f22387402bbe1d011a1856dd9f.jpg
[5]:
http://www.paulgraham.com/icad.html
[6]:
http://habrahabr.ru/post/267865/
[7]:
http://habrahabr.ru/company/edison/blog/268293/
[8]:
http://habrahabr.ru/post/271103/#habracut