Le C avait un côté super-simple et les couches rajoutées en C++ et autres C# ont fait perdre de l'inventivité au programmeur.
Par exemple, j'écrivais des programmes avec des structures pleines de pointeurs sur fonction et de descripteurs de données (ben oui des propriétés, des méthodes et des évènements) sans avoir besoin de tout un attirail complexe de couches syntaxiques super-intello. C'était super-efficace et super-rapide. Et l'éditeur de Phoenix Software pmate (ne cherchez plus pmate dans Google, vous allez trouver un bidule pour permettre aux filles de pisser debout - je vous jure que ce n'est pas une blague -) avec son langage de macro ! En une ligne de commande, on rédigeait un "case" de 25 cas.
Mais bon, c'était l'époque où sur un PC avec 45 M de disque dur, on pouvait avoir une double partition MSDOS et XENIX.
Et pompon des pompons, avec yacc et lex on pouvait se créer son propre langage.
Mais je vous parle d'un temps que les moins de 20 ans ne peuvent pas connaître comme disait Aznavour.
Pas vraiment surpris ...
C++ dans le même panier ce C# ......... fallait oser ..... en gros tous les nouveaux langages OO, c'est ça ??....
Donc un jugement super objectif sur un langage et une façon de programmer qu'on ne maitrise pas ??....
J'ose espérer que l'inventivité d'un programmeur n'est pas lié au langage qu'il utilise ... je pense juste qu'à la limite il la met ailleurs (enfin quand il cherche à s'adapter) ...
Pour avoir commencé par de l'assembleur Motorola, puis en passant par le C, puis le C++, j'ai aussi entendu ça des inconditionnels de l'assembleur à propos du C (qui estimé que du coup on ne maitrisait plus vraiment le code machine généré par le compilateur) ....
Que je sache, le C++ n'a rien enlevé par rapport au C dont tout est encore disponible en C++. On peut même allégrement mélanger les 2 dans son code (ce qui n'est pas forcément toujours la meilleure des idées) ... Le préprocesseur est aussi toujours là ...
Le C++ ne fait que changer la façon d'écrire les choses (dans la vmt, c'est aussi des pointeurs sur fonction qu'on retrouve en réalité ... ce qui permet le polymorphisme et évite pas mal de "case" ou de "if") ...
Du coup je n'oppose pas l'un à l'autre.
En fait je n'ai jamais trop compris la nostalgie et la réticence au changement qui peux exister chez beaucoup de programmeurs au bout d'un certain temps, alors que pourtant ils devraient avoir le gout de la nouveauté (d'autant que comme dans l'électronique c'est un domaine où ça va vite ...) ... Or on voit vite la plupart s'enfermer dans les habitudes et la nostalgie, en regrettant surtout de ne pas arriver à faire avec les nouveautés ce qu'il arrivent à faire avec des concepts plus anciens ...
De même assez fréquent les jugements du genre, je compare un langage que je maitrise à un autre que je ne maitrise pas, mène immanquablement à la conclusion, que celui qu'on maitrise est forcément le meilleur (objectivité quand tu nous tiens ....). Rarement le programmeur se met en cause lui-même ... Pas de conclusion du genre, je vois pas, je comprends pas, je maitrise pas, j'y arrive pas ... Plus simple de considérer que c'est l'outil ou le langage ... ce n'est pas parce qu'on ne perçoit pas les avantage de quelque chose que ça n'existe pas ...
Perso je ne goute guère les derniers langage de script (Python et autre), où ceux à plus haut niveau d'abstraction utilisant des couches supplémentaires d'exécution (java, C#, etc ...), mais je regarde quand même, et j'essaye d'en voir les avantages quand même.
Je ne compte plus le nombre de fois où j'ai entendu : "ça sert à rien, je fais pareil en C", comme avant j'avais entendu : "ça sert à rien je fais pareil en assembleur" ...
Dans l'embarqué, l'avantage c'est qu'il y a maintenant encore les 3 utilisés couramment, mais pas pour les mêmes choses : assembleur, C et C++ ...
Si Dennis Ritchie s'en était tenu a ce qui existait déjà et qu'il maitrisait ..... où en serait-on ??... en serait-il lui-même resté à ce qu'il avait déjà fait et qu'il maitrisait ????
Moi ce que j'apprécie chez ces hommes là, c'est leur capacité à sortir des sentiers battus, pour voir autre chose, pour faire autre chose, autrement, afin d'aller plus loin, plus vite, ou mieux ... et pourtant quelque fois, même chez eux, la clairvoyance d'un jour n'est pas celle du lendemain.
Je n'ai moi-même pas forcément cette capacité, mais au minimum j'essaye de suivre le mouvement et de me forcer pour percevoir ce que ça apporte ...