Существует ли методология разработки программного обеспечения для функционального программирования? [closed]

Программная инженерия, как ее преподают сегодня, полностью сосредоточена на объектно-ориентированном программировании и «естественном» объектно-ориентированном взгляде на мир. Существует подробная методология, которая описывает, как преобразовать модель предметной области в модель классов с несколькими шагами и множеством (UML) артефактов, таких как диаграммы вариантов использования или диаграммы классов. Многие программисты усвоили этот подход и имеют хорошее представление о том, как создать объектно-ориентированное приложение с нуля.

Новая шумиха - это функциональное программирование, которому посвящено множество книг и учебных пособий. Но как насчет функциональной программной инженерии? Читая о Lisp и Clojure, я пришел к двум интересным утверждениям:

  1. Функциональные программы часто разрабатываются снизу вверх, а не сверху вниз («On Lisp», Пол Грэм).

  2. Функциональные программисты используют карты, где объектно-ориентированные программисты используют объекты / classes («Clojure для программистов на Java», выступление Рича Хикли).

Итак, какова методология систематического (основанного на модели?) Проектирования функционального приложения, например, в Lisp или Clojure? Каковы общие шаги, какие артефакты я использую, как сопоставить их из проблемной области в области решения?

202
задан Thorsten 31 January 2011 в 04:50
поделиться