Le genre de talk que j’adore, car il mĂȘle programmation et histoire et offre un recul dont on manque souvent cruellement.

Il semble que ce soit dĂ», comme bien souvent, Ă  un mĂ©lange de successions d’Ă©vĂšnements invĂ©tables mĂȘlĂ©s Ă  des coups du hasard. L’appellation "orientĂ© objet" elle-mĂȘme n’est pas anodine…​

Richard Feldman liste, comme causes principales de la dominations des langages orientés objets (O.O.) :

  1. Les killer apps (Ruby on Rails pour Ruby)

  2. L'exclusivité de la plateforme (Objective C, Swift, JavaScript)

  3. La possibilité de transitioner facilement depuis un langage populaire (C++, Kotlin, TypeScript)

L’auteur retrace ce qui a menĂ© au paysage actuel fait de JS/typescript, ObjectiveC/Swift, C/C++, C# et Java principalement. Mais il omet peut-ĂȘtre aussi de noter :

  • La plupart des langages sont des blue collar languages, acceptant une hybridation plus ou moins forte entre les paradigmes, et ne se soucient pas trop d’un forme de "puretĂ©" souvent plus marquĂ©e dans les langages fonctionnels;

  • Les GUI des annĂ©es 1980-1990. Le mĂ©canisme d’hĂ©ritage O.O. pour des composants techniques type widgets est vachement pratique (Delphi, PowerBuilder), mĂȘme s’il est Ă  dĂ©conseiller en gĂ©nĂ©ral (Effective Java, item 16, et il existe un concensus dans d’autres langages).

Et de conclure que peut-ĂȘtre, l’heure des langages fonctionnels n’est-elle tout simplement pas encore venue.