[#] [Перевод] Письмо Дейкстры: почему обучение программированию нужно начинать с функционального языка
habrabot(difrex,1) — All
2015-01-27 12:00:03


![][1] Недавний [перевод][2] статьи «Пора заменить Python как язык для обучения» спровоцировал большую дискуссию. Очевидно, что программисты считают эту тему очень важной. К сожалению, большинство споров были об императивных языках, и мало кто предлагал функциональные языки в качестве инструмента обучения программированию. Мы в Хекслете недавно запустили [новую версию][3], ключевой особенностью которой стали практические упражнения по программированию в браузере. В связи с этим мы стали получать еще больше писем от начинающих программистов с вопросами вроде «с чего начать». С одной стороны, они хотят выложить бета-версию приложения в app store через неделю. С другой стороны, мы понимаем, что за такой короткий срок, наверное, можно научиться кодить приложения, но нельзя научиться программировать. И сложно решить, что лучше: как можно быстрее научить созданию простых приложений без реального понимания программирования, алгоритмов и их вычислительной сложности, а потом начать знакомство с этими важными темами, или начать «с начала», и органично придти к созданию приложений и продуктов после освоения фундамента. В 2001 году, [Эдсгер Дейкстра][4] написал письмо экономическому совету университета Техаса. В нем знаменитый ученый призывает членов совета задуматься о смене языка программирования для вводного курса. К сожалению, язык [был заменен][5] на Java. Примерно в то же время MIT сменили язык курса «Структура и интерпретация компьютерных программ» с функционального Scheme (диалекта LISP) на Python. Сегодня мы публикуем перевод этого письма.

#### Членам Экономического Совета

Я пишу вам по поводу слуха о замене языка во вводном курсе по программированию с функционального языка Haskell на императивный язык Java. Я считаю, что Совет должен взять на себя ответственность, чтобы решение не было принято на неправильном уровне. [Читать дальше →][6]

[1]: //habrastorage.org/files/247/58a/748/24758a748ccd4084a2d0ebbf9bd7c68e.jpg
[2]: http://habrahabr.ru/company/hexlet/blog/248397/
[3]: https://hexlet.io
[4]: https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%B9%D0%BA%D1%81%D1%82%D1%80%D0%B0,_%D0%AD%D0%B4%D1%81%D0%B3%D0%B5%D1%80_%D0%92%D0%B8%D0%B1%D0%B5
[5]: http://www.cs.utexas.edu/undergraduate-program/courses/312-introduction-programming
[6]: http://habrahabr.ru/post/248921/#habracut