88 votes

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 la suivante : quel(s) autre(s) paradigme(s) peut lui faire concurrence et peut prendre la place d'oop ? Pour clarifier cette question, je ne demande pas quels autres paradigmes existent. Il y en a beaucoup et j'aimerais savoir lequel :

  • Elle a été utilisée en pratique, et 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 d'entreprise, 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 ses avantages et ses inconvénients, pourquoi est-il meilleur ou pire qu'oop, quels sont les meilleurs langages pour l'utiliser, qu'en est-il de son utilisation dans les langages populaires, a-t-il des modèles de conception, et peut-il remplacer totalement oop ?

53voto

Jonas Points 22309

Programmation fonctionnelle est un autre paradigme de programmation qui est populaire, principalement dans le milieu universitaire. 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 de flux de données au lieu de flux de contrôle . Voir la présentation Apprivoiser les effets avec la programmation fonctionnelle par Simon Peyton-Jones pour une bonne introduction.

Un bon exemple de programmation fonctionnelle utilisée dans le secteur est le suivant Erlang . Il est surtout utilisé dans les télécommunications, les systèmes distribués et les systèmes à tolérance de pannes. Voir la présentation Erlang - Logiciel pour un monde concurrent par Joe Armstrong .

Il existe également des langages de programmation fonctionnelle plus récents qui combinent la programmation fonctionnelle et la POO. Deux bons exemples sont F# pour la plate-forme .NET et Scala pour la plate-forme Java ; ils peuvent souvent utiliser des bibliothèques existantes sur la plate-forme, écrites dans d'autres langages.

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

13voto

Woody Points 3730

Le traitement procédural était tout ce qui existait avant l'apparition de la POO, et a donné naissance à 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.

1voto

Matthew J Morrison Points 2319

FP - La programmation fonctionnelle est un paradigme de programmation extrêmement populaire qui existe depuis très longtemps et qui, ces dernières années, a commencé à prendre de plus en plus d'importance. La PF favorise l'immuabilité par rapport à la mutabilité, la récursion et les fonctions sans effets secondaires. Quelques exemples de langages FP populaires sont Erlang, Scala, F#, Haskell et Lisp (entre autres).

-6voto

Puppy Points 90818

Il n'existe actuellement aucun paradigme qui puisse véritablement remplacer la POO. Le problème (l'avantage) de la POO est qu'elle fait une grande quantité de travail pour vous - libérer automatiquement les ressources, valider les données, etc., et elle rend facile la validation du code - sans oublier que la grande majorité des bibliothèques existantes dans le monde sont écrites dans un langage POO comme C++, C# ou Java. La réalité de se passer de telles bibliothèques à grande échelle et autres est extrêmement douteuse.

Dans les niches ou les milieux universitaires, vous trouverez beaucoup de programmation fonctionnelle. Cependant, si vous voulez vraiment réaliser un projet de grande envergure, la POO est la seule solution.

Je pense que la programmation générique va s'imposer comme un nouveau paradigme. Cependant, elle est encore en phase de développement et seul le C++/D offre une programmation générique réellement bonne.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X