Готовый перевод Let Over Lambda - 50 Years of Lisp / Let Over Lambda - 50 лет Lisp-у: Приложение А - Языки, которые следует изучать
A. 1 Дорога к лиспу.
Эта часть содержит мои очевидно субъективные мысли о том, какими языками стоит поинтересоваться профессиональному лисп программисту. Конечно лучшая причина, по которой стоит изучать другие не-лисп языки, заключается в идеях которые вы можете использовать в ваших лисп программах.
Если вам повезло изучить лисп перед всеми другими языками программирования, поздравляю, вы сделали это быстрее, чем большинство из нас. Если вы только начали изучать лисп, то не расстраивайтесь: вы много не потеряли. Все остальные языки программирования лишь интересные достопримечательности на лучших приятных остановках на дороге программистских знаний: дороге к лиспу. Так как лисп стремится собирать и объединять все ценные программистские идеи, то, как правило, в лиспе они уже существуют. Но иногда лучшие идеи сначала реализуются не в лиспе. Профессиональные макро программисты знают столько языков, сколько возможно. Поскольку вы становитесь лисп программистом, то это значит, что вы должны знать изменение языка. В то время как для большинства программистов знание языка означает запоминание набора синтаксических конструкций, то для лисп программиста знание языка обозначает понимание того, как язык относится к лиспу.
Я думаю, что каждый программист должен исследовать все различны типы языков, хотя бы для того, чтобы корректно объяснить почему лисп делает что-то лучше. Идите вперед, найдите вашу дорогу к лиспу.
A.2 C и Perl
После лиспа C самый важный для изучения язык программирования. C общепринятый язык (lingua franca) программистского сообщества. Если вы не знаете С, то вы не сможете понять большинство интересных программ. C, конечно же, блаб язык, но он кратко специфицированный и хорошо реализованный блаб язык, который заслуживает вашего внимания. C также полезное средство для изучения применения указателей1 и понимания почему разработка языка с учётом возможностей и ограничений компьютера является плохой идеей. Наконец, многие современные блаб языки произошли от C, и поэтому, изучение C означает одновременное изучение многих языков.
1. Хотя форт также хорош или лучше.
После лиспа и C, Perl самый важный для изучения язык не только из-за своей несравненной практичности, но также из-за своей философии. Если мы должны использовать блаб синтаксис - исключая возможность макросов - нам разрешено расширять его настолько насколько это возможно. Давайте включим все возможные удобства и мощные трюки, которые только можно представить. Если лисп результат отказа от синтаксиса, то Perl результат полного применения синтаксиса. Наряду с предлагаемыми удобствами Perl проповедует юниксовую версию очень лисповского принципа: Существует Больше Одного Способа Сделать Это. Языки не должны основываться на стиле, но скорее на мощном множестве примитивов, которые будучи однажды полностью понятыми, собираются вместе чтобы произвести неожиданно удивительный код. Программирование на Perl дарит инстинкт для нахождения и использования программных сокращений. Средний Perl программист лучше осознаёт и понимает пользу такой концепции макросов как анафора, чем средний лисп программист. Хотя Perl и блаб язык, но это красивый блаб язык.
A.3 Лисп инкубаторы.
Форт один из моих любимых языков программирования. Там где C использовал подход построения языка вокруг наименьшего общего знаменателя компьютерной архитектуры, форт использовал подход архитектуры идеальной абстрактной машины вместе с мощной системой мета-программирования, позволяющей программистам чувствовать свободу для творческом реализации на настоящих машинах. Форт способен расширяться различными способами, уступая лишь лиспу. Чарльз Мур, изобретатель Форта, был студентом Джона Маккарти, изобретателя лиспа [EVOLUTION-FORTH-HOPL]. Форт ведет к лиспу.
Smalltalk - это интересный взгляд на то, как должны работать объектные системы. Он достоин изучения хотя бы за его концептуальную важность и богатую историю. Smalltalk может также служить хорошим мягким введением в такие современные объектные системы как CLOS, COMMON LISP Object System, и даже как хорошее введение в то, как правильно делать языки программирования. Smalltalk занимательная и сверкающая остановка на дороге к лиспу. Алан Кэй, изобретатель Smalltalk, говорит, что лисп был одним из главных источников его вдохновения. Smalltalk ведет к лиспу.
Haskell восхитительный инновационный язык программирования, который выражает то, как люди думают о программировании. Не изучать Haskell означает лишить себя определённого количества самых интересных исследований в Блаб языках на сегодняшний день. Но самая главная причина попробовать Haskell - это изучить как маленькие системы со статической типизацией, как ни странно, делают свой вклад в продуктивное программирование - даже такие скромные и расширяемые как Haskell. В частности, если вы доказываете теоремы на монадических типах или исследуете теорию типов категорий, то для вас понравятся затейливые системы типов. Но для подавляющего большинства программирования такие системы типов выглядят хорошо на бумаге, чем на самом деле. Haskell - это огромный успех. Доказано, что статическая типизация является ошибкой. Не считая статическую типизацию и инфиксный синтаксис, Haskell достоин изучения за множество инновационных свойств: изолирование побочных эффектов, ленивое вычисление через редукцию графов, транзакционную память и т.д.
О Форте, Smalltalk, Haskell и многих других языках можно думать как об инкубаторах лиспа. Эксперименты в лисп инкубаторах с программистскими идеями, некоторые из которых становятся достаточно зрелыми для заимствования в лисп макросы. Все дороги ведут к лиспу.
Переведено на Нотабеноиде
http://notabenoid.org/book/40014/286433
Переводчики: Charlz_Klug, alex_fff
Настройки
Готово:
