Смешение объектно-ориентированного и функционального программирования - PullRequest
29 голосов
/ 19 июня 2009

Какие языки доступны для продвижения как объектно-ориентированного, так и функционального программирования? Я знаю, что любой язык, который поддерживает первоклассные функции, можно считать функциональным, но я ищу синтаксис, специально предназначенный для обоих стилей кодирования.

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

Пока что я обнаружил Scala , хотя я только что слышал об этом (и это выглядит потрясающе). Есть ли большие претенденты в этой парадигме "смешанного стиля"?

Ответы [ 12 ]

0 голосов
/ 19 июня 2009

Мне интересно, почему вы ищете язык, который специально поощряет смешивание, а не просто делает это с языком, который хорошо работает с функциональным программированием и ОО-программированием? Его можно легко реализовать с помощью Python, Ruby, Perl или аналогичных интерпретируемых языков. Кроме того, ОО-языки на основе С, как правило, смешивают чистый С с ОО-функциями, например, цель C легко может быть написана таким образом, если вы выберете.

РЕДАКТИРОВАТЬ: меня предупредили, что я не прав, я оставил здесь этот ответ, если кто-то может извлечь уроки из моей ошибки - см. Комментарии.

0 голосов
/ 19 июня 2009

Рубин! В Ruby все является объектом (даже литералами), а также имеет полную функциональную поддержку программирования.

...