đïž Les familiers de DDD connaissent la distinction EntitĂ©/Objet-Valeur. Peu savent quâEvans nâa rien inventĂ© : en 1982, Bruce McLennan plaidait pour que les langages orientĂ©s-objet nâutilisent pas le mĂȘme mĂ©canisme pour reprĂ©senter les valeurs et les objets. Les premiĂšres sont des abstractions intemporelles et immuables que la programmation partage avec les mathĂ©matiques. Les seconds sont des instances partageant une forme commune (leur classe), mais diffĂ©rent en substance (leur identitĂ© et leurs accidents).
đ§ź En rĂ©alitĂ©, McLennan non plus nâa rien inventĂ©, il poursuit simplement la longue tradition dâAristote, de Saint Thomas dâAquin et des scolastiques. LâorientĂ©-objet nâa rien de neutre, ce paradigme est lâhĂ©ritier dâune longue tradition philosophique rĂ©aliste. Pour McLennan, les mathĂ©mathiques sont trop abstraites et incommodes pour reprĂ©senter les cas particuliers. A lâinverse, un style de programmation qui ignore la distinction valeur/objet se prive dâoutils puissants pour reprĂ©senter lâabstrait, lâimmuable, le calculable et donc la simplicitĂ©.
đïž Ce papier est Ă ranger parmi les grands classiques de la programmation. âProgrammer, câest faire des mathĂ©mathiques orientĂ©es-objet. MathĂ©matiser, câest faire de la programmation orientĂ©e-valeurâ rĂ©sume dâauteur.
SOURCE
MacLennan, Bruce J.. âValues and objects in programming languages.â ACM SIGPLAN Notices 17 (1982): 70-79. DOI:10.1145/988164.988172
Enzo Sandré
đ Lien public DOIs: 10.1145/988164.988172