Существует ли канонический учебник или книга по концепциям функционального программирования? [закрыто]

22

Исходя из процедурного / OO программирования, я склонен писать программы на Scheme процедурным способом. Я был бы заинтересован в изучении Scheme или Lisp функциональным способом с нуля, чтобы как бы сбросить сознание моего программиста.

Существует ли учебное пособие или книга, являющаяся стандартом де-факто для описания лучших практик, методологий проектирования и другой полезной информации о концепциях функционального программирования? Что из этой книги делает ее особенной?

Федерико Клез Каллока
источник
Я бы начал с ccs.neu.edu/home/matthias/BTLS. Функциональное программирование больше похоже на чистую математику, чем на ОО-программирование. Если вы думаете об этом таким образом, это может помочь.
Брайан Макин
Если вы предпочитаете слушать чтение, в SICP также есть видео лекции . Я сейчас на лекции 6б. :)
Dysaster
Проверьте Land of Lisp и выполните все упражнения.
Сардатрион - Восстановить Монику

Ответы:

14

Используй это.

Если вы ежедневно занимаетесь функциональным программированием, может быть, небольшими приложениями или упражнениями из книг, тогда вам это будет лучше.

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

Если вы ищете хорошую книгу, я рекомендовал бы реальный мир Функциональное программирование: С примерами в F # и C # по Tomas Petricek и Джон тарелочкам

Jonas
источник
1
Книгу можно проверить и здесь
Гульшан
11

Книга, которую я всегда вижу рекомендованной, когда говорю о Scheme или Lisp, называется «Структура и интерпретация компьютерных программ» . Он свободно доступен на этом веб-сайте, и я думаю, что он предоставляется в формате PDF, если вы ищете вокруг.

Я хотел проработать это, но я не уверен, когда у меня будет время. Однако я не могу комментировать, насколько хороша эта книга. Но это было рекомендовано несколькими людьми, поэтому я думаю, это довольно хорошо.

Если вас интересуют другие функциональные языки программирования, мне сказали, что довольно легко выполнять упражнения на таких языках, как Haskell или F #. Я думаю, что есть также блоггер, который работает через SICP, используя Haskell и публикует свои решения для упражнений, но сейчас я не могу найти ссылку.

Томас Оуэнс
источник
Кто такой Билл Ящер billthelizard.com за 500, пожалуйста. Хотя я думаю, что он использует схему.
Брайан Р. Бонди
Да, я согласен с тем, что SICP - отличная книга для изучения FP на Схеме. Если вы не состоите в браке со Scheme, но хотели бы изучать Haskell, тогда Real World Haskell также отлично подходит для чтения.
Магнус
+1 за SICP. Я работал над некоторыми его частями с Clojure, до тех пор, пока вы готовы немного заняться умственной гимнастикой, я думаю, что это сработает для любого языка, похожего на Лисп или функционального.
Микера
2
Также есть Как разрабатывать программы , которые были специально разработаны для устранения некоторых недостатков в SICP, которые изложены в очень доступной и умно названной статье «Структура и интерпретация учебной программы по информатике» .
Jörg W Mittag
-2

Попробуйте выучить математику и адаптироваться к ее стилю. Какие функции? Что такое переменная? Чем переменные отличаются от констант и как они не отличаются?

Antsan
источник
Это на самом деле не отвечает на вопрос, который больше о том, где найти ответы на вопросы, которые вы предоставляете.
Матье