Что такое хороший начальный текст по функциональному программированию? [закрытый]
Мне нравится изучать языки за пределами моей зоны комфорта, но мне было трудно найти место для начала функциональных языков. Я слышал много хорошего о структура и интерпретация компьютерных программ, но когда я попытался прочитать его пару лет назад, он просто свистел над моей головой. Я лучше справляюсь с книгами, чем с веб-сайтами, но когда я посещаю местный книжный магазин, книги на LISP выглядят немного страшно.
Так что же хорошего отправная точка? Моя цель состоит в том, чтобы иметь возможность использовать функциональный язык программирования для решения простых задач за 6 месяцев или около того, а также возможность перейти к более продвинутым темам, распознать, когда функциональный язык является правильным инструментом для работы, и использовать язык для решения большего количества проблем в течение 2-3 лет. Мне нравятся книги, в которых много примеров, но также есть проблемы для работы. Существует ли такая вещь для функциональных языков?
15 ответов:
Маленький Интриган учит рекурсии очень хорошо, и это весело и просто читать.
Мне тоже понравился Язык Программирования Схемы для более широкого внедрения в язык.
попробовать Реальный Мир Хаскелл. Это бесплатно онлайн.
SICP-отличная книга.
Это, вероятно, моя предвзятость, но я думал, что ocaml было довольно легко попасть. У вас есть возможность программирования в нескольких различных стилях, пока вы не будете полностью комфортно. Я выложил кучу ссылок к Haskell и Ocaml ссылки, что are книги, с примерами и так далее, которые кажутся прямо по вашей аллее.
Если вы предпочитаете Lisp, вы можете попробовать питание через 99-проблемы в Lisp(который вы можете сделать на любом языке, действительно), или вы можете посмотреть лекции от людей, которые писали SICP.
дальше по дороге, держи "Чисто Функциональные Структуры Данных", поскольку он попадет в жесткий глубокий дизайн и соображения, которые вы должны учитывать в функциональных языках-он использует ML (из которого OCaml получен).
Я очень рекомендую "on Lisp" от Пола Грэма.
он лаконичен и легко читается даже для новичков в функциональном программировании (как я был, когда я его читал). Он содержит много очень коротких примеров, каждый из которых помогает понять одну единственную вещь.
Я часто думал, читая эту книгу: это просто язык, содержащий именно те функции, которые я когда-либо хотел в других (нефункциональных) языках, но никогда не получал. :-( И это именно та книга, чтобы выучить ее, всегда понятно, иногда даже смешно!
вы можете получить его бесплатно на сайт автора!
Мне очень нравится "Haskell: the Craft of Functional Programming" Томпсона, потому что он хорошо написан, и Haskell позволяет легче начинать, чем другие функциональные языки, будучи полностью чистым (в отличие от Lisp или Scheme).
поскольку существует множество различных функциональных языков программирования, трудно рекомендовать книги. Но если вас интересует Common Lisp, недавно я читал "Практический Common Lisp" Петер Сейбель, который вы можете проверить онлайн бесплатно!--2--> прежде чем бросить свои с трудом заработанные деньги на этом. Это довольно нежное введение в CL, с отличными объяснениями и множеством примеров. Сейбель-великий писатель (пример: read история Mac,) он хорош в том, чтобы держать вас в курсе, и это действительно то, где SICP падает, я думаю. Это просто так сухо! Но в то время как практический Common Lisp довольно тяжелый пример, у него действительно нет проблем для работы, хотя примеры в основном предназначены для того, чтобы вы могли продолжать работать и строить на них.
еще одна хорошая книга, эта одна схема-ориентированные: как создавать программы. (онлайн) У меня было не так много времени с этой книгой, будучи более Шепелявым, чем a Сам интриган, но он хорошо написан, имеет хорошие объяснения и примеры, и имеет много упражнений для работы. Это кажется довольно популярным в схеме толпы.
проверить введение в функциональное программирование. Он предлагает другую перспективу.
нашел Маленький Интриган большое, большое введение в функциональное программирование. Он полностью основан на простых примерах размера укуса, которые строятся по мере продолжения книги.
Я учился у Джеффри Уллмана элементы программирования ML, что довольно хорошо. Он теряет очки за то, что он около стандартного ML, когда OCaml, F# и Haskell (по-видимому) более популярны.
Haskell-очень хороший функциональный язык программирования для начинающих. Кто-то спросил о хороших ресурсах для Haskell, поэтому я укажу вам здесь.
Если вы ищете хорошую книгу по функциональному программированию, я бы порекомендовал "функциональное программирование: практика и теория", Брюс Дж. Макленнан.
Однако требуется, чтобы вы освежили свою теорию множеств и логику, прежде чем давать ей чтение. Она включает в себя примеры в LISP, Haskell и других языки.
Если у вас есть опыт работы с .NET, Эксперт #F - это хорошо.
F# является производным от OCaml. Lisp более чист, поскольку функциональные языки идут.
Реальное Функциональное Программирование (с примерами в F# и C#)
Я слышал хорошие вещи о Функциональное Программирование На Haskell, но я также нашел это список книг по функциональному программированию в amazon, которые могут быть полезны для вас.
Comments