Je suis d'accord sur le fond du problème avec nraynaud (et non sur la forme).
Avec les outils actuels, on ne peut pas prouver que le code est "bug-free" et avec les évolutions constanes (sources de nouveaux bugs), ça peut pêter à la figure.
C'est vrai que si cet OS parfait existait, l'industrie du logiciel aurait du soucis à se faire :-)
<disgression // avec le sujet>
L'argument avancé est la "performance", vraiment, on s'en fout complètement, c'est parce que les logiciels sont de plus en plus gourmands qu'on est passé d'un 386@16mhz/4Mo/HD 40mo en 1990 a un PIV@2.2ghz/256mo/HD 40go.
Et en 1990, on pouvait déjà faire de la bureautique wysiwig sous win3.1 ou sur amiga ou sur mac, sur unix, c'était du Latex(d'ailleurs le seul soft qui n'a pas de bug depuis plusieurs années et c'est bizarre, ça a été codé par un mathématicien et non pas par un haxor), X11 avec 4mo et un logiciel bureautique c'était un peu de la SF.
Fondamentalement, est-ce que WORD XP fait beaucoup plus de choses que WORD 2.0 (je prend cet exemple parce que c'est grosso-modo le même soft qui a évolué sur 10 ans).
est ce que word 2.0 ne suffit pas pour faire 99% des documents actuellements produits dans le monde. Est-ce que l'ergonomie de ce logiciel a si fondamentallement changée qu'on écrit un document 10 fois plus rapidement ? La réponse est NON, il est seulement plus lent, a surement plus de bugs même si les anciens sont corrigés, il faut une machine beaucoup plus puissante qui consomme plus de courant et qui est moins fiable parce qu'elle chauffe beaucoup plus.
Finallement, c'est quoi le "PLUS", ben c'est plus joli, c'est tout, on va me dire qu'il y a plus de fonctions, mais elles ne sont pas utilisés.
Et ne commencez pas à lancer un troll MSOffice/OpenOffice, OpenOffice à besoin de X11 sur un bureau moderne pour fonctionner il est peut être meilleur techniquement, mais il lui faut aussi au moins 64mo de RAM pour être utilisable.
</disgression // avec le sujet>
Bref il n'y aucun effort qui est fait pour "améliorer les performances" et ce n'est pas le choix JAVA/C# ou C++ ou C qui infléchieront la tendance (ponctuellement, on ira 2 fois plus vite avec un code C qu'en JAVA, bah l'industrie informatique stagnera sur 18 mois :-)
Enfin non on ne s'en fout pas de la performance, mais si je dois choisir entre une machine garantie sans bugs 10 fois plus lente et une techno actuelle, j'ai vite fais mon choix.
Les premiers systémes unix devaient tourner avec 128ko de ram environ (c'est l'ordre de grandeur). Et c'est sur ces machines que les premiers compilos C ont été développés.
Maintenant, on considére que Linux est utilisable avec 8mo en mode console (128mo avec X).
Maintenant qu'on est 1000 fois plus rapide et 1000 fois plus de mémoire, on pourrait peut être penser à developper de nouveaux langages ou de nouveaux concepts de programmation.
Le soft n'a pas évolué en 30 ans (a part la notion d'objet, mais l'algorithmie ça vient des années 70).
On va se retrouver avec des architectures qui héritent des erreurs du passées "parce que c'est comme ça", comme on a la semaine de 7 jours et des journée de 24 heures, on va peut être se payer le format doc pendant des millénaires, parce qu'on ne va pas toucher l'existant.
Qu'en entreprise, les gars soient traditionalistes, ça ne me choque pas, mais à la fac ça n'évolue pas non plus.
ça me fait penser aux articles sur la reconnaissance vocale qui ressortent tous les 2 ans en disant "ça y est, cette fois ça marche".
Mais pratiquement tous les algo ont été développés entre 1960 et 1980, on ne fait que les affiner, il n'y a pas de révolution.
Pour moi, le C++ quelque soit ses qualitées ou ses défauts va se retrouver dans des niches, balayé au fur et à mesure par le C# et le Java, parce ne pas gérer ses pointeurs, ça te fait gagner un max de temps, et pour les petits dév bas niveau, le C remplit trés bien son rôle de "macro-assembleur portable".
L'histoire aurait été largement changé si effectivement la STL était sortie avec le C++ en 1985, il y aurait eu une bascule beaucoup plus visible sur des dev C++, car ils auraient été beaucoup plus rapide et standard qu'en C.
Maintenant, il est beaucoup plus rapide de développer en JAVA/C#, et c'est le coût d'un développeur à la journée qui est plus important que le matériel, 3 jours de dev=1 machine, un projet de 50 personnes avec 6 jours de retard correspondent à 100 machines.
Donc même si il faut acheter un serveur à 100K euros au lieu de 50K euros pour combler le manque de performances du JAVA/C# sur le C++/C le client s'y retrouve rapidement sur les frais de développement.
[^] # A quand un OS "INBUGABLE" ?
Posté par darkleon . En réponse à la dépêche Interview de Bjarne Stroustrup. Évalué à 5.
Avec les outils actuels, on ne peut pas prouver que le code est "bug-free" et avec les évolutions constanes (sources de nouveaux bugs), ça peut pêter à la figure.
C'est vrai que si cet OS parfait existait, l'industrie du logiciel aurait du soucis à se faire :-)
<disgression // avec le sujet>
L'argument avancé est la "performance", vraiment, on s'en fout complètement, c'est parce que les logiciels sont de plus en plus gourmands qu'on est passé d'un 386@16mhz/4Mo/HD 40mo en 1990 a un PIV@2.2ghz/256mo/HD 40go.
Et en 1990, on pouvait déjà faire de la bureautique wysiwig sous win3.1 ou sur amiga ou sur mac, sur unix, c'était du Latex(d'ailleurs le seul soft qui n'a pas de bug depuis plusieurs années et c'est bizarre, ça a été codé par un mathématicien et non pas par un haxor), X11 avec 4mo et un logiciel bureautique c'était un peu de la SF.
Fondamentalement, est-ce que WORD XP fait beaucoup plus de choses que WORD 2.0 (je prend cet exemple parce que c'est grosso-modo le même soft qui a évolué sur 10 ans).
est ce que word 2.0 ne suffit pas pour faire 99% des documents actuellements produits dans le monde. Est-ce que l'ergonomie de ce logiciel a si fondamentallement changée qu'on écrit un document 10 fois plus rapidement ? La réponse est NON, il est seulement plus lent, a surement plus de bugs même si les anciens sont corrigés, il faut une machine beaucoup plus puissante qui consomme plus de courant et qui est moins fiable parce qu'elle chauffe beaucoup plus.
Finallement, c'est quoi le "PLUS", ben c'est plus joli, c'est tout, on va me dire qu'il y a plus de fonctions, mais elles ne sont pas utilisés.
Et ne commencez pas à lancer un troll MSOffice/OpenOffice, OpenOffice à besoin de X11 sur un bureau moderne pour fonctionner il est peut être meilleur techniquement, mais il lui faut aussi au moins 64mo de RAM pour être utilisable.
</disgression // avec le sujet>
Bref il n'y aucun effort qui est fait pour "améliorer les performances" et ce n'est pas le choix JAVA/C# ou C++ ou C qui infléchieront la tendance (ponctuellement, on ira 2 fois plus vite avec un code C qu'en JAVA, bah l'industrie informatique stagnera sur 18 mois :-)
Enfin non on ne s'en fout pas de la performance, mais si je dois choisir entre une machine garantie sans bugs 10 fois plus lente et une techno actuelle, j'ai vite fais mon choix.
Les premiers systémes unix devaient tourner avec 128ko de ram environ (c'est l'ordre de grandeur). Et c'est sur ces machines que les premiers compilos C ont été développés.
Maintenant, on considére que Linux est utilisable avec 8mo en mode console (128mo avec X).
Maintenant qu'on est 1000 fois plus rapide et 1000 fois plus de mémoire, on pourrait peut être penser à developper de nouveaux langages ou de nouveaux concepts de programmation.
Le soft n'a pas évolué en 30 ans (a part la notion d'objet, mais l'algorithmie ça vient des années 70).
On va se retrouver avec des architectures qui héritent des erreurs du passées "parce que c'est comme ça", comme on a la semaine de 7 jours et des journée de 24 heures, on va peut être se payer le format doc pendant des millénaires, parce qu'on ne va pas toucher l'existant.
Qu'en entreprise, les gars soient traditionalistes, ça ne me choque pas, mais à la fac ça n'évolue pas non plus.
ça me fait penser aux articles sur la reconnaissance vocale qui ressortent tous les 2 ans en disant "ça y est, cette fois ça marche".
Mais pratiquement tous les algo ont été développés entre 1960 et 1980, on ne fait que les affiner, il n'y a pas de révolution.
Pour moi, le C++ quelque soit ses qualitées ou ses défauts va se retrouver dans des niches, balayé au fur et à mesure par le C# et le Java, parce ne pas gérer ses pointeurs, ça te fait gagner un max de temps, et pour les petits dév bas niveau, le C remplit trés bien son rôle de "macro-assembleur portable".
L'histoire aurait été largement changé si effectivement la STL était sortie avec le C++ en 1985, il y aurait eu une bascule beaucoup plus visible sur des dev C++, car ils auraient été beaucoup plus rapide et standard qu'en C.
Maintenant, il est beaucoup plus rapide de développer en JAVA/C#, et c'est le coût d'un développeur à la journée qui est plus important que le matériel, 3 jours de dev=1 machine, un projet de 50 personnes avec 6 jours de retard correspondent à 100 machines.
Donc même si il faut acheter un serveur à 100K euros au lieu de 50K euros pour combler le manque de performances du JAVA/C# sur le C++/C le client s'y retrouve rapidement sur les frais de développement.