Ответ 1
The Little Schemer преподает рекурсию очень хорошо, и это интересно и просто читать.
Мне также понравился Язык программирования схем для более широкого ознакомления с языком.
Мне нравится изучать языки за пределами моей зоны комфорта, но мне было трудно найти место для функциональных языков. Я слышал много хорошего о Структура и интерпретации компьютерных программ, но когда я попытался прочитать это пару лет назад, это просто показалось свистнуть над моей головой. Я лучше делаю книги, чем веб-сайты, но когда я нахожусь в местном книжном магазине, книги на LISP выглядят страшно.
Итак, какая хорошая отправная точка? Моя цель - использовать функциональный язык программирования для решения простых проблем через 6 месяцев или около того, а также возможность перехода на более сложные темы, узнайте, когда функциональный язык является правильным инструментом для работы, и используйте язык для решить больше проблем в течение 2-3 лет. Мне нравятся книги, которые тяжелы на примерах, но также включают проблемы для работы. Существует ли такая вещь для функциональных языков?
The Little Schemer преподает рекурсию очень хорошо, и это интересно и просто читать.
Мне также понравился Язык программирования схем для более широкого ознакомления с языком.
Попробуйте Real World Haskell. Это бесплатно онлайн.
SICP - отличная книга.
Это, наверное, мое предубеждение, но я подумал, что окамл довольно легко попасть. У вас есть возможность программирования в нескольких разных стилях, пока вы не будете полностью комфортными. Я разместил кучу ссылок на Haskell и Ocaml ссылки, которые являются книгами с примерами и т.д., Которые кажутся прямо вверх по вашей аллее.
Если вы предпочитаете Lisp, вы можете попробовать использовать 99-проблемы в Lisp (что вы можете сделать в любой язык, действительно), или вы можете смотреть лекции от людей, которые написали SICP.
Далее по дороге возьмите " чисто функциональные структуры данных", так как он войдет в глубокую глубину дизайн и соображения, которые вы должны учитывать в функциональных языках, - это использование ML (из которого производится ocaml).
Я действительно рекомендую "На Lisp" от Пола Грэма.
Это краткое и очень читаемое даже для новичков в функциональном программировании (как было, когда я его читал). Он содержит много очень коротких примеров, каждый из которых помогает понять одну вещь.
Я часто думал, что читаю эту книгу: это всего лишь язык, содержащий именно те функции, которые я когда-либо хотел на других (нефункциональных) языках, но так и не получил.:-( И это как раз книга, чтобы узнать ее, всегда понятной, иногда даже забавной!
Вы можете получить его бесплатно на сайте автора!
Мне очень нравится Thompsons "Haskell: Craft функционального программирования", потому что его хорошо написано, и Haskell позволяет легче начинать, чем другие функциональные языки, будучи полностью чистыми (в отличие от Lisp или схемы).
Поскольку существует множество различных языков функционального программирования, трудно рекомендовать книги. Но если вас интересует Common Lisp, недавно я читал "Практический общий Lisp" Питер Сейбель, который вы может проверить онлайн бесплатно, прежде чем сбросить свои с трудом заработанные деньги на нем. Это довольно мягкое введение в CL, с большими объяснениями и множеством примеров. Сейбел великий писатель (пример: прочитайте историю Mac,) он хорошо держит вас в сексе, что на самом деле там, где SICP падает, я думаю, Это просто так сухо! Но в то время как Practical Common Lisp довольно тяжелый, на самом деле у него нет проблем для работы, хотя примеры в основном предназначены для того, чтобы вы продолжали работать и строили на них.
Другая хорошая книга, эта схема ориентирована: Как создавать программы. (Интернет) У меня не было так много времени с этой книгой, что я был больше Lisper, чем сам Schemer, но он хорошо написан, имеет хорошие объяснения и примеры и имеет множество упражнений для работы. Это кажется довольно популярным в толпе Scheme.
Руководство Schemers и соответствующее программное обеспечение - очень хороший материал
Ознакомьтесь с Введение в функциональное программирование. Он предлагает другую перспективу.
Я нашел The Little Schemer - отличное введение в функциональное программирование. Это полностью основано на простых примерах размера укуса, которые основаны на книге.
Я узнал из Jeffrey Ullman Elements of ML Programming, что довольно хорошо. Он теряет баллы за то, что он относится к стандарту ML, когда OCaml, F # и Haskell (по-видимому) более популярны.
Я считаю, что чисто функциональные структуры данных Криса Окасаки заслуживают внимания.
Haskell - очень хороший функциональный язык программирования для начинающих. Кто-то спросил о хороших ресурсах для Haskell, поэтому я укажу вам там.
Если вы ищете хорошую книгу по функциональному программированию, я бы рекомендовал Брюс Дж. Макленнан "Функциональное программирование: практика и теория".
Тем не менее, вам нужно, чтобы вы набрали свою теорию набора и логику, прежде чем дать ей прочитать. Он включает примеры в LISP, Haskell и других языках.
Если у вас есть опыт работы с .NET, Expert #F хорошо.
F # получен из OCaml. Lisp более чист, так как функциональные языки идут.
Функциональное программирование реального мира (с примерами в F # и С#)
Я слышал хорошие вещи о Функциональное программирование Haskell, но я также нашел это список функциональных книг программирования на амазонке, которые могут быть полезны для вас.