Как начать работу с функциональным программированием? - PullRequest
5 голосов
/ 12 марта 2009

Со всей этой шумихой вокруг функционального программирования, каковы лучшие ресурсы для начала работы в функциональном программировании [для программиста C #]? Я не ищу улучшения языка C # 3.0.

Ответы [ 8 ]

12 голосов
/ 12 марта 2009

Бесстыдный плагин: я соавтор (ну, действительно, прославленный редактор :) из Реального мира функционального программирования . Он прямо нацелен на таких людей, как ты. Он учит принципам функционального программирования, в основном через F #, а также показывает, как вы можете применять те же принципы во многих случаях в C #.

Предполагается, что вы уже знаете C #, но вводит F # с нуля. Он дает вам достаточно знаний о F #, чтобы вы могли начать, чтобы вы могли экспериментировать, но цель состоит в том, чтобы научить функциональному мышлению, а не углубляться в каждый закоулок F # как языка. (Другими словами, если вы захотите начать использовать F # в качестве рабочего языка, я бы получил еще одну книгу * .)

Это еще не вышло, но вы можете получить ранний доступ через программу MEAP. Уже доступно несколько глав, и скоро появятся другие.

11 голосов
/ 12 марта 2009

Я думаю, что для разработчика на C # с фоном .NET лучший способ войти в функциональное программирование - это изучить F #.

4 голосов
/ 12 марта 2009

Выберите функциональный язык. Python имеет множество функциональных возможностей. Haskell является чисто функциональным.

Перейти к Project Euler .

Решить некоторые проблемы.

Если вы посмотрите на Project Euler stats , Python и Haskell очень высоко оценены.


Редактировать

Функциональное программирование на Python:

3 голосов
/ 12 марта 2009

Бесплатная онлайн-версия Real World Haskell - это хороший, дешевый способ начать работу.

После того, как вы пройдете несколько глав, вы сможете решить, подходит ли вам FP, и хотите ли вы продолжить работу с Haskell или перейти на другой язык. Вы можете даже купить версию мертвого дерева (как я).

Парадигмы, которые вы изучаете из этой книги, особенно вводные главы, в равной степени применимы и к другим функциональным языкам. (Мне нравится думать, что мой Javascript и Groovy извлекли выгоду из моего изучения Haskell).

2 голосов
/ 12 марта 2009

Потратьте некоторое время на изучение Lisp или Scheme, поскольку они являются матерью и отцом функционального программирования. PLT Scheme - отличная среда для игры со Scheme. Получите себе копию The Little Schemer , поскольку это хорошее введение в Scheme и поможет вам довольно быстро освоиться.

После того, как вы освоитесь, попробуйте решить некоторые из проблем Project Euler функциональным способом.

0 голосов
/ 14 июля 2012

Мне нравится пока изучаю хакел , это довольно хорошо для начинающих

0 голосов
/ 12 марта 2009

Я согласен с Мехрдадом Афшари. Если вы знакомы с C #, начните функциональное программирование с F #. Синтаксис похож на лямбда-выражения в C #.

0 голосов
/ 12 марта 2009

Я изучил функциональное программирование в колледже, используя язык Haskell .

На его главной странице вы, скорее всего, найдете то, что вам нужно для начала:)

Кстати, нужно много практики, чтобы увидеть решение; Алгоритмы как таковые - это не то, что все используют для кодирования на объектно-ориентированных, логических или процедурных языках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...