Quels sont les principaux concepts de la programmation fonctionnelle?

En programmation orientée objet, on pourrait dire que les concepts de base sont:

  1. encapsulation
  2. héritage,
  3. polymorphisme

Ce que ce serait dans la programmation fonctionnelle?

  • Pourquoi croyez-vous que ce sont les concepts de base de la programmation orientée objet? De nombreux langages à objets n'ont pas d'encapsulation (par exemple, Python, CLOS). Certains langages à objets n'ont pas d'héritage (Auto, JavaScript, et tout autre prototype de base de la langue), et certains le font, mais ce n'est pas une grosse affaire (pratiquement n'importe quel langage dynamique, ou toute autre langue avec le duck-typing). La seule chose qui est réellement commun à tous est polymorphisme d'exécution.
  • De wikipedia: "Armstrong, Les Quarks de Développement Orienté Objet. Dans l'ordre décroissant de popularité, les "quarks" sont: les droits de Succession, d'Objet, de Classe, d'Encapsulation, de la Méthode, de la transmission de Message, le Polymorphisme, l'Abstraction"
  • Nosredna, et pas un seul d'entre eux a une signification précise.
  • Minaev: +1; mais je dirais que l'encapsulation n'est pas nécessairement la vie privée (privé), juste le couplage de l'état et de processus (les méthodes de voyage avec l'objet comme une seule unité). Si oui, l'encapsulation est commun à tous les Oups je connais, et sans doute encore plus "de base", que le polymorphisme.
  • D'accord. Pas de signification précise. Je pense que l'encapsulation est l'idée la plus importante associée avec OO. Mais c'est juste moi. Les quarks sont à partir de 40 ans d'OO la littérature. Je ne peux que faire confiance que tous ces gens ont écrit au sujet de quelque chose.
  • Hey! J'ai réussi à obtenir le mot de "quelque chose" en italique! Je suis gagnant de StackOverflow pour ce soir!
  • Phlogiston, matériel, trous noirs, et la programmation orientée objet. Il existe d'autres exemples de l'imaginaire des entités de l'objet de nombreux écrits par des gens très intelligents.
  • L'un des problèmes de l'encapsulation est la mise en œuvre de Tests Unitaires. Comme je l'ai lu plusieurs fois, le créateur des tests est un autre utilisateur qui est suffisamment important pour "casser" certains principes. Si nous surprotéger la conception, nous ne laissons pas ce travail de l'utilisateur. Il y a certaines techniques en fonction de la langue pour encapsuler pour les utilisateurs finaux et le laisser ouvert pour l'unité de test des écrivains, mais le principe est quelque chose à discuter.

InformationsquelleAutor pierrotlefou | 2009-07-11