Подтвердить что ты не робот

Альтернативы объектно-ориентированному программированию?

ООП, вероятно, является наиболее часто используемой парадигмой программирования в сегодняшнем программном обеспечении. Мой вопрос: какая другая парадигма может конкурировать с ней и может стоять на месте oop? Чтобы уточнить этот вопрос, я не спрашиваю о том, какие существуют другие парадигмы. Их много, и я хотел бы узнать, какой из них:

  • Используется на практике не только теоретически.
  • Может конкурировать с oop, поэтому его можно использовать в большом проекте без или с минимальной болью.
  • Может использоваться для разработки настольного приложения с бизнес-логикой, базами данных и т.д.
  • Не используется с компаньоном oop, но может заменить oop.

И если есть какие-то, какие плюсы и минусы этого, почему это лучше/хуже, чем oop, какие языки лучше всего его использовать, как использовать его на популярных языках, есть ли какие-либо шаблоны проектирования, и может ли он полностью заменить oop?

4b9b3361

Ответ 1

Функциональное программирование - еще одна популярная программная парадигма, в основном в академических кругах. Лучшим примером функционального языка программирования является Haskell и Стандартный ML.

Фундаментальное различие между функциональным программированием и объектно-ориентированным программированием состоит в том, что вы программируете в смысле потока данных вместо потока управления. См. Презентацию Укрощение эффектов с функциональным программированием Саймона Пейтона-Джонса за хорошее введение.

Хорошим примером функционального программирования, используемого в отрасли, является Erlang. Он в основном используется в телекоммуникационных, распределенных и отказоустойчивых системах. См. Презентацию Erlang - Программное обеспечение для параллельного мира Джо Армстронга.

Существуют также новые функциональные языки программирования, которые сочетают функциональное программирование с ООП. Два хороших примера: F # для платформы .NET и Scala для платформы Java; они часто могут использовать существующие библиотеки на платформе, написанные на других языках.

Тенденция новых языков программирования теперь Multi-paradigm, где несколько парадигм, таких как объектно-ориентированное программирование и функциональное программирование, объединены на одном языке.

Ответ 2

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

Он может, безусловно, использоваться в крупномасштабных продуктах с минимальной болью и максимальной производительностью

Ответ 3

Моделирование векторных реляционных данных используется для создания исполняемых информационных моделей с соответствующей семантикой домена в рамках глобальной информационной сети, сетевой резидентной модели.

Ответ 4

FP - Функциональное программирование - чрезвычайно популярная парадигма программирования, которая существует очень долгое время, и в последние годы стала становиться все более заметной. FP поддерживает неизменность по сравнению с изменчивостью, рекурсией и функциями без побочных эффектов. Некоторыми примерами популярных языков fp являются Erlang, Scala, F #, Haskell и Lisp (среди прочих).

Ответ 5

В настоящее время нет парадигм, которые действительно могут заменить ООП. Проблема с OOP заключается в том, что он выполняет огромную работу для вас - автоматически освобождает ресурсы, проверяет данные и т.д., И это упрощает проверку кода, не говоря уже о том, что подавляющее большинство существующих в мире библиотек написаны на языке OOP, таком как С++, С# или Java. Реальность ужина без таких широкомасштабных библиотек и т.д. Чрезвычайно сомнительна.

В нише или академических мирах вы найдете много функционального программирования. Однако, если вы действительно хотите сделать большой проект, ООП - единственный способ пойти.

Я думаю, что универсальное программирование станет новой парадигмой. Тем не менее, он действительно находится на стадии разработки, и только С++/D предлагает действительно хорошее общее программирование.