L’augmentation vertigineuse des performances de nos ordinateurs est difficile à concevoir, à visualiser.
Pourtant, elle est réelle, et bien au-delà de ce qu’on pourrait imaginer.
En effet, la lenteur et la lourdeur des logiciels d’aujourd’hui, s’aggravant constamment, fait qu’il est souvent difficile de s’en apercevoir…
La Galaxie dans un PC
Prenons un exemple concret : notre galaxie, la Voie Lactée.
La Voie Lactée fait 80.000 Années-lumière de diamètre, soit environ 800.000.000.000.000.000 km, ou 800 millions de milliards de kilomètres, et elle comporte environ 300 milliards d’étoiles.
Ce sont des valeurs… astronomiques.
Supposons que l’on veuille stocker la position de toutes les étoiles de la Voie Lactée (par rapport au centre), ainsi que le type spectral (la couleur) et la classe de luminosité (la taille, de hypergéante à naine blanche), quel volume cela prendra-t-il ?
En informatique, on utilise habituellement le type "Double" pour les nombres réels (non entiers). Le "Double", occupant 64 bits (8 octets) de mémoire, offre 16 chiffres significatifs.
Avec cette précision (de -9.000.000.000.000.000 à +9.000.000.000.000.000), on peut mémoriser des distances à 100 km près dans toute la galaxie.
Sachant qu'une étoile comme le Soleil fait 1.4 millions de km de diamètre, la précision de 100 km est largement suffisante.
Les types spectral et classe de luminosité tiennent sur un octet chacun (255 valeurs possibles par octet).
Chaque étoile aura donc 3 coordonnées (x, y, z) de type Double de 8 octets, et 2 valeurs (type et luminosité) de 1 octet, soit au total 3 * 8 + 2 * 1 = 26 octets par étoile.
A raison de 300.000.000.000 d'étoiles, le volume de données sera de
26 * 300.000.000.000
= 7.800.000.000.000 octets
= 7.617.187.500 Ko
= 7.438.660 Mo
= 7.265 Go
= 7 To.
Avec 4 disques Western Digital de 2 To à 130€, vous pouvez donc stocker la position, la couleur et la taille de toutes les étoiles de la galaxie.
Et votre PC gérera sans mal ces 4 disques.
Tout votre ADN dans votre PC
Prenons un autre exemple amusant.
En 1990 sortait le livre "Jurassic Park". Il y est question de recréer les dinosaures à partir de leur ADN, en utilisant massivement des ordinateurs pour aider à la reconstitution des brins d'ADN abimés par le temps.
La chaîne d'ADN, présente dans les cellules vivantes, est un programme permettant de recréer à l'identique la créature qui les possède, et est composée d'une suite de 4 bases : A (adénine), T (thymine), C (cytosine) et G (guanine).
C'est comparable, en informatique, à l'encodage sur 2 bases (0 et 1).
Selon les êtres vivants cette chaîne est de longueur variable, mais, pour les grands vertébrés, elle tourne autour de 3.000.000.000 de bases (pour l'homme, comme, sûrement, pour les dinosaures).
En 1989, époque de Jurassic Park, c'était un volume incroyablement grand à gérer : il faut plusieurs superordinateur Cray X-MP (dans le livre) pour traiter une telle masse de données.
Le Cray X-MP/416, sorti en 1984, est le summum de la série, et le plus rapide et plus puissant ordinateur du monde à l'époque.
Il possède 4 processeurs à 117 Mhz, et une mémoire centrale de 128 Mo. On peut lui adjoindre des SSD, sorte de grandes armoires de mémoire additionnelle de 1 Go chacune, et il offre une puissance de calcul de 800 Mflops (millions d'opérations par seconde).
Ce jouet coûte, à l'époque, 15 millions de dollars.
Brochure technique sur le Cray X-MP.
Jurassic Park possède donc 3 superordinateur Cray X-MP/416 dotés chacun d'un SSD de 1 Go, soit 45 millions de dollars.
En enregistrant de façon un peu simpliste la chaîne d'ADN dans un fichier, en réservant un octet par base (c'est bien plus qu'il ne faut, mais ça facilite la lecture du fichier), la chaîne complète d'ADN pèsera 3 Go.
C'est-à-dire que la totalité de la chaîne d'ADN d'une de nos, de vos cellules, tient directement dans la mémoire vive du PC qui vous sert à lire cet article.
C'est-à-dire qu'on peut mettre deux programmes génétiques complets sur un DVD.
Et sur votre disque dur, vous pourrez stocker entre 10 et 100 fois votre génome. Rien que ça.
En 2011, vous avez entre les mains la puissance de 3 superordinateurs Cray de 1989 à 15 millions de dollars.
La lenteur croissante des applications.
Malgré les performances inimaginables de nos PC, on remarquera sans mal la lenteur extrême de nombreux programmes, particulièrement les suites bureautique.
Il est intéressant à ce sujet de faire le parallèle avec Word 5.1 sur Macintosh Plus.
Soyons clairs : 90% des fonctionnalités de Word 2003 existaient déjà dans Word 5.1, y compris l'éditeur de graphiques, l'éditeur d'images, l'éditeur de tableaux, les correcteurs grammaticaux et orthographiques, le catalogue des synonymes, les styles, la possibilité de mise en page, etc.
Le Macintosh Plus est sorti en 1986, avec un processeur Motorola MC68000 à 8Mhz et 1 Mo de mémoire vive, extensible à 4 Mo.
Word 5.1, sorti en 1992, n'est pas très véloce sur Mac Plus, mais il est parfaitement utilisable, et l'on profite de toute la puissance de ses outils sans problèmes.
20 ans plus tard, sur des machines au moins 400 fois plus rapides que le Mac Plus, Word 2010 n'est pas plus rapide ou réactif, en n'offrant que très peu de fonctions supplémentaires (et essentiellement des fonctions inutiles).
Tout le monde connait la "loi de Moore", inventée par Gordon Moore, cofondateur d'Intel, en 1975 :
« Le nombre de transistors des microprocesseurs sur une puce de silicium double tous les deux ans. »
Il ne s'agit pas d'une étude sérieuse, statistique, mais d'une prédiction empirique, qui s'est révélé jusqu'à présent exacte.
La Loi de Wirth
Et bien, la loi de Moore a son corollaire, concernant la lenteur permanente des programmes !
Cette autre loi à été formalisée par Niklaus Wirth en 1995, et nommée donc "Loi de Wirth" :
« Le logiciel ralentit plus vite que le matériel accélère. »
Le matériel a beau doubler en performance tous les 24 mois, les programmes n'accélèrent pas pour autant : au contraire, ils deviennent plus gros et plus lent, les développeurs justifiant cette lenteur excessive comme compensée par la loi de Moore !
Il faut dire qu'un grand nombre de choix très malheureux a été fait ces 20 dernières années dans le domaine de la programmation, allié à une situation de manque de développeurs.
D'un côté, l'informatique a envahi le quotidien, nécessitant une armée inexistante de développeurs : actuellement, en France, par exemple, en pleine crise, l'informatique est le seul domaine où il y a plus de postes disponibles que de candidats (offrant alors des situations particulièrement favorables pour les développeurs).
La conséquence de cette situation, c'est que pour pallier le manque de développeur, on est envahi de développeurs médiocres ou franchement mauvais, incapable de coder correctement quelques lignes (et l'on est entouré de développeurs capables de noircir 50 lignes de code pour faire une action réalisable en 5 lignes).
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.

| Don défiscalisé 10€ ou plus |
|
Obtenez une réduction fiscale de 66% avec un e-reçu. Un don de 10 € ne vous coûte que 3€40.
|
Grâce à votre aide, AgoraVox peut continuer à publier plus de 1000 articles par mois. En donnant à la Fondation AgoraVox, vous offrez un soutien à la liberté d'expression et d'information.
Tout à fait exact. Le fait est aussi que les besoins ont changé. Certes la bureautique est la même qu’en 1990, mais allez donc coder un lecteur vidéo en assembleur...
Je ne peux qu’abonder dans le sens de votre article.
En 1965, j’ai écrit, dans le cadre de ma thèse, en FORTRAN, une petite chaîne de programmes qui calculait, à partir d’observations terrestres, la trajectoire des satellites artificiels. Le but étant de mettre en évidence les irrégularités de trajectoire, c’est à dire, in fino, la forme et/ou* la masse spécifique en chaque point de l’écorce terrestre.
Il y avait une dizaine de programmes tenant dans 20 Koctets (en fait, à l’époque, il s’agissait de mots de 4 bits). Le toute écrit. par une seule personne, en moins d’un mois.
J’imagine que maintenant, plusieurs mois et des Mo seraient nécessaire à des programmeurs actuels.
En fait, en plus de 40 ans, je n’ai pas vu de progrès vraiment significatifs, de réels changement de paradigme, en programmation, si, peut-être, des avancées dans le domaine de la programmation parallèle.
On ne fait que rajouter des gadgets, on pare de mots ronflants (raffinement graduel, objets, réutilisation, fonctionnel, ...) des pratiques que les bons programmeurs ont d’instinct.
Je suis effaré de voir que chaque jour on redécouvre des choses qui existent de puis longtemps.
Par exemple, le "cloud computing" s’appelait "time-sharing" il y a une trentaine d’années.
Simplement, les progrès du matériel, permettent de mettre effectivement en œuvre des techniques existantes, mais il n’y a pas vraiment de progrès conceptuels.
Lorsque je regarde certains code source, je partage totalement votre avis quant à la médiocrité voire la nullité de certains développeurs.
* Le et/ou demanderait trop de développements pour être analysé ici et serait, de toute façon, HS.
"On ne fait que rajouter des gadgets, on pare de mots ronflants
(raffinement graduel, objets, réutilisation, fonctionnel, ...) des
pratiques que les bons programmeurs ont d’instinct."
Le progrès est justement d’avoir pris une technique de développement existante qui était fait avec les petites mains du développeur tant bien que mal et de l’avoir inclus dans un langage de sorte que leur mise en oeuvre devient facile.
Oui on peut faire de l’objet avec un langage impératif. Avec un bon usage des pointeurs sur fonction, tu peux même simuler de l’héritage. Mais quel inconfort d’utilisation ! Personne ou presque n’utiliserait l’objet s’il fallait encore faire comme cela.
De même tu peux faire des fonctions d’ordre supérieur en C plutôt que d’utiliser un langage fonctionnel, mais si tu as besoin de fonctions d’ordre supérieur, il sera surement plus agréable d’écrire le code en ML.
Et quid du typage ? Trouves tu que le C et le Pascal ont une sécurité de typage satisfaisante ? (Même en compilant en -Wall sur gcc ?). En théorie bien sur, un bon développeur ne fera jamais d’erreur de typage. Sauf que tout homme est étourdi. Quand tu as des crash sur un projet de 6 millions de ligne de code qui occasionnent des indisponibilités tout ca parce qu’un mec a casté un pointeur en integer (vécu), crois moi tu regrettes que le langage n’ai pas empéché cette action et bloqué la compilation. Après oui le développeur n’avait pas à caster en int sont pointeur mais c’est un autre problème. L’empécher de faire cette connerie est déja un progrès.
Pour la gestion mémoire aussi, tu aimes les buffers overflows avec le C ? Bien sur, tu es un bon développeur et n’en fait jamais sans doute ? Ou plutôt tu es comme tout le monde et tu as passé parfois un peu de temps avec un debugger mémoire à trouver que tu avais écrasés certaines structures de données utilisées par malloc() en interne. Surement que l’on peut s’e satisfaire, mais l’empécher est un progrès.
"Par exemple, le "cloud computing" s’appelait "time-sharing" il y a une trentaine d’années.
Simplement,
les progrès du matériel, permettent de mettre effectivement en œuvre
des techniques existantes, mais il n’y a pas vraiment de progrès
conceptuels."
Si le cloud "fonctionne" et si des plateformes PaaS voient effectivement le jour et sont satisfaisante cela sera déja un progrès. Rien que le fait de fonctionner avec un cluster de commodity servers est un progrès. Et nécéssite un travail important pour que cela marche à la fin.
Quand aux progrès conceptuels, allez voir dans les labos. Allez voir par exemple ce qu’est le model checking. Mais il faudra encore beaucoup de temps avant que tout cela ne soit intégré à nos outils. De même que des choses comme le garbage collector ont mis du temps à être intégré à nos environnements (de maniére efficace).
"Lorsque je regarde certains code source, je partage totalement votre avis quant à la médiocrité voire la nullité de certains développeurs. "
Ah ca oui par contre. Et j’ajouterai que l’utilisation de la syntaxe du C dans d’autres langages est un désastre. Combien de gens formés correctement au C codent de la même façon en Java et ont des perfs de merde ? Dans ce cas le langage n’y est pour rien. Si Java avait une autre syntaxe au moins les gens seraient conscient du fait qu’ils ne savent pas coder dans ce langage et peut être apprendraient il à le faire (ou à utiliser un autre langage).
Le matériel informatique, c’est comme pour la HiFi, la vitesse est toujours dépendante du maillon le plus faible.
Je ne vais pas vous faire un cours d’informatique.
Je me souviens d’une phrase caractéristique et bien vrai :
"even if you have a 1000 MHz, 2000 MHz, or 10.000 MHz, you are still waiting at the same time".
Signed by an old informtician 
Le matériel informatique, c’est comme pour la HiFi, la vitesse est toujours dépendante du maillon le plus faible.
Cela dépend de la nature de l’application. Une application de calcul scientifique lourde va consommer de la RAM, un SGBD va fortement dépendre de la mémoire de masse.
Si donc vous écrivez essentiellement des applis de gestion de bases de données mieux vaut les faire tourner sur une machine avec un bon disque quelque soit le processeur. Si vous vous spécialisez dans le calcul scientifique prévoyez beaucoup de mémoire vive un ou plusieurs bons procs et utilisez le parallélisme autant que faire se peut.
Abou,
"Cela dépend de la nature de l’application."
Exact. Alors, analysons ce qui est utilisé le plus dans l’entreprise. A mon avis, le domaine scientifique est assez marginal. L’applicatif qui tourne autour de la gestion de société est encore le plus utilisé. Comment se pratique-t-il ?
En réseau, reliés à des grosses machines à distance. Quel est le maillon faible (ou qui peut l’être) ? Les moyens de la communication, le débit, Intranet et Internet.
Les vieux moyens d’input et output passent plus par là. On imprime moins.
Des extractions de données se passent ensuite et sont envoyés vers des solutions externes utilisant les outils Offices.
La décentralisation se produit ainsi.
Notre journal L’Echo, a un article du jour sur le sujet.
Titre "L’Europe va tester la réalité du haut débit".
C’est pas gagné d’avance du côté des communications. 
au sujet de l’article de l’Echo, il s’agit d’un contrat de 2,6 millions d’euros avec la société SamKnows qui est chargé par l’Europe d’analyser les bandes passantes fournies par les fournisseurs d’accès en Europe.
En jeu, 50 milliards de développement en infrastructure digitale.
Du bon et du mauvais dans cet article.
Je suis d’accord avec vous sur un point : Le manque de développeurs qualifiés nuit grandement à l’industrie informatique.
Mais ceci me donne envie de hurler :
"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."
Et bien non. Pourquoi ne codez vous plus en C ou Pascal ? Parce que les applications se sont complexifiées De l’interface graphique kikoolol (plus en noir et blanc) à des fonctionalités nouvelles comme la correction ortographique qui se fait au fur et à mesure que vous tapez, le ’smart art’ pour faire à la volée des dessins sans se prendre la tête, le lissage des polices, et ne l’oublions pas l’augmentation de la résolution de votre écran etc, etc, ...
Or, il y a une limite à ce que le cerveau humain peut encaisser en terme de complexité. Il y a donc deux solutions, soit se limiter en termes fonctionnels, soit faire évoluer nos langages et outils pour pouvoir travailler plus efficacement. L’évolution des langages correspond à ce besoin : Modulo une perte en performance (qui est réelle mais peut être maitrisée si le développeur est compétent), vous diminuez la complexité du code et donc vous pouvez écrire un code plus gros sans bugs.
Lorsque les premiers gestionnaires de mémoire virtuelle sont apparus (il y a fort longtemps), c’était un jouet couteux et certains informaticiens trouvaient que c’était inutile et qu’un vrai développeur pouvait tout à fait s’en passer. Or, aucun système multi-tache ne serait fiable sans cette évolution (qui reste couteuse). La même chose pour le C qui fut un truc pour les "tafioles" car les vrais hommes codaient en assembleur ;) Mais essayez d’écrire Microsoft Word en 100% Assembleur et vous allez voir le résultat.
Après les jérémiades sur les performances de l’objet et même de langages décriées pour leur perf comme le java sont une histoire de mauvais développeurs qui éssaient de coder en Java comme ils codent en C ce qui donne des performances merdiques. Un bon développeur java (c’est rare et cher) approche les perfos d’un bon développeur C++ à quelques pourcent près. Dans certains cas, il peut même les dépasser à cause des optimisations permises par le JIT (qu’un compilateur statique ne peut pas réaliser). Maintenant comme peu de devs ont appris à faire de l’orienté objet correct, forcément le résultat est merdique. Mais la solution n’est pas de ne pas utiliser l’objet, juste de former les devs aux technos qu’ils utilisent.
Beaucoup d’informaticiens conspuent ainsi les langages plus évolués que le C, ils ont tort. Non seulement ces langages sont rapides si on prend le temps de bien les utiliser (mais la le fait que beaucoup reprennent la syntaxe du C est délétaire car les gens croient qu’ils vont pouvoir coder pareil en C qu’en Java ou PHP), mais en plus c’est le fait d’avoir accès à un niveau d’abstraction supérieur qui fait la différence car cela vous permet d’écrire vite et bien des applis complexes. Les langages à objets qui supportent l’introspection par exemple permettent d’écrire très rapidements des codes élégants, et simple à maintenir. Et même si on y perd un peu en performance, dans la plupart des projets, le gain dépasse largement le coût : Des dizaines de jours hommes économisés d’un coté contre 300$ de hardware en plus ? Et vous choisissez quoi ?
Enfin avez vous tant besoin de vitesse lorsque vous utilisez un ordinateur ? Dans la plupart des cas votre CPU ne fout rien. Dans les quelques pouillémes de cas ou vous avez besoin de perfo, rien ne vous empéche d’écrire en C la routine importante (voir de retoucher le code ASM produit si vous savez comment marche le pipeline), mais pour du boulot général, cela n’a aucun intérêt.
Marc,
Exact.
Si je te disais ce que j’ai réalisé avec de petits crincrins de 4K qui devenait une merveille quand on passait à 8K.
Moi, ce n’était pas en C, c’était en assembler.
Là, on divisait les bits en deux.
Tu as lu ma "Grande gaufre" ?
Ça c’est de l’histoire vue de l’intérieur... 
Ce qui me manque aujourd’hui, ce sont les dumps de mémoire quand cela se plantait.
Qu’est-ce qui a vraiment changé ?
Le "user friendlyness" pour que les non-informaticiens s’y intéressent.
Il fallait toucher plus de monde. Le marketing a suivi le mouvement.
Alors, il y a eu eu les belles images, le son, les vidéos sur les écrans ...
Le plug and play....
Il faut bien que jeunesse se passe... 
@L’Enfoiré
Jamais codé en assembleur pour le boulot, mais un peu à titre perso pour le fun et j’adorais cela ! Lol ca donne envie de se refaire un bon core war ;)
Excellent votre commentaire. J’aurais dû me douter que vous étiez l’un des derniers maso d’assembleur qui restent.
Cela commençait par l’assignation de la mémoire en ’tranches" par les registres :
BALR *,3
USING 4,5,6
Toutes les instructions qui suivait en utilisant cet adressage :
Exemple un MOVE :
MVC 0(4,5),2(6)
Traduction transfert du 4 caractères de l’adresse +2 du registre 6 vers l’adresse du registre 5
Amusant, non ?
Excellente mise au point de quelqu’un qui connait le sujet. J’en rajoute une couche un peu plus loin.
Du bon et du mauvais dans cet article.
L’auteur a complétement raison... soit vous êtes incompétents soit de mauvaises foi.
Je suis d’accord avec vous sur un point : Le manque de développeurs qualifiés nuit grandement à l’industrie informatique.
C’est l’industrie informatique qui impose la médiocrité des développeurs. Et pas le contraire.
Mais ceci me donne envie de hurler :
"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."
Ben si !!! Cela serait même problématique car cela ferait effondrer le marché du logiciel actuel...et mettrait au grand jour l’incompétence de nombreux prestataires.
Et bien non. Pourquoi ne codez vous plus en C ou Pascal ? Parce que les applications se sont complexifiées De l’interface graphique kikoolol (plus en noir et blanc) à des fonctionalités nouvelles comme la correction ortographique qui se fait au fur et à mesure que vous tapez, le ’smart art’ pour faire à la volée des dessins sans se prendre la tête, le lissage des polices, et ne l’oublions pas l’augmentation de la résolution de votre écran etc, etc, ...
Et bien non !! Les applications sont les mêmes depuis 20 ans. Et on oblige à re-coder les mêmes applications dans de nouveau langage plus lourd. C’est que démontre l’auteur avec le parallèle des logiciel "word".
Et quand on fouille les plateformes de fabrication logiciel on s’aperçoit quelles sont programmées en C ou C++.
le principe des bibliothèques est là pour répondre au besoin de complexité.
En plus il n’est pas rare que les parties les plus complexes d’un programme soient reprogrammées en C non plus !!!
Or, il y a une limite à ce que le cerveau humain peut encaisser en terme de complexité. Il y a donc deux solutions, soit se limiter en termes fonctionnels, soit faire évoluer nos langages et outils pour pouvoir travailler plus efficacement. L’évolution des langages correspond à ce besoin : Modulo une perte en performance (qui est réelle mais peut être maitrisée si le développeur est compétent), vous diminuez la complexité du code et donc vous pouvez écrire un code plus gros sans bugs.
L’évolution des langages réponds à la demande des industriels de pisser du code plus rapidement. La notion d’efficacité matériel est secondaire.
La seconde raison d’évolution des langages concernent la technologie. Notamment les réseaux et internet. Certains langages répondent mieux à une utilisation réseau que d’autres. Chaque langage à ses limites et avantages. En général un langage ne répond pas à tous les critères à l’exception du C et de l’assembleur.
Lorsque les premiers gestionnaires de mémoire virtuelle sont apparus (il y a fort longtemps), c’était un jouet couteux et certains informaticiens trouvaient que c’était inutile et qu’un vrai développeur pouvait tout à fait s’en passer. Or, aucun système multi-tache ne serait fiable sans cette évolution (qui reste couteuse). La même chose pour le C qui fut un truc pour les "tafioles" car les vrais hommes codaient en assembleur ;) Mais essayez d’écrire Microsoft Word en 100% Assembleur et vous allez voir le résultat.
Le C n’a jamais été considéré comme un langage de tafiole... Le basic voir le pascal....oui !!! Et l’assembleur reste toujours le langage des pros.
Les programmes de gestion de la mémoire virtuelle existe depuis le début d’unix et la gestion de la mémoire a toujours été un enjeu important dans la programmation d’un logiciel. D’ailleurs de nombreux logs possèdent leurs propres gestionnaires de mémoires virtuelles (d’où la raison du désintéressement des premières softs généralistes de gestion de mémoire virtuel).
Perso... si quelqu’un écrit word en assembleur, je veux voir,Car oui le résultat sera bluffant voir monstrueux mais c’est un put... de challenge...
sachez quand même que le code que l’on pisse en informatique est de toute façon traduit en assembleur par le compilateur....
Le problème de la prog en assembleur est la portabilité réduite car l’assembleur est spécifique à chaque microprocesseur. D’où les fameuses bibliothèques et leurs utilités et le concept de portabilité.
Après les jérémiades sur les performances de l’objet et même de langages décriées pour leur perf comme le java sont une histoire de mauvais développeurs qui éssaient de coder en Java comme ils codent en C ce qui donne des performances merdiques. Un bon développeur java (c’est rare et cher) approche les perfos d’un bon développeur C++ à quelques pourcent près. Dans certains cas, il peut même les dépasser à cause des optimisations permises par le JIT (qu’un compilateur statique ne peut pas réaliser). Maintenant comme peu de devs ont appris à faire de l’orienté objet correct, forcément le résultat est merdique. Mais la solution n’est pas de ne pas utiliser l’objet, juste de former les devs aux technos qu’ils utilisent.
Il y a beaucoup de mauvais développeurs.... c’est clair !!!
JAVA n’approchera jamais les performances du C++ ou du C... pour une raison technique et assez simple !!! JAVA a besoin d’une machine virtuel pour fonctionner... une couche supplémentaire...
Beaucoup d’informaticiens conspuent ainsi les langages plus évolués que le C, ils ont tort. Non seulement ces langages sont rapides si on prend le temps de bien les utiliser (mais la le fait que beaucoup reprennent la syntaxe du C est délétaire car les gens croient qu’ils vont pouvoir coder pareil en C qu’en Java ou PHP), mais en plus c’est le fait d’avoir accès à un niveau d’abstraction supérieur qui fait la différence car cela vous permet d’écrire vite et bien des applis complexes. Les langages à objets qui supportent l’introspection par exemple permettent d’écrire très rapidements des codes élégants, et simple à maintenir. Et même si on y perd un peu en performance, dans la plupart des projets, le gain dépasse largement le coût : Des dizaines de jours hommes économisés d’un coté contre 300$ de hardware en plus ? Et vous choisissez quoi ?
Bref...
vous faites l’apologie de la médiocrité...
Prenez une cuillère en plastique et une cuillère en métal. L’une des deux fera bien mieux sont boulots pendant plus longtemps et avec un meilleur rendement pour l’acheteur.
Enfin avez vous tant besoin de vitesse lorsque vous utilisez un ordinateur ? Dans la plupart des cas votre CPU ne fout rien. Dans les quelques pouillémes de cas ou vous avez besoin de perfo, rien ne vous empéche d’écrire en C la routine importante (voir de retoucher le code ASM produit si vous savez comment marche le pipeline), mais pour du boulot général, cela n’a aucun intérêt
Bien il est certain que vous êtes aveugle ou bien incompétent dans le domaine.
La moindre application arrive à mettre à genou les processeurs de maintenant. Des bêtes de course qui sont gavés de code de mauvaise qualité, de redondance inutile, de lourdeur algorithmique, etc...
La perte de temps n’est pas seulement notable mais effrayante !!
Un super pc d’aujourdhui ne va pas plus vite qu’un Pc d’il y a 10 ans pour une application identique dans sa forme et son utilisation.
Une légion d’informaticien incompétent qui font les choux gras des industriels qui ne recherchent que le "courtermiste" et plus grave une consommation d’énergie inutile.
Les bons informaticiens n’ont pas d’autres choix que de s’aligner sur la nullité de cette société !!!
Bref on nous fait perdre notre temps, notre argent et favorise la médiocrité au dépend de ceux qui sont capables de réaliser des choses qui en valent le coup.
L’auteur a non seulement raison mais involontairement il met en valeur non pas votre incompétence mais votre mauvaise foi.
Si vous voulez quelques exemples de programmation avec les pieds : allez sur le site de leroymerlin, castrorama, boursorama, etc.... question soft c’est facile à trouver il suffit d’aller chercher dans les softs vendus par les majors...
Yoann,
"Le manque de développeurs qualifiés nuit grandement à l’industrie informatique. C’est l’industrie informatique qui impose la médiocrité des développeurs. Et pas le contraire."
Oui. Absolument. Alors, il faut en rechercher l’origine. Elle vient de cette fuite en avant qui veut que tout le monde est obligé de courir pour implémenter la nouvelle version d’un logiciel. Alors, il faut passer des heures à suivre des cours. La version précédente n’est pas encore testée et implémentée que le marketing impose d’étudier la suivante.
Exact. donc ? Plus le temps de consolider les connaissances. Obligé d’aller de l’avant. Les anciens softs suivent le même mouvement et restent aussi à la traine pour ajouter la dernière nouveauté inventée chez un concurrent ou au niveau hardware. Les mises à jours des softs en sont une preuve. Elles sont même automatiques/
"Et bien non !! Les applications sont les mêmes depuis 20 ans. Et on oblige à re-coder les mêmes applications dans de nouveau langage plus lourd. C’est que démontre l’auteur avec le parallèle des logiciel "word".
YES. Ok pour le reste.
rem : On n’est pas obligé de suivre comme des moutons !!!
Je soutiens la position de Yoann. L’informatique, j’ai laissé tomber au début des années 2000, et suis passé à un domaine totalement différent. Cela dit, j’ai pas oublié mes bases, et d’un point de vue strictement économique, les deux points-clefs de la controverse sont ceux-là :
Marc Bruxman :
Des dizaines de jours hommes économisés d’un coté contre 300$ de hardware en plus ? Et vous choisissez quoi ?
À quoi Yoann répond ceci :
Vous faites l’apologie de la médiocrité...
Prenez une cuillère en plastique et une cuillère en métal. L’une des
deux fera bien mieux sont boulots pendant plus longtemps et avec un
meilleur rendement pour l’acheteur.
La question ici est celle
de l’arbitrage entre divers facteurs, tels que la consommation de
ressources, l’investissement dans la production de hardware plutôt que
dans le développement, la valeur de l’argent par rapport aux ressources
et aux "jours-hommes", et l’arbitrage entre capital humain et capital
industriel. Ces questions touchent aux choix socio-économiques
fondamentaux de la société où tout ceci se déroule. Les adeptes de la
solution "hardware" estiment qu’avec un simple upgrade hardware
relativement bon marché, l’entreprise économise des capitaux sur les
charges personnel, ce qui la rend plus efficace et se traduit par un
meilleur rendement du capital investi pour les investisseurs. C’est pas
faux, et c’est en effet la meilleure solution dans le cadre de notre
système économique actuel.
Maintenant, examinons les conséquences concrètes d’une telle situation. Plutôt que d’employer un développeur de plus, nous importons du matos américain (les CPUs relèvent du duopole Intel-AMD), ce qui provoque une fuite de capitaux de l’économie locale vers l’économie américaine correspondant grosso-modo à la somme que nous dépensons en hardware. De plus, la production de CPU étant fortement automatisée, l’argent de ces CPU s’en va dans la poche du très riche capitaliste propriétaire de la machine qui fabrique ces CPU, et qui, de toute façon la fait fonctionner dans quelque pays misérable du Tiers-Monde pour un bol de riz les 10 Quadcores. Quant au capitaliste, l’argent sera au choix, réinvesti dans le développement et le marketing du prochain CPU encore plus puissant que le précédent, placé chez un banquier ou bien en bourse, c’est à dire, détourné vers l’économie dite "virtuelle". Enfin, comme ces CPU nous dispensent d’embaucher un codeur de plus, on fabrique un chômeur supplémentaire, ce qui signifie que celui-ci a été formé en vain. On est dans un schéma de rentabilisation maximale du capital par externalisation de coûts environnementaux (ressources inutilement gâchées pour produire les CPU) et sociaux (délocalisations, chômage, gaspillage de capital humain).
Dans ce schéma monstrueux, où la machine pourtant censée aider les hommes, le seul à bénéficier des retombées du processus productif est celui qui possède la grande Machine à fabriquer les machines. Ce type de système, poussé à son paroxysme, nous donne fatalement une situation où quelques riches possèdent tous les outils de production et exploitent sans vergogne une armée de misérables qui eux ne possèdent rien, et n’ont pas la moindre sécurité économique. C’est évidemment très simplifié, mais néanmoins vrai. L’arbitrage entre embaucher, c’est à dire, faire faire le travail par les hommes, ou bien, concentrer le capital, c’est à dire, investir dans l’outil de production est un choix de société et débouche, comme on l’a vu, vers des conséquences sérieuses . La question qu’on devrait se poser n’est pas de savoir combien d’heures-homme je "gagne" si je remplace mes ordinateurs par des ordinateurs plus récents et performants, mais de savoir à QUI ces gains d’efficacité profiteront-ils, et sont-ils justifiés eu égard au projet de société en vue. Il existe évidemment des situations où une économie de ce type est justifiée, par exemple, une situation de guerre économique, ou de guerre tout court. Mais ce qu’il faut saisir, c’est que le choix de mettre en œuvre une économie de guerre doit relever de la société et non de quelques individus.
Si la machine permettait de libérer l’homme afin qu’il puisse se consacrer à autre chose, alors, je dirais : vive la machine ! Malheureusement, chacun sait qu’il n’en est pas ainsi dans nos démocraties capitalistes. La machine sert, depuis au moins l’époque des filatures de Manchester et de Lyon, à écraser les salaires des misérables qui font fonctionner la machine (le chômeur ne coûte rien au capitaliste, et de plus, fait office d’épouvantail pour ceux qui ont encore un emploi, ce qui les pousse à accepter des salaires plus faibles ou des conditions de travail plus dures). Le propriétaire de la dite machine, s’enrichit scandaleusement, tandis que la société en supporte les conséquences (chômage, misère sociale, ressentiment, etc.).
Maintenant, considérons la réponse que Marx apporte à ce problème qu’il a eu le mérite d’avoir formulé en ces termes que je viens d’exposer plus haut : le capitalisme d’État, où le capitaliste propriétaire de la machine n’est pas un individu mais le Léviathan étatique. Cela n’a pas eu les résultats espérés, mais même en admettant que cela fonctionne comme Marx l’entendait (c’est à dire, alléger dans une certaine mesure le fardeau du travail de production), on peut se retrouver confronté à des problèmes d’un tout autre genre. Par exemple, le désœuvrement, la dépendance excessive du système productif envers la machine, ou encore sur-concentration de pouvoirs dans les mains de l’État avec tout le cortège de risques funestes que cela implique (bureaucratisation, totalitarisme, violence sociale).
Ce qui me conduit à conclure que la réponse capitaliste à l’arbitrage entre capital et main d’œuvre, qu’elle soit privée ou étatique est rarement la bonne. Gardons-nous d’en conclure trop vite que la machine et les outils sont préjudiciables à la sanité sociale ; ce que je cherchais à montrer, c’est que c’est la machine qui doit servir l’homme et non l’inverse. Quand le capitaliste se sert du capital pour réduire les charges de personnel, en vérité, il asservit ce personnel par le jeu du mécanisme ci-dessus décrit. Il semble que la société, dans son ensemble, a tout à gagner à préférer l’embauche de main d’œuvre supplémentaire à l’acquisition de machines. À moins, bien sûr, que ces machines ne fassent ce qu’on en attend généralement : décharger l’homme de tâches ingrates, et démultiplier son potentiel.
Merci Bovinus de privilégier les solutions humaines et sociologiques aux orientations technocratiques que choisit le système capitaliste esclavagiste :

