web-dev-qa-db-fra.com

Alternatives à la programmation orientée objet?

La POO est probablement le paradigme de programmation le plus utilisé dans la conception de logiciels d'aujourd'hui. Ma question est - quel (s) autre (s) paradigme (s) peut rivaliser avec lui et peut se substituer à oop? Pour clarifier cette question, je ne demande pas quels sont les autres paradigmes. Il y en a beaucoup et j'aimerais savoir lequel:

  • A été utilisé dans la pratique, pas seulement en théorie.
  • Peut rivaliser avec oop , il peut donc être utilisé dans un grand projet sans ou avec un minimum de douleur.
  • Peut être utilisé pour développer une application de bureau avec une logique métier, des bases de données, etc.
  • N'est pas utilisé avec le compagnon de oop, mais peut remplacer oop.

Et s'il y en a, quels sont les avantages/inconvénients, pourquoi il est meilleur/pire que oop, quelles langues sont les meilleures pour l'utiliser, qu'en est-il de l'utiliser dans les langues populaires, a-t-il des modèles de conception et peut-il remplacer totalement oop?

72
Dariusz Woźniak

Programmation fonctionnelle est un autre paradigme de programmation qui est populaire, principalement chez les universitaires. Le meilleur exemple de langage de programmation fonctionnel est Haskell et Standard ML .

La différence fondamentale entre la programmation fonctionnelle et la programmation orientée objet est que vous programmez dans le sens du flux de données au lieu de flux de contrôle . Voir la présentation Taming Effects with Functional Programming by Simon Peyton-Jones pour une bonne introduction.

Un bon exemple de programmation fonctionnelle utilisée dans l'industrie est Erlang . Il est principalement utilisé dans les systèmes de télécommunications, distribués et tolérants aux pannes. Voir la présentation Erlang - Software for a concurrent World by Joe Armstrong.

Il existe également des langages de programmation fonctionnels plus récents qui combinent la programmation fonctionnelle avec la POO. Deux bons exemples sont F # pour la plateforme .NET et Scala pour la plateforme Java; ils peuvent souvent utiliser les bibliothèques existantes sur la plateforme écrite dans d'autres langues.

La tendance des nouveaux langages de programmation est maintenant Multi-paradigm , où plusieurs paradigmes comme la programmation orientée objet et la programmation fonctionnelle sont combinés dans le même langage.

44
Jonas

Le traitement procédural était tout avant OOP est apparu, a produit de grandes applications du monde réel (en fait, la plupart d'entre elles à l'origine) et de nombreux systèmes d'exploitation.

Il peut certainement être utilisé dans des produits à grande échelle avec un minimum de douleur et un maximum de performances

10
Woody

La modélisation de données relationnelles vectorielles est utilisée pour créer des modèles d'informations exécutables avec une sémantique pertinente pour le domaine au sein de Global Information Network Architecture, un courtier de modèles résidant sur le réseau.

3
Disrup Tional

FP - Functional Programming est un paradigme de programmation extrêmement populaire qui existe depuis très longtemps et qui, ces dernières années, a commencé à devenir de plus en plus important. FP favorise l'immuabilité plutôt que la mutabilité, la récursivité et les fonctions sans effets secondaires. Quelques exemples de langages fp populaires sont Erlang, Scala, F #, Haskell et LISP (entre autres).

1
Matthew J Morrison