Хорошие примеры императивных и функциональных решений практических задач - PullRequest
7 голосов
/ 11 марта 2012

Я пишу некоторые уроки для курса, который начинается через пару недель. Я выбрал Clojure как новый язык для изучения студентами. Я хотел бы посвятить одну главу рефакторингу императивного кода в функциональный код. Для этого я хотел бы иметь ряд практических проблем, которые не далеко ушли, и которые я мог бы показать, как сравниваются императивные и функциональные решения. Предпочтительно проблемы не имеют акцента на математике, как проект Эйлера, но это проблемы, с которыми обычный программист должен регулярно сталкиваться. У кого есть хорошие источники для этого?

Частичный ответ: одним из таких источников является http://langref.org/. Еще требуется!

Ответы [ 2 ]

5 голосов
/ 11 марта 2012

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

3 голосов
/ 11 марта 2012

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

Я понимаю, что оба эти примера являются математическими, но они требуют только базовых знаний.

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