Bonjour
Vous devriez vous amuser a démonter un graphique Excel dans un logiciel de dessin vectoriel comme Illustrator ou Corel Draw vous allez comprendre pourquoi cela rame sec.
Vous allez découvrir que derrière le cadre il y en a un deuxième voire un troisième, idem pour tous les autres tracés. Je suis obligé de faire cette opération fastidieuse de "démontage" pour intégrer le graphique dans des applications ou je dois conserver le vectoriel mais avec une contrainte de poids.
Pour Word c’est plus simple un copié-collé du texte dans le bloc-note et sauvegarde en txt pour enlever toute la "merde" attachée.
Radix
Dans un PC le composant qui est le véritable goulet d’étranglement depuis l’existence de l’ordinateur et vous oublier de le dire dans votre article en terme de rapidité est le disque dur qui certe croit sans arret en capacité (des 4 TO viennent de sortir au Japon) mais en terme de débits ça ne progresse quasiment plus depuis un bon moment !!!!
Quand on voit les gains apporté par les SSD ou on passe de 100 Mo/sec en lecture/écriture avec les disque dur dans le meilleur des cas à 300/400/500 mo/sec voir plus de 1 GO en lecture/ écriture avec un SSD en PCI express et encore ca va continer à évoluer et s’améliorer tout en baissant.
Les logiciels lourds n’ont qu’a bien se tenir !!!
Les SSD sont capable de lire et d’écrire des petits fichiers à très grande vitesse là où le disque dur classique rame comme pas possible.
Encore un spécialiste...
Vous semblez confondre l’espace de stockage d’un ordinateur et sa puissance...
Votre article aurait eut tellement plus d’impact en expliquant qu’un i7 haut de gamme est 130x plus puissant (en terme de flops) qu’un cray X-MP. Dommage, vous vous contentez de donner des quantités d’infos stockées, c’est sans intérêt et sans grande significations...
P.S. : "comme les langages interprétés (Java tout particulièrement, .net, Javascript, Python, etc)"
Java et les langages dotnet ne sont pas interprétés mais compilés (en byte code certe mais compilés quand même). Quand à java script et python ce ne sont certainement pas eux qui ralentissent tes applis, ils ne servent pas à ça...
Cet article est un article de vulgarisation, destiné au non spécialiste, afin de montrer de façon pratique et amusante les performances (en mémoire essentiellement) de nos ordinateurs, et les raisons des lenteurs pourtant constatées.
Le byte-code est un code machine interprété : il n’est pas natif. Il n’y a que les fanboy java pour oser jouer sur les mots, en prétendant qu’il est compilé, comme le serait du C.
Je dois être un gros fanboy Java, alors. 
@cob
Le JIT ne change rien au fait que le byte code n’est pas natif.
Par ailleurs, le JIT n’est pas valable sur toutes les plateformes, et la perte de performances avec la compilation JIT existe toujours.
Enfin, c’est totalement absurde de générer du byte-code, pour ensuite, en temps réel, le recompiler encore une fois en code machine natif.
C’est une solution d’ingénieur, qui amuse les ingénieurs, c’est tout.
Il est tellement plus logique de générer nativement du code machine natif pour chaque plateforme, comme le fait par exemple le freepascal.
Cet article est un article de vulgarisation, destiné au non spécialiste,
afin de montrer de façon pratique et amusante les performances (en
mémoire essentiellement) de nos ordinateurs, et les raisons des lenteurs
pourtant constatées.
Ceci ne vous autorise pas à dire des choses fausses.
C’est une solution d’ingénieur, qui amuse les ingénieurs, c’est tout.
Les ingénieurs ont mieux à faire que de concevoir des programmes pour la multitude d’architectures existantes et de passer leur temps en maintenance. Le byte-code, les machines virtuelles c’est LA solution aux architectures multiples et aux problèmes d’évolution.
Vous parlez (très mal) de ce que vous ne connaissez pas.
La JVM n’interprète quasiment plus rien, en tout cas pas les sections de code critiques du type boucle-for. Historiquement, le Bytecode était destiné à être interprété mais ce n’est plus vrai aujourd’hui. Le JIT est plutôt devenu la règle que l’exception.
Abou,
"Les ingénieurs ont mieux à faire que de concevoir des programmes pour la multitude d’architectures existantes et de passer leur temps en maintenance. Le byte-code, les machines virtuelles c’est LA solution aux architectures multiples et aux problèmes d’évolution.."
Je suis bien d’accord, mais ce n’est pas ce qui se passe.
Le métier a bien changé. A mes débuts (bien avant les PC), j’ai développé du software de base.
Tout était à faire.
Puis sont arrivés les PC, les langages se sont multipliés. Les versions (pour raison de marketing) aussi. Le gros et nouveau problème, c’était de garder la compatibilité entre chacun. Là, les surprises ont été nombreuses.
Accommoder la version d’un soft 2.8 d’un fournisseur avec la version 6.43 d’un autre.
On est passé tout doucement à la maintenance et à moins de développement pur "from scratch".
Un petit texte qui a son importance dans ce jeu de quilles 
"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."
Ces langages n’ont rien permis du tout, on pouvait parfaitement le faire en Pascal, voir même en Fortran, à partir du moment où l’on codait proprement, et en étant prévoyant.
Le Pascal a été inventé pour apprendre la programmation et le fonctionnement d’un compilateur, c’était et ça reste le meilleur langage pour débuter.
D’ailleurs, quand on a appris à coder en Pascal, on code proprement ensuite dans tous les autres langages.
D’ailleurs, quand on a appris à coder en Pascal, on code proprement ensuite dans tous les autres langages.
C’est tout simplement absurde !
Vous allez prétendre qu’un Pascalien sait par nature programmer proprement en LISP en ALGOL ou en HASKELL ???
Ces langages n’ont rien permis du tout, on pouvait parfaitement le faire
en Pascal, voir même en Fortran, à partir du moment où l’on codait
proprement, et en étant prévoyant.
Errare humanum est, perseverare diabolicum !
Vous êtes un vrai dinosaure (moi je suis simplement vieux).
Je vous retourne la même chose.
Vous êtes aveuglé par les dogmes modernes.
Je préfère être un dinosaure, et être un bon codeur, soucieux de l’utilisation des ressources, que d’être à la mode et faire du code pourri.
Soyons honnêtes : jamais on a eu autant de problèmes à cause des ordinateurs ! Bagnoles ne démarrant pas, ascenseurs ne fonctionnant pas, trains en rade, etc !
Vos nouveaux langage n’ont fait qu’apporter des problèmes, et pas vraiment des solutions, sous couvert de rentabilité et de modernité !
Erreur dans mon post précédent :
Vous allez prétendre qu’un Pascalien sait par nature programmer proprement en LISP en ALGOL ou en HASKELL ???
Je voulais dire LISP, PROLOG ou HASKELL.
C’est vrai que dans votre entreprise de démolition vous avez oublié le langage PROLOG.
"Ces langages n’ont rien permis du tout, on pouvait parfaitement le faire en Pascal, voir même en Fortran, à partir du moment où l’on codait proprement, et en étant prévoyant.
Merci d’éviter les messages limite hors-sujet, ne s’arrêtant que des deux dernières lignes de l’article.
L’article traite de ce dont son capables les ordinateurs d’aujourd’hui, par des exemples très parlant, puis enchaine sur la loi de Wirth, qui est vérifiée tous les jours.
Je sais qu’AV est fréquentée par de nombreux informaticiens, qui sont fréquemment des intégristes de leur langage (spécialement Java, comme le confirment les posts plus haut), mais je leur serait reconnaissant de ne pas polluer les commentaires.
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
Le paragraphe n’a rien de malheureux : vous n’êtes pas le détenteur de la Vérité, et vous ne partagez pas mon point de vue.
Je suis développeur, je programme tous les jours, dans des langages "modernes", "à la mode" et qui ne me plaisent pas forcément.
Dans tous les cas, je n’utilise que rarissement des objets, et uniquement quand ça m’est imposé.
Je n’en ai jamais eu besoin, et je soutiens que l’ont peut parfaitement s’en passer.
Y compris pour l’interface graphique.
En l’occurence, celle de MacOS 1 à 9 était très riche, et n’avait pas grand chose à envier à celle de windows d’aujourd’hui, et elle était entièrement procédurale en Pascal.
Entièrement d’accord. Bon article, jusqu’à ce passage qui m’a aussi fait froncer les sourcils : comme s’il existait un ’idéal’ de puissance en dehors de tout objectif "pragmatique" en programmation.

