Подтвердить что ты не робот

Какой хороший начальный текст по функциональному программированию?

Мне нравится изучать языки за пределами моей зоны комфорта, но мне было трудно найти место для функциональных языков. Я слышал много хорошего о Структура и интерпретации компьютерных программ, но когда я попытался прочитать это пару лет назад, это просто показалось свистнуть над моей головой. Я лучше делаю книги, чем веб-сайты, но когда я нахожусь в местном книжном магазине, книги на LISP выглядят страшно.

Итак, какая хорошая отправная точка? Моя цель - использовать функциональный язык программирования для решения простых проблем через 6 месяцев или около того, а также возможность перехода на более сложные темы, узнайте, когда функциональный язык является правильным инструментом для работы, и используйте язык для решить больше проблем в течение 2-3 лет. Мне нравятся книги, которые тяжелы на примерах, но также включают проблемы для работы. Существует ли такая вещь для функциональных языков?

4b9b3361

Ответ 2

Попробуйте Real World Haskell. Это бесплатно онлайн.

Ответ 3

SICP - отличная книга.

Это, наверное, мое предубеждение, но я подумал, что окамл довольно легко попасть. У вас есть возможность программирования в нескольких разных стилях, пока вы не будете полностью комфортными. Я разместил кучу ссылок на Haskell и Ocaml ссылки, которые являются книгами с примерами и т.д., Которые кажутся прямо вверх по вашей аллее.

Если вы предпочитаете Lisp, вы можете попробовать использовать 99-проблемы в Lisp (что вы можете сделать в любой язык, действительно), или вы можете смотреть лекции от людей, которые написали SICP.

Далее по дороге возьмите " чисто функциональные структуры данных", так как он войдет в глубокую глубину дизайн и соображения, которые вы должны учитывать в функциональных языках, - это использование ML (из которого производится ocaml).

Ответ 4

Я действительно рекомендую "На Lisp" от Пола Грэма.

Это краткое и очень читаемое даже для новичков в функциональном программировании (как было, когда я его читал). Он содержит много очень коротких примеров, каждый из которых помогает понять одну вещь.

Я часто думал, что читаю эту книгу: это всего лишь язык, содержащий именно те функции, которые я когда-либо хотел на других (нефункциональных) языках, но так и не получил.:-( И это как раз книга, чтобы узнать ее, всегда понятной, иногда даже забавной!

Вы можете получить его бесплатно на сайте автора!

Ответ 5

Мне очень нравится Thompsons "Haskell: Craft функционального программирования", потому что его хорошо написано, и Haskell позволяет легче начинать, чем другие функциональные языки, будучи полностью чистыми (в отличие от Lisp или схемы).

Ответ 6

Поскольку существует множество различных языков функционального программирования, трудно рекомендовать книги. Но если вас интересует Common Lisp, недавно я читал "Практический общий Lisp" Питер Сейбель, который вы может проверить онлайн бесплатно, прежде чем сбросить свои с трудом заработанные деньги на нем. Это довольно мягкое введение в CL, с большими объяснениями и множеством примеров. Сейбел великий писатель (пример: прочитайте историю Mac,) он хорошо держит вас в сексе, что на самом деле там, где SICP падает, я думаю, Это просто так сухо! Но в то время как Practical Common Lisp довольно тяжелый, на самом деле у него нет проблем для работы, хотя примеры в основном предназначены для того, чтобы вы продолжали работать и строили на них.

Другая хорошая книга, эта схема ориентирована: Как создавать программы. (Интернет) У меня не было так много времени с этой книгой, что я был больше Lisper, чем сам Schemer, но он хорошо написан, имеет хорошие объяснения и примеры и имеет множество упражнений для работы. Это кажется довольно популярным в толпе Scheme.

Ответ 7

Руководство Schemers и соответствующее программное обеспечение - очень хороший материал

http://www.schemers.com/tsg.html

Ответ 9

Я нашел The Little Schemer - отличное введение в функциональное программирование. Это полностью основано на простых примерах размера укуса, которые основаны на книге.

Ответ 10

Я узнал из Jeffrey Ullman Elements of ML Programming, что довольно хорошо. Он теряет баллы за то, что он относится к стандарту ML, когда OCaml, F # и Haskell (по-видимому) более популярны.

Ответ 11

Я считаю, что чисто функциональные структуры данных Криса Окасаки заслуживают внимания.

FYI http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf

Ответ 12

Haskell - очень хороший функциональный язык программирования для начинающих. Кто-то спросил о хороших ресурсах для Haskell, поэтому я укажу вам там.

Если вы ищете хорошую книгу по функциональному программированию, я бы рекомендовал Брюс Дж. Макленнан "Функциональное программирование: практика и теория".
Тем не менее, вам нужно, чтобы вы набрали свою теорию набора и логику, прежде чем дать ей прочитать. Он включает примеры в LISP, Haskell и других языках.

Ответ 13

Если у вас есть опыт работы с .NET, Expert #F хорошо.

F # получен из OCaml. Lisp более чист, так как функциональные языки идут.