Votre article contient des choses intéressantes, spécialement pour les non-spécialistes. Cependant vous avez un paragraphe malheureux :
D’un autre côté, dans l’idée de vouloir toujours tout révolutionner, de faire différent des « vieux », et à un rythme effréné, on a cédé à de nombreuses technologies spécialement mauvaises, comme les langages interprétés (Java tout particulièrement, .net, Javascript, Python, etc), les langages massivement objets, menant à des pertes de performances souvent sensibles, et à une augmentation de la mémoire utilisée sans rapport avec la mémoire vraiment nécessaire.
Si l’on codait aujourd’hui les applications, en C ou en Pascal, comme
on le faisait dans les années 80, nos ordinateurs donneraient une
impression de vitesse et de fluidité dont on n’a pas idée.
Il s’agit tout simplement d’une ânerie !
On n’invente pas des langages informatiques pour épater la galerie ou pour faire nouveau.
Il y a une véritable évolution dans les techniques qui répond à un besoin et qui se traduit dans les langages.
Vous niez tout simplement cette évolution et sa nécessité.
Tout d’abord on a la nécessité d’avoir des langages interprétés pour la mise au point et des langages compilés pour l’exploitation en production et la performance. Cependant il existe des compilateurs pour la plupart des langages interprétés même si on perd un peu en efficacité.
Chaque langage a sa spécificité d’utilisation. Javascript est un langage destiné à être exécuté sur une machine client à l’intérieur d’un navigateur, il n’a pas d’autre prétention, comment pourrait-il être compilé (traduit en langage machine) quand on ne connaît même pas la nature de l’architecture du système client ?
Python est un des langages modernes les plus aboutis permettant tous les styles de programmation propre avec une syntaxe particulièrement claire. Python est un excellent choix pour entre autres
- les scripts (par exemple pour la maintenance des systèmes en réseau)
- l’enseignement
- le prototypage
Toutes choses qu’il serait ridicule de vouloir concevoir directement en C. Python n’est pas spécialement efficace mais il existe des versions compilées assez rapides, et encore une fois mieux vaut un bon programmeur et un mauvais langage que le contraire.
Rien n’empêche, une fois les essais réalisés, et quand on a besoin de puissance de calcul de réécrire les programmes en C.
Vous semblez également ignorer tout de la programmation orientée objet et de son absolue nécessité pour le développement de l’industrie du logiciel.
Écrire des programmes pour une interface graphique comme windows ou tout autre sans utiliser des classes d’objets, et juste avec l’API en C c’est tout simplement suicidaire du point de vue de la rentabilité et de la sécurité.
Si vous investissez dans l’apprentissage d’une hiérarchie d’objets comme wxwidgets (par exemple) vous raisonnez en termes de concepts (applications, fenêtres, contrôles, etc...) et vous pouvez concevoir des applications en n’importe quel langage et compilables pour n’importe quelle plate-forme (linux, windows, mac, etc...). La maintenance de votre application se borne le plus souvent à une simple recompilation.
Penser en termes d’objets interagissant entre eux c’est tout simplement se libérer du code.
Il serait aujourd’hui invraisemblable d’écrire une application lourde comme une suite bureautique en C avec l’API windows 95 pour la récrire avec 97, 2000, NT4, XP, VISTA, 7, etc... rien que pour l’univers microsoft.
C’est tout simplement impossible.
Alors n’écrivez pas des choses pareilles, documentez-vous !