Abou, je suis d’accord avec vous mais n’ai pas trop envie d’entrer dans ce genre de polémique qui refleurit d’année en année dans le monde de l’informatique. Donc, je ne vais ni défendre ni rajouter une couche à ce que vous dites.
Par contre, je voudrais apporter un avis sur le point spécifique de l’enseignement, en particulier celui dirigé à l’enfance. Sur ce terrain les langages interprétés sont imbattables, à mon avis, et en particulier le tant décrié ( c’est un autre sujet ) actionScript ( Adobe Flash ) qui permet d’écrire de véritables mini-environnements, très riches graphiquement où les enfants peuvent apprendre assez naturellement les fondamentaux de la programmation. JavaScript et HTML5 le permettent aussi mais moins facilement et avec des résultats moins attractifs, à mon avis. Il est assez facile de réécrire, dans ces langages de très haut niveau, les primitives du vieux Logo et sa tortue, tout en profitant de sa portabilité ( celle d’actionScript commence à se restreindre, encore un autre sujet ).
peut-être pourriez-vous nous expliquer le pourquoi de cette situation, c-a-d la puissance des ordinateurs freiné par la lenteur et, si je vous lis bien la médiocrité des programmes que l’on met à disposition.
pourquoi le langage C ou le Pascal ont-ils été abandonnés, ou du moins relégués à des tâches plus secondaires ?
Le dogme aujourd’hui ne jure que par la POO (Programmation orientée objet) et les langages interprétés : les différents intégristes qui sont intervenus dans les posts au dessus déroulent les arguments tout fait habituels, bien formatés.
De mon point de vue, et comme on le lit à travers les différents posts, les informaticiens se veulent "jeunes", "à la mode", "créatifs", "artistes" même.
Et les langages procéduraux classiques, proche du processeurs, performants, ont été relégués car trop techniques, pas assez abstraits, réservés aux vieux.
On nage pas mal dans le n’importe quoi actuellement, avec des idées nouvelles qui rendent les langage de plus en plus ésotériques et éloignés de la vrai nature de la machine.
pourquoi le langage C ou le Pascal ont-ils été abandonnés, ou du moins relégués à des tâches plus secondaires ?
Le langage C, que l’on peut voir comme un assembleur évolué indépendant du matériel, n’est pas abandonné et n’est pas prêt de l’être.
C’est un outil de choix pour l’écriture de systèmes d’exploitations, de pilotes, par exemple. Il ne s’agit nullement de tâches secondaires.
Il tend cependant à être de plus en plus concurrencé par sa version orientée objet C++, qui bien qu’un peu moins performant permet une plus grande abstraction et un mode de programmation un peu plus sûr.
Quand a Pascal, il n’a, de mon point de vue, plus qu’un intérêt historique comme représentant de la famille ALGOL. (N. Wirth l’a dérivé de ALGOL W lui même fondé sur ALGOL 60).
Il était assez populaire dans l’enseignement pour l’apprentissage de l’algo, mais on lui préfère de plus en plus des langages comme Python.
"On nage pas mal dans le n’importe quoi actuellement, avec des idées nouvelles qui rendent les langage de plus en plus ésotériques et éloignés de la vrai nature de la machine."
Et vous croyez donc que l’informatique se résume à piloter un dispositif électronique ? Vous n’avez visiblement pas tout compris. L’informatique n’est pas plus la science des ordinateurs que l’astronomie celle du téléscope (pas de moi, d’un grand homme, mais j’ai un trou sur son nom). Si cela était le cas, on aurait d’ailleurs pas besoin de vrais informaticiens, de bons électroniciens feraient très bien l’affaire.
Non l’informatique c’est justement tout le travail sur les langages et les théories qui vont avec, sur les systèmes et les diverses abstractions et métaphores qui permettent de batir des systèmes toujours plus complexes.
PS : Revoyez ce qu’est un compilateur car quand vous dites que le java n’est pas compilé car le résultat est en bytecode cela n’améliore pas votre crédibilité.
@marc
>> Et vous croyez donc que l’informatique se résume à piloter un dispositif électronique ?
Ca l’était, et ça aurait dû le rester.
>> Non l’informatique c’est justement tout le travail sur les langages
>> et les théories qui vont avec, sur les systèmes et les diverses
>> abstractions et métaphores qui permettent de batir des systèmes
>> toujours
plus complexes.
Justement, non. Tout ça c’est du baratin, c’est de la réflexion stérile qui ne mène à rien. C’est à cause de ça que les ordinateurs fonctionnement de plus en plus mal et de plus en plus lentement.
Les informaticiens se prennent aujourd’hui pour des artistes, des philosophes. C’en est risible.
>> PS : Revoyez ce qu’est un compilateur car quand vous dites que le
java
>> n’est pas compilé car le résultat est en bytecode cela n’améliore
pas votre crédibilité.
Justement, non. Tout ça c’est du baratin, c’est de la réflexion stérile
qui ne mène à rien. C’est à cause de ça que les ordinateurs
fonctionnement de plus en plus mal et de plus en plus lentement.
Les informaticiens se prennent aujourd’hui pour des artistes, des philosophes. C’en est risible.
Vous en êtes resté à une vison de la chose qu’il faut bien aujourd’hui qualifier de pré-historique.
La science informatique dans son ensemble vous échappe. On voit que pour vous le ’génie logiciel’ ne veut rien dire. Vous faites fi des recherches et des résultats convergents d’équipes d’universitaires en Europe, en Amérique au Japon.
Aujourd’hui les ordinateurs raisonnent (mieux que certains humains). Ils peuvent être utilisés pour démontrer des théorèmes (certaines démonstrations, comme le thm des 4 couleurs n’existent que sous-forme de programmes).
Les ordinateurs servent d’assistants à la création artistique, pour les compositeurs par exemple. ils servent à l’analyse de textes. On pense aujourd’hui que, grâce à une étude de style réalisée par ordinateur, que certaines pièces attribuées à Molière ont certainement été écrites par Corneille.
Les ordinateurs peuvent être utilisés aujourd’hui pour créer des histoires, faire des B.D. créer des films d’animation.
Des programmes s’exercent à la reconnaissance vocale, d’autres à la traduction automatique. ils sont encore maladroit mais progressent sans cesse.
Ce sont des outils de communication.
Les réseaux d’ordinateurs, et le réseau des réseaux internet, champs d’investigation de l’informatique contemporaine relèvent d’une autre vision que votre vision ’étriquée’ de l’informatique ramenée à un programmeur besogneux programmant une appli en Pascal ou en C sur un type de machine donné.
C’est une vision d’un (ancien) technicien que vous proposez à vos lecteurs.
PS : Il est faux de dire que les ordinateurs fonctionnent de plus en plus mal et de plus en plus lentement.
Je n’ai eu AUCUN crash système depuis le 10 avril 2010 date de l’installation de mon système linux. J’ai encore le souvenir des écrans bleus de DOS ou W-95.
Marc,
" on aurait d’ailleurs pas besoin de vrais informaticiens, de bons électroniciens feraient très bien l’affaire."
Bravo pour ces paroles. Le hardware est un outil qui sans le software ne serait qu’un bel écran avec des images ou un traitement de texte.
Le programme BASIC a fait croire que l’informatique était facile. Que tout le monde pouvait devenir informaticien.
"Non l’informatique c’est justement tout le travail sur les langages et les théories qui vont avec, sur les systèmes et les diverses abstractions et métaphores qui permettent de batir des systèmes toujours plus complexes."
Yes, complexes jusqu’à la nausée comme je viens de le dire.
"PS : Revoyez ce qu’est un compilateur car quand vous dites que le java n’est pas compilé car le résultat est en bytecode cela n’améliore pas votre crédibilité."
Pure java est compilé. ABSOLUMENT.
La confusion vient de javascript qui utilise quelques techniques de java
@marc
">> Et vous croyez donc que l’informatique se résume à piloter un dispositif électronique ?
Ca l’était, et ça aurait dû le rester."
Ca ne l’a pas vraiment "été". Il se trouve qu’à un moment l’informatique a été accessible pour bricoler et que cela correspondait à une explosion de la demande. Certains ont donc cru cela.
Sauf que dès les années 50, les scientifiques venus d’autres disciplines qui exploitaient le matériel informatique (et qui étaient de facto les premiers informaticiens) avaient compris qu’il fallait s’affranchir du matériel. C’est parce que des gens comme John Backus ont démarré ce type de travaux que l’informatique est devenue une science à part entiére et qu’elle est devenue aussi puissante.
Si l’on avait gardé votre raisonnement, on aurait même pas fait de système d’exploitation (vu que la plupart ne font que créer une abstraction entre le programmeur et le matos), on aurait pas conçu de SGBD.
"Justement, non. Tout ça c’est du baratin, c’est de la réflexion stérile qui ne mène à rien. C’est à cause de ça que les ordinateurs fonctionnement de plus en plus mal et de plus en plus lentement. Les informaticiens se prennent aujourd’hui pour des artistes, des philosophes. C’en est risible."
Vous semblez vous satisfaire d’un savoir faire que vous avez acquis (ce qui est déja bien tant peu de gens ne savent même pas programmer en impératif) et ne pas vouloir allez voir comment vous pourriez dépasser ce niveau. C’est bien dommage. La réflexion permet et a permis de construire des logiciels de plus en plus complexes et utiles. Auriez vous développé un logiciel de CAO en langage C ?
Si vous voulez vous éclairer un peu, regardez ce qu’on fait dans leur carriére les lauréats du prix Turing. La plupart ont cherchés à construire des outils pour nous libérer des contraintes matérielles lorsque nous développons des applications. Cela ne veut pas dire que le matériel n’est plus pris en compte. La plupart des compilateurs par exemple sont plus efficaces que l’humain pour générer du code assembleur (à moins de passer plusieurs jours à optimiser son code pour le pipeline ce que le compilo fait vite et bien et l’humain peut être un peu mieux mais trèèèssss lentement).
"Java n’est pas compilé en code natif.
Autrefois, compilé s’opposait à interprété, l’un étant en code natif, pas l’autre.
Aujourd’hui, comme souvent, on a tout bien mélangé."
Et qui vous a dit que l’on devait forcément compiler en code "natif" ? D’ailleurs du code natif vu que l’on va de plus en plus utiliser la virtualisation c’est quoi ?
Je trouve qu’en matière de logiciels (grand public), l’informatique n’évolue pas, mais elle régresse.
Pour moi, c’est dû en partie à certains éditeurs, comme Adobe, qui rachètent les concurrents pour éliminer la concurrence (Macromedia), qui sortent, sans cesse de nouvelles versions, toutes plus "usines à gaz" les unes que les autres et qui n’apportent aucune nouveauté notable. Faut bien vivre...
Les logiciels ne s’améliorent pas au fil des versions, mais ils se complexifient... et apportent des incompatibilités obligeant à acquérir la version suivante.
En matière de système d’exploitation, selon mon utilisation : Windows 7 représente, à mon avis une avancée importante au niveau de la facilité d’utilisation et de la fiabilité (la restauration système est vraiment efficace)... alors que Mac OS X dans ses dernières versions peut être sujet à des problèmes (mise en veille par ex., ou d’autres problèmes plus sérieux nécessitant une réinstallation). Bref, le Mac devient un "machin", ça n’est plus ce que c’était. J’ai plus de problèmes avec mes Mac qu’avec mes PC.
Une chose qui m’horripile assez : les sauvegardes à la Time Machine, qui font travailler les disques inutilement, et qui n’aident pas l’utilisateur de base en cas de problème ; les indexations à la Spotlight qui affichent le contenu des mails lorsqu’on recherche simplement un fichier, et qui "noient" l’utilisateur de base dans un flot de réponses.
A mon avis, la seule évolution souhaitable de l’informatique pour l’utilisateur, est une plus grande simplicité. Ca serait ça, pour moi, l’âge d’or de l’informatique. Mais on en prend rarement le chemin, en faisant à chaque fois du neuf.
Les power user apprécient, mais les simples utilisateurs souffrent.
Exactement !
Ce que vous dite rejoins ce que je pense : au lieu d’être entre techniciens chevronnés, on est coincé entre des commerciaux incompétents imposant des solutions "à la mode", et des ingénieurs médiocres qui se prennent pour des artistes, qui n’en font qu’à leur tête, et tout cela absolument pas dans l’intérêt de l’utilisateur.
Les langages, comme les logiciels, sont devenus obscurs, complexes, et peu performants.
C’est la loi de Wirth.
Et tous les posteurs précédents soutenant les POO, Java et consorts ne sont que les artisans de la loi de Wirth. Les utilisateurs en sont les victimes.
A mon avis, la seule évolution souhaitable de l’informatique pour
l’utilisateur, est une plus grande simplicité. Ca serait ça, pour moi,
l’âge d’or de l’informatique. Mais on en prend rarement le chemin, en
faisant à chaque fois du neuf.
Les power user apprécient, mais les simples utilisateurs souffrent.
Vous affirmez une contre vérité. C’est parce que les interfaces graphiques se sont développées que Monsieur Tout Le Monde peut aujourd’hui utiliser un ordinateur de bureau.
Si les ordinateurs étaient restés ce qu’ils étaient du point de vue de l’interface et des performances il y a 30 années vous ne pourriez pas participer à cette discussion depuis votre domicile.
Et tous les posteurs précédents soutenant les POO, Java et consorts ne
sont que les artisans de la loi de Wirth. Les utilisateurs en sont les
victimes.
Parce que comme tout le monde sait W-7 a été écrit en Pascal, sans faire appel à la POO.
Oui enfin le technicien chevronné a quand même écrit bcp de bétises ce soir et ferait bien d’être un peu plus humble. Car à vouloir refuser toute innovation, au motif que l’on peut aussi bien le coder en C, sans objet comme au bon vieux temps on finit par se transformer en dinosaure.
Citez moi les bêtises en question, et démontrez moi, puisque vous êtes si malin, que grâce à toutes les fumisteries qu’on a inventé dans le domaine des langages, les ordinateurs vont aujourd’hui plus vite, de façon plus sûr et plus fiable, que si on utilisait encore des langages procéduraux classiques.
Par ailleurs, je n’ai pas encore vu un seul commentaire sur les deux premières parties de l’article, qui sont pourtant les plus intéressantes et importantes.
Vous vous focalisez sur le seul mot qui remet légèrement en cause le dogme auquel vous adhérez.
Par ailleurs, je n’ai pas encore vu un seul commentaire sur les deux
premières parties de l’article, qui sont pourtant les plus intéressantes
et importantes.
Pour ce qui me concerne j’ai reconnu l’intérêt du début comme travail de vulgarisation.
Pour les professionnels, il s’agit simplement de lieux communs. On pourrait même vous reprocher un énoncé incorrect de la loi de Moore (périodicidé de 18 mois et non deux ans).
Loi de Moore
La Loi de Moore de 1975 que je cite parle bien de 2 ans.
La loi avec 18 mois est fausse.
Et tout ça est dans le lien que justement vous donnez.
L’auteur fait a mon avis une grossière erreur en oubliant de parler d’une autre chose très importante, la puissance de calcul a suivi la loi de moore, mais cette loi n’est pas valable avec les disques durs classique (hors ssd). Le facteur qui pose le plus de problème sont les temps d’accès car bien souvent votre CPU passe son temps à attendre les données du disque dur. A titre d’exemple entre les disques dur des années 70 et ceux des années 2010, les temps de latence mesurable montre un gain de performance de l’ordre du fois 15 pour celle qui avantage les disques modernes. Pendant ce temps là, la taille des disques et des logiciels ont été multiplié par un facteur de l’ordre de 1000 et la puissance CPU a monter d’un facteur bien plus grand encore... En plus les soft moderne ne sont plus un exe dans un coin, mais bien souvent une architecture de centaines de fichiers qui feront autant de temps d’accès perdu.
Ce ne sont pas les temps de latence qui font que Word 2010 ne va pas plus vite que Word 5.1 sur Mac Plus.
Même si, effectivement, les performances des disques progressent moins vite, la différence de perfs entre les "Sony Touareg" externes en SCSI1 du MacPlus et les Western Digital en SATAII d’aujourd’hui est quand même énorme.
Et ça n’explique pas pourquoi Word 5 occupait 4 Mo de RAM à l’époque, contre 1 Go de RAM aujourd’hui, pour faire la même chose.
Quoi qu’il en soit, l’article ne peut pas traiter de tout, et montre simplement les capacité théoriques réelles des machines aujourd’hui, et les raisons qui font qu’on ne ’en rend pas vraiment compte.
Et ça n’explique pas pourquoi Word 5 occupait 4 Mo de RAM à l’époque, contre 1 Go de RAM aujourd’hui, pour faire la même chose.
Les suites bureautiques d’aujourd’hui (je ne suis pas spécialement fan de micromou) me permettent de rédiger en français en russe et en anglais dans le même document avec correction orthographique pour les 3 langues simultanément.
Etes-vous sûr que tout cela était inclus dans les 4MO d’origine ?
Il semble que vous raisonniez à partir de l’utilisation que VOUS faites des produits logiciels. Comme vos besoins (apparemment assez frustres) ont été vite satisfaits vous en concluez hâtivement que le reste ne sert à rien.
De la même façon comme atteignez l’extase avec la programmation en Pascal, tout le reste est bon à mettre au panier.
Vous manquez d’ouverture d’esprit.
Qui rédige un document en 3 langues à part des égyptiens avec un burin ?
Je suis certain que vous savez bien la chose informatique.
Mais j’ai l’impression que vous ne savez pas la raconter.
Le stockage des coordonnées des étoiles de la galaxie, à 100km près, pourrait se faire avec 7 To de grains de sable. (Les tags c’est des grains de sable disposés)
Le problème ou la performance n’est pas là du tout.
Le problème ou la performance donc le mur c’est de calculer les trajectoires de toutes ces étoiles en même temps afin, par exemple, de nous montrer l’image de cette galaxie en mouvement.
Quand un tennisman frappe une balle, c’est 7 To d’organites biologiques qui bougent en se calculant mutuellement dans un exact même instant.
Aucun ordi n’est capable de calculer rien que l’image de la moitié visible de la peau d’un joueur dans un exact même temps.
Je te dis pas s’il devait calculer la position de chaque hématie.
Je dessine des immeubles sur Autocad, ça va.
Je les fais bouger en 3D, le moulin brûle.
Le stock de données n’est rien.
C’est la gestion simultanée de leurs changements qui pose problème.
D’ou le resultat théorique suivant, un ordinateur qui simule un univers d’une certaine taille doit lui même être au moins aussi gros...
C’est juste.
J’emploie le terme "performance" dans un sens très large, qui englobe la capacité mémoire astronomique de nos ordinateurs, dont on ne se rend pas vraiment compte !
Disons qu’avant que je fasse ce calcul, je n’aurais jamais imaginé qu"il était quasiment "à porté de main" de "gérer" toute la Voie Lactée.
Ensuite, la question du calcul sur un tel volume est autre chose. Mais c’est s’éloigner de ce que je voulais faire sentir.
En fait, cet article ne s’adresse résolument pas au connaisseurs, informaticiens, etc :)
Akwa,
"En fait, cet article ne s’adresse résolument pas au connaisseurs, informaticiens, etc :)"
Quand je lis un article, j’essaye toujours de lire son "A propos", donc je savais.
Vous êtes un utilisateur. Point.
Pas de problème avec cela.
J’espère que vous aurez appris quelque chose de ceux qui se trouvent dans le cambouis des bits, des bytes, des mots, des doubles-mots. 
« Le stock de données n’est rien. C’est la gestion simultanée de leurs changements qui pose problème. »
Rien de plus vrai. Surtout quand on est conscient du fait que dès que l’on essaye de modéliser la nature, on se trouve face à la tâche d’intégrer les mécanismes d’évolution d’un système chaotique dont les calculs prédictifs ne peuvent être basés que sur la probabilité qu’une cause produise un certain effet et non un autre ou pas d’effet du tout. C’est cette incertitude probabiliste qui provoque la majeure partie du besoin d’incrément de la puissance de calcul et pas vraiment le nombre de données définissant les objets présents dans le système.
Pour faire une analogie facile à comprendre, c ’est un peu la différence entre écrire un bitmap qui se décrit ( sans tenir en compte une éventuelle compression ) pixel à pixel et une description vectorielle qui ne reprend que les lois de construction et les coordonnées du point de départ et des points de passage les plus importants. Le vectoriel est beaucoup plus léger mais requiert une puissance de calcul beaucoup plus grande que le bitmap. Si a cela, on ajoute une incertitude de type probabiliste quant aux paramètres que manie ces lois internes au système que l’on représente, on se trouve très vite face à un besoin énorme de puissance de calcul.
Sur ce point, on peut rattacher à la discussion les systèmes informatisés modélisant le comportement de l’économie et commencer à essayer d’évaluer la justesse des modèles utilisés, par exemple, pour décrire le comportement du marché continu. On n’a pas fini de rire ( jaune ), à mon avis.
Je suis assez d’accord que beaucoup de développeurs ne connaissent pas vraiment leur métier, mais je pense que c’est plus dû au management qui pense faire des économies en n’utilisant que des débutants dans leurs équipes qui manquent de fait d’encadrement et d’échange avec les seniors et réinventent la poudre.
En ce qui concerne les technologies, je pense qu’il est préférable de bien comprendre les évolutions pour mieux les critiquer. La programmation objet permet comme n’importe quelle technique de faire n’importe quoi, y compris le pire, mais c’est une avancée incontestable comme l’ont été les langages procéduraux par rapport à l’assembleur (quoique dans une moindre ampleur).
En ce qui concerne Java, je vous rejoints un peu, c’est un langage très gourmant en ressources, notamment mémoire, et la mise en œuvre de grosses applications donne parfois le vertige. En revanche, il ne faut pas oublier la quantité de librairies disponibles qui permet de construire une application extrèmement rapidement (souvent une usine à gaz certes, mais on revient sur le problème des développeurs …). Je ne vois pas bien où vous avez vu que les applications se développaient plus vite avant.
Bref, il faut se méfier du syndrome du « c’était mieux avant », certaines choses s’améliorent et d’autres non.
En ce qui
concerne les technologies, je pense qu’il est préférable de bien comprendre les
évolutions pour mieux les critiquer. La programmation objet permet comme n’importe
quelle technique de faire n’importe quoi, y compris le pire, mais c’est une
avancée incontestable comme l’ont été les langages procéduraux par rapport à l’assembleur
(quoique dans une moindre ampleur).
Ceci n’est pas propre à l’informatique. A chaque fois qu’on met entre les mains d’un débutant ou d’un personnel non formé un outil très sophistiqué il ne peut faire avec que des désastres.
JC,
"...beaucoup de développeurs ne connaissent pas vraiment leur métier, mais je pense que c’est plus dû au management qui pense faire des économies en n’utilisant que des débutants dans leurs équipes qui manquent de fait d’encadrement et d’échange avec les seniors et réinventent la poudre."
C’était vrai au départ. Avec la vision du travail par "résultat", c’est moins vrai. On travaille par projet, avec une date d’échéance. Arrivé à celle-ci, on voit le résultat bon ou mauvais et on compte les points. C’est ça le travail de management ; L’économie, c’est au début du processus que cela se paie. Une formation à la hauteur des ambitions et des gens qui ont une approche analytique des problèmes.
N’oubliez pas que le travail à domicile a commencé avec les informaticiens. Ils n’ont rarement l’obligation de retourner à la "base", au bureau.
"...comprendre les évolutions...
Sur quoi sont-elles basées et par qui ?
L’utilisateur ? Nenni. Par les producteurs de machines et de logiciel qui ont chargé leur marketing de donner l’envie d’utiliser la nouvelle version du "produit miracle".
" La programmation objet permet comme n’importe quelle technique de faire n’importe quoi, y compris le pire, mais c’est une avancée incontestable comme l’ont été les langages procéduraux par rapport à l’assembleur (quoique dans une moindre ampleur)."
Yes, tout est une question de moyens avancés.
"Java... langage très gourmant en ressources"
Qu’a apporté java ?
1. Un moyen de sortir du champ du logiciel propriétaire (comme MS)
2. Orienté objet, une vision différente des DLL par des librairies appelés "classes" (API), utilisées comme des poupées russes dans une sorte de réentrance en ajoutant quelques paramètres (une vache est un mammifère, un mammifère est un animal....et ainsi de suite).
"Je ne vois pas bien où vous avez vu que les applications se
développaient plus vite avant."
Oui, certaines choses vont plus vite au développement mais la nouvelle rapidité s’est vue très vite remplacée par une augmentation de la complexité. Donc résultat identique.
Je crois que si on veut avoir une idée de ce que permet Java il faut voir les possibilités de l’EDI Netbeans écrit en Java et permettant de développer pratiquement dans tous les langages sous toutes les plateformes et pour toutes les plateformes .
Ah la pas d’accord pour Netbeans, c’est un bon IDE mais il n’a rien de révolutionnaire. EMACS permettait à peu près la même chose .... dans les années 80. Eclipse et Netbeans sont une remise au goût du jour d’Emacs qui était très lourd pour son époque avec un dialecte basé sur Java pour le scripting (concernant Eclipse) qui a l’avantage d’être parlé par plus de monde que le LISP.
A part ca oui la complétion et le syntax highlighting marche bcp mieux sur les IDE modernes mais on aurait pas eu la puissance de calcul pour le faire à l’époque donc les bidouilles dégeulassent d’emacs pour la complétion sont un moindre mal.
Ah la pas d’accord pour Netbeans, c’est un bon IDE mais il n’a rien de révolutionnaire.
Mon propos était seulement de donner un exemple d’une réalisation d’ampleur écrite en java ; je n’ai jamais utilisé le qualificatif ’révolutionnaire’. Ancien Lispien je suis passé par emacs et ses clones et j’en connais les mérites et les défauts.
Hello,
bon article.
(même si je coince sur le passage 64bits = 16 chiffres significatifs, j’aurais dit 19, mais bon, c’est pas le sujet...)
Les commentaires que j’ai survolés en diagonales tapent tous a cotés du sujet (hé oui, j’ai raison et vous avez tous tort) en se concentrant sur le coté technique (langage interprété, techniques nouvelles mal assimilées etc...).
A mes yeux, la "stagnation des logiciels" n’est due qu’a un choix économique : en 1970, ce qui coutait horriblement cher, c’était le matériel.
[Je le vois tous les jours en transposant des vieux programmes Cobol : tout était fait pour minimiser l’usage de la mémoire, au prix d’un code absolument horrible]
Aujourd’hui, ce qui coute cher, c’est le développeur. Alors, on demande aux (rares) dev de faire des applis à la chaine, tant pis si elles sont mal faites, c’est compensé par le matériel...
Sleeping,
Désolé d’être à côté de la plaque.... 
Mais puisque vous avez la parole, alors essayons de savoir ce qui est 45 tours ou en 78.
"en 1970, ce qui coutait horriblement cher, c’était le matériel. "
Yes. Le soft, on n’en connaissait pas trop de disponibles.
La machine faisait partie du prestige du patron qui faisait visiter sa salle machine à tous ses visiteurs.
"Aujourd’hui, ce qui coute cher, c’est le développeur. Alors, on demande
aux (rares) dev de faire des applis à la chaine, tant pis si elles sont
mal faites, c’est compensé par le matériel..."
Là, je crois que vous n’êtes pas sur le bon microsillon.
Connaissez-vous les salaires à l’époque ? Transposés aujourd’hui, ils seraient le double.
Savez-vous au moins d’où vient le problème ?
Jetez un coup d’oeil vers l’Inde. 
C’est là-bas que cela se passe....
Un souvenir d’un poisson d’avril.
Le plus marrant c’est que quelques années après le poisson est devenu une réalité.
Jetez un coup d’oeil vers l’Inde.
C’est là-bas que cela se passe..
Exactement !
Il faut voir ce que l’expression ’pisser du code’ veut dire.
Beaucoup d’entreprises de développement de soft aujourd’hui font appel à des ’pools’ en Inde. C’est uniquement un chef de projet qui fait des aller-retours pour la coordination. Les résultats sont en demi-teinte.
les salaires de l’époque... ne sont pas hélas comparable. Et pas seulement dans l’informatique.
[Une collègue (proche de la retraite) me dit qu’au début des années 70, avec un salaire de secrétaire débutante, on pouvait s’acheter un appart à Paris intra-muros.]
Mais quitte à risquer une comparaison, je la ferais plus au niveau de la masse salariale globale. Les devs de l’époque était peut-être deux fois mieux payés, mais cinq fois moins nombreux...
Quelle entreprise en 1970 utilisait l’informatique ? Aujourd’hui, ce serait plutôt quelle entreprise n’utilise pas l’informatique ?
en parlant de couts, j’ai aussi oublié celui de la formation : en 1970, les seuls a toucher aux ordinateurs étaient des informaticiens. Maintenant, on est plutôt dans le trip "engagé le matin, mis devant un écran avec l’applicatif lancé dès midi...", donc on ne demande plus aux programmes d’être rapide, mais d’être intuitifs...
Sleeping,
"les salaires de l’époque... ne sont pas hélas comparable. Et pas seulement dans l’informatique."
Vrai et pas vrai. Il n’y avait pas que le salaire. Il y avait aussi les possibilités de se faire son "trou". Les informaticiens (les bons) étaient recherchés. Pas besoin de chercher, il suffisait de traverser.
Ce n’est plus le cas. Il suffisait de lancer un bruit, de traverser la rue pour trouver un autre emploi mieux payé.
Ce n’est plus le cas. Lisez les annonces, il faut désormais être spécialiste dans la énième version d’un soft, une expérience de dix ans et ne pas avoir dépassé la trentaine, sinon, il y a les appels par la délocalisation.
Vous avez intérêt de lire cela dans le détail. 15 chapitres maintenus à jour avec l’évolution.
Bon je suis simple utilisateur, je donne mon avis .
Comme dans tous les domaines , dans un système libéral qui se respecte il faut consommer et inciter le consommateur à consommer en le travaillant sur la corde sensible son égo, ainsi c’est la course à la vitesse , la performance , le design quitte à polluer encore et encore davantage , ( pour exemple une vielle deudeuche des années 50 étaient entièrement recyclable et ne polluait pas plus que les voitures futuristes d’aujourd’hui, surtout si elle était équipée au gaz !!! et on pouvait la réparer soi même !!! )
J’ai un ordi tout ce qu’il y a de classique qui ramait , ramait , ramait au point que j’ m’apprêtais à le casser !!!!! Puis je me sui dit : je vais stocker mes dossiers sur un disque externe et je vais écraser toute cette merde de windows outlock ........ qui m’a été vendu la peau des fesses pour faire des couilles en or à Bill !!!!!! J’ai remplacé le tout par oubountou ( informatique libre ) et mon ordi si lent auparavant, a maintenant une vitesse astronomique !!! Je suis pourtant dans un trou on ne peut plus paumé de la France profonde !!!!!!
Je vous assure je me sens libre 
PS pour venir de temps en temps sur agora je lis des rebelles, des y-a qu-à faut con, des révolutionnaires de tous bords et je me dis qu’ils n’en sont pour la plupart qu’aux paroles car dans les actes , bien peu ont fait le pas de s’affranchir du système Bill 
J’ai remplacé le tout par oubountou ( informatique libre ) et mon ordi
si lent auparavant, a maintenant une vitesse astronomique !!! Je suis
pourtant dans un trou on ne peut plus paumé de la France profonde !!!!!!
C’est sûr que les systèmes Linux redonnent une seconde jeunesse à des machines fatiguées. Linux n’entre pas (encore) dans une logique commerciale. Il s’agit tout simplement de tirer le meilleur de l’existant pas d’obliger les gens à changer de machine et de logiciels.
Aujourd’hui j’aime bien travailler avec les anciennes versions des logiciels, alors qu’il y a quinze ans j’étais un adepte de la mise à niveau. Il y a indiscutablement un phénomène de gadgetisation. La raison est sans doute mercantile. Je n’ai pas besoin d’un bureau 3d, même si ça en jette pour celui qui vous regarde faire. J’ai toujours été l’adepte des commandes au clavier, je trouve que les menus déroulants sont, certes, très didactiques, mais une fois les commandes assimilés, les raccourcis clavier sont un vrai gain de temps. Pas seulement pour l’utilisateur, mais aussi pour la machine. il n’y a peut-être pas suffisamment de distinction entre l’utilisation pro et celle des loisirs, ça a un peu trop tendance à se confondre.
Salut Deneb,
Tu as peut-être raison, mais il faut dire que le clavier est, disons, limité.
L’invention de la souris de pointage est nettement plus pratique et rapide.
La souris a été inventée en 1963 par Douglas Engelbart du Stanford Research Institute , et présentée au public en 1968.
J’ai eu un collègue, il y a bien longtemps qui n’aimait pas l’utilisation de Windows (ou Apple OS) et de toute l’armada des possibilités qu’il apporte.
Les raccourcis d’écran, c’est très bien, j’en utilise (ou -ais) mais il faut une grosse tête pour s’en rappeler toutes.
Aujourd’hui, la souris a pris des vacances.
Elle est remplacée par le doigt sur l’écran avec les tablettes et autres.
Encore plus interactif ?
Oui, si tu as ta peau de chamois à proximité pour pouvoir nettoyer les traces de tes petits doigts sur l’écran.
Quant à la prise en charge de la voix, c’est pas encore au point.
Ben oui, les raccourcis clavier c’est bien pour les gens qui font peu de choses et toujours les mêmes choses. Sinon c’est un vrai casse-tête
Avec tel éditeur Ctr+Maj+F1 avec tel autre Alt-F12 et ainsi de suite.
N’a-t-on rien de mieux à mémoriser que cela (les téléphones des copines par exemple) ?
Je viens d’avoir ma souris qui a rendu l’âme de sa batterie.
Perdu. Comment entourer une image pour en prendre une photo sans elle ?
Une photo ce n’est pas du texte. Il faut pointer au sommet gauche et étendre la prise jusqu’en bas à droite, pour faire click.
Je suis allé cherché une pile en catastrophe.
Tiens on vient d’avoir un problème de communication :

