В последнее время я изучаю и играю с функциональным программированием, исключительно для того, чтобы расширить свое мышление о программировании, потому что считаю «функционально» трудным.Функциональное программирование: лучшая платформа/окружающая среда
Скачайте Glasgow Haskell и поэкспериментируйте с этим.
Что мне интересно, что такое лучшая платформа для Windows, чтобы экспериментировать с FP? Я бы предпочел подход на основе JVM, но другая публикация на SO указала, что реальный язык FP не может быть реализован на JVM из-за отсутствия поддержки хвостовой рекурсии. Что скажешь?
EDIT: Как я уже сказал, я экспериментировал с Хаскеллом с честью; по рекомендации одного из ответов, которые я просматривал на веб-сайте Scala. Оглядываясь на примеры Scala, код кажется более «знакомым» (мой фон - C и Java), но, похоже, более OO/процедурный и менее функциональный. Огромным преимуществом Scala было бы то, что он дает мне инструмент другого языка, который будет использоваться бок о бок с Java и может стать еще одной стрелкой в моем текущем профессиональном колчане, в отличие от исключительно обучения. Когда я получу дальше в Scala, будут ли преобладающие функциональные аспекты, или я склонен в итоге просто написать код OO с некоторым функциональным влиянием? Другими словами, сможет ли Хаскелл усложнять мои предвзятости и быстрее, чем Скала?
* Я бы предпочел подход на основе JVM, но другое сообщение на SO показало, что реальный язык FP не может быть реализован на JVM * Пожалуйста, не верьте этой BS. В JVM есть функциональные языки всех видов и видов: Scala, Clojure (lispy), Yeti (ML-ish) и Frege, который является нестрогим, чистым функциональным языком, который нацелен на совместимость с Haskell. Итак, Haskell - хороший выбор для обучения, и вы можете применить вещи позже к JVM с помощью Frege. – Ingo 2013-04-04 07:26:06