



Basé sur une news de Slashdot https://slashdot.org/ voici la traduction (Google+Deepl+moi) d'un article intéressant.
Source: https://www.theguardian.com/commentisfr ... mmers-n-ow
Nous approchons des limites de la puissance informatique - nous avons besoin de nouveaux programmeurs maintenant
John Naughton
John Naughton est un professeur de vulgarisation technologique à l'Open University. Il est l'auteur du livre 'From Gutenberg to Zuckerberg: What You Really Need to Know About the Internet'
Des processeurs toujours plus rapides ont conduit à des logiciels gonflés, mais les limites physiques peuvent forcer un retour au code concis du passé
Dans les années 1960, Gordon Moore, le cofondateur d'Intel, a observé que le nombre de transistors pouvant être installés sur une puce de silicium doublait tous les deux ans. Le nombre de transistors étant lié à la puissance de traitement, cela signifiait que la puissance de calcul doublait effectivement tous les deux ans. Ainsi est née la loi de Moore, qui pour la plupart des personnes travaillant dans l’industrie informatique - ou en tout cas pour les moins de 40 ans - a fourni le genre de certitude fondamentale que les lois du mouvement de Newton ont fait pour les ingénieurs mécaniques.
Il y a cependant une différence. La loi de Moore n'est qu'un énoncé d'une corrélation empirique observée sur une période particulière de l'histoire et nous atteignons les limites de son application. En 2010, Moore lui-même a prédit que les lois de la physique arrêteraient les augmentations exponentielles. 'En termes de taille de transistor', a-t-il dit, 'vous pouvez voir que nous approchons de la taille des atomes, ce qui est une barrière fondamentale, mais il faudra deux ou trois générations avant d'aller aussi loin - mais c'est comme loin comme nous avons pu le voir. Nous avons encore 10 à 20 ans avant d'atteindre une limite fondamentale. »
Nous avons maintenant atteint 2020 et la certitude que nous aurons toujours un matériel informatique suffisamment puissant pour répondre à nos besoins croissants commence à paraître complaisante. Étant donné que cela est évident depuis des décennies pour les professionnels, il y a eu beaucoup de recherches sur des façons ingénieuses d'intégrer plus de puissance de calcul dans des machines, par exemple en utilisant des architectures multicœurs dans lesquelles un processeur a deux unités de traitement distinctes ou plus appelées «cœurs »- dans l'espoir de reporter la terrible journée où la puce de silicium est enfin à court de route. (Le nouveau Apple Mac Pro, par exemple, est alimenté par un processeur Intel Xeon à 28 cœurs.) Et bien sûr, il y a aussi beaucoup de recherches frénétiques sur l'informatique quantique, qui pourraient, en principe, être un développement d'époque.
Mais l'informatique implique une combinaison de matériel et de logiciels et l'une des conséquences prévisibles de la loi de Moore est qu'elle a rendu les programmeurs plus paresseux. L'écriture de logiciels est un métier et certaines personnes y sont meilleures que d'autres. Ils écrivent du code plus élégant et, plus important encore, plus léger, pour qu'il s'exécute plus rapidement. Au début, lorsque le matériel était relativement primitif, le savoir-faire importait vraiment. Lorsque Bill Gates était jeune, par exemple, il a écrit un interprèteur BASIC pour l'un des premiers micro-ordinateurs, le TRS-80. Parce que la machine n'avait qu'une petite mémoire morte, Gates a dû l'adapter en seulement 16 kilo-octets. Il l'a écrit en langage assembleur pour augmenter l'efficacité et économiser de l'espace; il y a une légende selon laquelle pendant des années il pourrait réciter tout le programme par cœur.
Il y a des milliers d'histoires comme celle-ci depuis les premiers jours de l'informatique. Mais à mesure que la loi de Moore s’installait, la nécessité d’écrire du code allégé et parcimonieux a progressivement disparu et les incitations ont changé. La programmation s'est industrialisée en tant que «génie logiciel». La construction d'écosystèmes logiciels tentaculaires tels que les systèmes d'exploitation et les applications commerciales a nécessité de grandes équipes de développeurs; ils ont ensuite engendré des bureaucraties associées de chefs de projet et de cadres. Les grands projets logiciels se sont transformés en une sorte de marche de la mort dont on a mémorablement parlé dans le célèbre livre de Fred Brooks, The Mythical Man-Month, qui a été publié en 1975 et n'a jamais été épuisé, pour la très bonne raison qu'elle est toujours d'actualité. Et dans le processus, les logiciels sont devenus gonflés et souvent inefficaces.
Mais cela n'avait pas d'importance car le matériel fournissait toujours la puissance de calcul qui masquait le problème des «bloatwares». Les programmeurs consciencieux en étaient souvent furieux. «La seule conséquence du matériel puissant que je vois», a écrit l'un d'entre eux, «est que les programmeurs y écrivent de plus en plus de logiciels gonflés. Ils deviennent paresseux, car le matériel étant rapide ils n'essaient pas d'apprendre des algorithmes ni d'optimiser leur code… c'est fou!'
C'est le cas. Dans une conférence en 1997, Nathan Myhrvold, qui était autrefois le directeur de la technologie de Bill Gates, a présenté ses quatre lois du logiciel.
1: le logiciel est comme un gaz - il se dilate pour remplir son contenant.
2: le logiciel grandit jusqu'à ce qu'il soit limité par la loi de Moore.
3: la croissance des logiciels rend possible la loi de Moore - les gens achètent du nouveau matériel parce que le logiciel l'exige. Et, enfin,
4: le logiciel n'est limité que par l'ambition et les attentes humaines.
Alors que la loi de Moore atteint la fin de sa domination, les lois de Myhrvold suggèrent que nous n'avons essentiellement que deux options. Soit nous modérons nos ambitions, soit nous recommençons à écrire du code plus léger et plus efficace. En d'autres termes, revenons à l'avenir.


À noter que je rencontre de plus en plus d'entreprises (y compris ESN) qui connaissent PureBasic et l'utilisent parfois (même si souvent elle ne le disent pas: pas bien de dire qu'on utilise du Basic, mais on peut dire VB ou .net et utiliser tous les jours du VBA et du VBS

À ceux qui ne connaissent pas, je dis, c'est simplement un générateur de code assembleur, ce qui permet de faire du code rapide et compatible Win/Linux/Mac, sans VM ni runtime, ni DLL (et là les regards changent)

Les générateurs de code, on utilise ça depuis des années: pas mal de banques et assurances ne tapent par exemple jamais une seule ligne de Cobol alors que leurs principales applications tournent toujours dessus.