Excellent article !
Oui, les techniques et les pratiques de développement se sont fourvoyées dans un fatras de mauvais choix. C’est juste hallucinant !
Oui, ce qui rend une application sexy au premier chef, c’est la réactivité, la rapidité d’exécution, la fluidité...
Une petite remarque par rapport au passage où sont exprimés des volumes de données : Depuis 1998, 1ko ne vaut plus 1024 octets mais bien 1000. On parle de kibioctets (kio) pour des volumes de 2^10 = 1024 octets.
Tout a fait d’accord avec l’article, un autre problème, bien francais celui la, les stagiaires...
Combien de poste d’admin reso confié a des stagiaires de - 25 ans, qui ne vont certainement pas construire, alimenter voir architeturer un reso digne de ce nom. Mais il est préférable d’avoir une floppée de webmaster ne connaissant même pas unix/linux, stagiaires et sous payés...
Il n’y a pas que de développeurs dont on a besoin... Mais comme les boites ne veulent pas payer des ingénieurs au leur vrai cout, ça va durer encore longtemps...
Combien d’ingénieurs se sont retrouvés a travailler chez des particuliers via des boites de dépannage grand publique, alors que leurs qualifications étaient faites pour gérer des parcs de 300-400 machines... Et avec la nouvelle loi copie privée il ne peuvent même plus exercer et donc changent tout simplement de métier... Un beau gâchie !
Il suffit de voir comment certain FAI gèrent leurs comptes utilisateurs ou leurs services mails pour savoir qu’au dessus il n’y a que des stagiaires...
C’est pas près de changer...
D’accord avec vous.
L’avidité et la cupidité des employeurs français les fait se tourner vers des solutions à bon marché.
Combien de PME font entretenir leur réseau avec des stagiaires (même pas des informaticiens) mais qui bidouillent un peu.
Il restent 3 mois font une grosse m. qu’ils contrôlent tant bien que mal et partent sans laisser d’adresse.
Le suivant fait la même chose.
Si ce n’est pas un stagiaire c’est le fils ou le neveu d’un cadre de l’entreprise qui s’y colle le week-end pour une cartouche de cigarettes.
Il arrive un moment ou plus rien ne marche et personne ne peut plus intervenir.
Un seul bon cas de figure un petit patron qui touche un peu et qui s’y colle lui-même, mais est-ce le rôle d’un chef d’entreprise ?
Dans les établissements publics comme les écoles les lycées c’est exactement la même logique. On compte sur le bénévolat en échange d’une toute petite décharge. Les gens se rendent comptent qu’il s’agit d’une véritable arnaque et abandonnent vite. Souvent il n’ont pas la compétence.
Ce qui m’impressionne le plus c’est la vitesse de calcul. Actuellement un projecteur 4K (2160x4096 pixels) est capable de projeter en temps réel un film reçu en 2K, c’est à dire de transformer 24 images à la seconde d’une résolution de 1080x2048 pixels à 4 fois plus 2160x4096, ce qui représente un débit de plusieurs gigas/sec.
La compression d’images, un sujet qui n’a pas de fin.
Avec ou sans perte de données.
Les fractales, c’est la plus forte réduction, je crois.
Mais je crois qu’on sort un peu du cadre de l’article qui va dans les étoiles. 
J’ai commencé l’informatique à la fin des années 70 sur les premiers "ordinateurs personnels" (Apple ][, Commodore PET, TRS80)...
A l’époque, il y avait 16 K de RAM, puis 32, 64K...
On codait en Basic, avec des sous-routines en assembleur pour les points les plus critiques.
Affichage semi-graphique (on codait des caractères qui une fois affichés formaient des dessins qui étaient épatants pour l’époque)...
Ensuite sont arrivés les premiers "vrais" processeurs vidéos (VIC20 puis Comodore64) et on a vu apparaître les premières VRAIES applications graphiques...
En 85, la révolution est apparue avec me MAC mais surtout l’AMIGA. Là, c’était de VRAIES interfaces graphiques et des machines conçues pour...
Les applications graphiques étaient fluides et complètes, mais sans fioritures... Le tout sur des 68000 tournant à 8 Mhz (avec les accès bus et les mémoires de l’époque, les machines tournaient à 0.8 Mips - ça fait rire aujourd’hui)...
Par contre, les codes étaient optimisés aux "petits oignons" pour permettre aux utilisateurs d’avoir une interface et une réactivité remarquable.
Puis est arrivé Windows... Ne parlons pas de le version 1, une vraie catastrophe, mais de la version 2 qui était simplement un bubon qui se greffait sur le DOS...
Ça ramait lamentablement, ça plantait à tour de bras, mais comme Bill Gates et Micro$oft étaient des génies du marketing, le plus immonde des environnement graphiques est devenu la référence...
Depuis, nous nous traînons toutes les failles de conception de ce système qui a littéralement CONTAMINÉ toute l’informatique planétaire.
Il a été codé à l’arrache par des porcs pour concurrencer Apple, avec l’obligation de préserver la compatibilité vis à vis des conneries antérieures..
Puis le mammouth s’est bien engraissé, on a rajouté des gadgets qui ressortent plus de besoin marketing que de besoins réels de l’utilisateur.
Lorsqu’on écrit un désormais un logiciel, on passe plus de temps à gérer les problèmes de compatibilité et à contourner les bugs de l’OS qu’à écrire les algos... C’est du délire.
Il faudrait faire table rase de tout l’existant pour repartir à zéro sur des bases SAINES. Par contre, les intérêts économiques des poids lourds du logiciel sont tels qu’il ne faut pas rêver.
Lorsque l’un de ces poids-lourds commence le développement d’un nouveau "merdiciel", ils commencent par appliquer la loi de Moore pour définir les besoins matériels nécessaires à faire tourner leur application, en ajoutant un échelon (temps pour l’application de "pénétrer le marché"). Les premiers utilisateurs se retrouveront avec des bouses qui rament lamentablement, mais les suivants, compte-tenu des évolutions techniques, auront une application qui tourne à peu près correctement.
De plus, le temps de débogage est réduit au strict minimum et ce sont les utilisateurs qui font le travail de recherche de failles... Quand ça plante, ils se plaignent, et au bout d’un certain nombre de plaintes, on ouvre un ticket de correction... La première chose qui est évaluée est le coût de correction du bug. si c’est trop cher, on laisse tomber, de toutes façons, les conditions de vente protègent l’éditeur contre toute plainte des utilisateurs en cas de problème non résolu (lisez-bien les conditions de vente, c’est interpellant).
De plus, les logiciels actuels sont essentiellement composés de "briques" logicielles (souvent bien anciennes et "bidouillées" par de nombreux développeurs différents (bonjour l’homogénéité du code, c’est n’importe quoi) au fil du temps qui sont assemblées avec des passerelles de communication qui ne sont pas au top.
Les logiciels actuels tiennent plus du "bricolage" que d’un véritable développement nouveau : C’est très long et ça coûte cher de développer de nouvelles fonctions, et les actionnaires veulent des bénéfices rapides et importants, même si l’utilisateur final achète en fait un "plat de spaghetti" monstrueux qui n’avance pas...
Au boulot, pensé unique oblige, je suis obligé d’utiliser Winbouze, mais chez moi, j’ai des vieilles machines de récupération (certaines avec des Pentium 2 à 300 Mhz) qui fonctionnent très bien sous Linux avec XFCE Et ça me suffit amplement.
J’ai aussi des serveurs qui fonctionnent en ligne de commande - pourquoi perdre du temps et consommer d’énormes ressources avec une interface graphique quand on en a pas besoin ?
Le principal problème du logiciel tient en deux maux : Les intérêts économiques des "poids lourds" de la profession qui ont intérêt à complexifier les systèmes pour pouvoir continuer à verrouiller les clients, et les stratégies marketing qui forcent les gogos à acheter des merdes dont ils n’ont pas besoin.
Quant à la facilité et l’ergonomie des logiciels, n’en parlons pas : J’avais Office 2003 qui me convenait très bien... La société est passée à Office 2010, avec obligation de migrere tous les postes. C’est quoi cette MERDE ?
Office 2003 était à peu près stable une fois toutes les "rustines" appliquées. Office 2010 plante très souvent, l’ergonomie est lamentable : On passe deux heures à tourner en rond pour trouver une fonction, et de plus la compatibilité des codes VBA est une illusion (un comble pour du code interprété) : J’ai écrit plusieurs codes VBA et plus un seul ne fonctionne... Ça plante toutes les 5 lignes, les fonctions retournent des conneries, les résultats sont totalement incohérents...
Et tout ça qui rame lamentablement sur une machine avec processeur i7 et 8 Go de RAM qui n’a qu’un an d’âge !!!
Vous appelez ça du progrès vous ? Pas moi.
Quant aux tablettes tactiles et autres accessoires pour geek en mal de relations dans le monde réel, c’est vraiment des produits marketing que je trouve personnellement sans intérêt...
Je n’aime pas avoir des traces de doigts sur mon écran, ça gêne la visibilité...
Et rien ne vaut une vraie interface physique solide avec des boutons que l’on sent bien PHYSIQUEMENT s’enfoncer...
N’oublions pas que nous sommes après tout des êtres physiques et nous avons besoin de contacts tactiles réels qui ne seront jamais remplacés par des "écran tactiles" tous plats sans sensation physique.
Mais enfin, ça fait marcher les affaires..
En 85, la révolution est apparue avec me MAC mais surtout l’AMIGA. Là,
c’était de VRAIES interfaces graphiques et des machines conçues pour...
Les
applications graphiques étaient fluides et complètes, mais sans
fioritures... Le tout sur des 68000 tournant à 8 Mhz (avec les accès bus
et les mémoires de l’époque, les machines tournaient à 0.8 Mips - ça
fait rire aujourd’hui)...
On ne refait pas l’histoire, mais sachez que parfois tout tient à très peu de choses. Il existait un système d’exploitation pour la famille des processeurs Intel 8 bits (8080 etc...) qui s’appelait CP/M et dont l’auteur était un certain Gary Kildall
C’est parce que notre ami Gary a humilié IBM alias BIG BLUE que le petit Bill lui a été préféré avec son PC-DOS (qui deviendra MS-DOS) et qui était une mauvaise copie de CP/M.
Par la suite Gary, avec sa compagnie Digital Research a voulu réagir. Il a créé DRDOS et sa version multi-user qui fonctionnaient à la perfection. Il a également créé une interface graphique pour PC appelée GEM
GEM fonctionnait à la perfection sur Atari et PC alors même que Windows était dans les limbes.
Pour ce qui me concerne, je n’ai utilisé les produits micromou que sur une très courte période avec des systèmes XP (à peu près acceptables) .
Il est clair qu’aujourd’hui avec des systèmes Linux, vous avez le choix entre de nombreuses interfaces graphiques et qu’elles sont stables si vous renoncez à utiliser les effets spéciaux qui ne sont que du tape-à-l’œil. En matière de performances la comparaison avec micromou est sans appel.
On a plein la bouche de W7, il est installé en machine virtuelle sous mon système hôte Linux pour faire des tests de compatibilité, honnêtement je ne suis pas conquis (trop peu réactif).
Microsoft a toujours procédé avec une logique commerciale rachetant ses concurrents pour mieux les couler.
Un exemple entre mille, le rachat de FoxBase alias FireFox qui a été coulé au profit d’Access. En termes de performances il n’y a pas photo entre FireFox et Access.
De plus, le temps de débogage est réduit au strict minimum et ce sont les utilisateurs qui font le travail de recherche de failles... Quand ça plante, ils se plaignent, et au bout d’un certain nombre de plaintes, on ouvre un ticket de correction... La première chose qui est évaluée est le coût de correction du bug. si c’est trop cher, on laisse tomber, de toutes façons, les conditions de vente protègent l’éditeur contre toute plainte des utilisateurs en cas de problème non résolu (lisez-bien les conditions de vente, c’est interpellant).
Pour réagir, identifiez-vous avec votre login / mot de passe, en haut à droite de cette page
Si vous n'avez pas de login / mot de passe, vous devez vous inscrire ici.
@ mick :Bravo : Il existe une contre-mode sur linux, un engouement pour les applications (...)
25/12 22:03 - BOBWMerci Bovinus de privilégier les solutions humaines et sociologiques aux orientations (...)
25/12 12:06 - BOBWPrendre juste un traitement de texte en comparatif de vélocité est extrêmement court. Pour ce (...)
23/12 08:08 - ImhotepQui rédige un document en 3 langues à part des égyptiens avec un burin ? La correction (...)
22/12 23:51 - Marco07
Pierre Lescure chante le rock
Taddeï l’anticonformiste, de Dieudonné à Chomsky
Violence des jeunes : vrai ou faux problème ?
Akhenaton : rap, religion et politique
Coline Serreau, la belle verte 


























