1 points par GN⁺ 2024-11-16 | 1 commentaires | Partager sur WhatsApp
  • Thomas Eugene Kurtz était un mathématicien et informaticien américain qui a créé BASIC et le Dartmouth Timesharing System avec John Kemeny. Il est né le 22 février 1928 et est décédé le 12 novembre 2024
  • Au début des années 1960, l’informatique universitaire manquait d’un langage de programmation pour non-spécialistes facile à utiliser par les étudiants de premier cycle, et BASIC a été créé pour combler ce vide
  • Kurtz et Kemeny ont aussi développé ensemble le DTSS afin de permettre aux étudiants d’accéder à BASIC depuis des terminaux Teletype sur le campus ; les deux systèmes ont été rendus publics le 1er mai 1964
  • À l’automne 1964, des centaines d’étudiants utilisaient BASIC depuis 20 terminaux sur le campus de Dartmouth, avant que le langage ne se diffuse sur plusieurs générations d’ordinateurs
  • L’influence de Kurtz s’est prolongée dans l’enseignement de l’informatique et l’organisation des opérations informatiques à Dartmouth, la normalisation de BASIC et la création de True BASIC ; il a été nommé ACM Fellow en 1994

BASIC et le Dartmouth Timesharing System

  • Thomas Eugene Kurtz a co-inventé avec John Kemeny le langage de programmation BASIC et le Dartmouth Timesharing System (DTSS)
  • Au début des années 1960, l’environnement informatique universitaire manquait d’un langage de programmation simple, destiné aux non-spécialistes et utilisable par les étudiants de premier cycle ; BASIC a été conçu pour ces utilisateurs
  • Les deux hommes ont également développé le DTSS afin de mettre BASIC à disposition des étudiants du campus
    • Le DTSS reposait sur le partage de l’accès aux ordinateurs via un réseau
    • Une telle infrastructure était nécessaire pour permettre à plusieurs étudiants d’accéder à BASIC
  • Le DTSS s’est imposé comme l’un des premiers systèmes en temps partagé de grande ampleur à réussir
    • General Electric, qui avait fait don d’un ordinateur à Dartmouth, a étendu le DTSS pour en faire le noyau de services en ligne comme Genie
    • Le DTSS et BASIC ont été rendus publics le 1er mai 1964
    • À l’automne 1964, des centaines d’étudiants utilisaient BASIC depuis 20 terminaux sur le campus

Formation et premières expériences informatiques

  • Kurtz est né à Oak Park, dans l’Illinois ; après avoir obtenu son diplôme du Knox College en 1950, il a reçu un doctorat en mathématiques de Princeton University en 1956
  • En 1951, il a eu l’occasion d’utiliser l’ordinateur SWAC à UCLA
    • SWAC était le Standards Western Automatic Computer, construit par le National Bureau of Standards
    • C’était l’un des premiers ordinateurs électroniques américains, supervisé par Harry Huskey, 2013 CHM Fellow

Diffusion de BASIC et ère de l’ordinateur personnel

  • BASIC a continué à être utilisé sur plusieurs générations d’ordinateurs
    • Les mainframes et mini-ordinateurs des années 1960
    • Les micro-ordinateurs des années 1970 et 1980
    • Les ordinateurs Raspberry Pi actuels, de la taille d’une carte de crédit
  • En 1978, les étudiants de Harvard Bill Gates et Paul Allen ont écrit la première version de BASIC pour le micro-ordinateur amateur MITS Altair 8800
    • Ce BASIC a transformé l’Altair, qui n’était qu’une boîte clignotante aux fonctionnalités très limitées, en un ordinateur utile
    • À l’ère de l’ordinateur personnel, la popularité de BASIC a de nouveau fortement augmenté

Enseignement et organisation à Dartmouth

  • Kurtz a longtemps participé à l’enseignement de l’informatique et aux opérations informatiques à Dartmouth
    • De 1966 à 1975, il a été director du Kiewit Computation Center
    • De 1975 à 1978, il a été director de l’Office of Academic Computing
    • En 1979, avec Stephen J. Garland, il a organisé un programme de master professionnel en Computer and Information Systems, financé en partie par une subvention d’IBM
  • En 1983, il a fondé True BASIC, Inc. avec Kemeny et trois anciens étudiants de Dartmouth
    • L’objectif était de développer des logiciels éducatifs de qualité et un compilateur BASIC indépendant de la plateforme
    • Après la fin du programme CIS, il est revenu à l’enseignement en 1988, puis a pris sa retraite de Dartmouth en 1993

Normalisation de BASIC et contributions à l’informatique universitaire

  • Kurtz a participé à plusieurs organisations d’informatique universitaire et activités de normalisation
    • Il a été council chairman et trustee d’EDUCOM
    • Il a participé au Pierce Panel du President's Advisory Committee
    • Il a siégé aux steering committees de deux initiatives soutenues par la NSF et l’ARPA
    • Il a présidé la première CCUC conference consacrée à l’instructional computing
  • Il a également joué un rôle clé dans la normalisation de BASIC
    • Il a contribué à la création de l’American National Standards committee X3J2, qui a élaboré la norme ANSI de BASIC, et l’a présidé de 1974 à 1985
    • Il a été membre de l’ISO committee SC22/WG8, chargé de la norme internationale de BASIC, et en a été convener de 1987 à 1993
    • Il a été nommé ACM Fellow en 1994

1 commentaires

 
GN⁺ 2024-11-16
Commentaires sur Hacker News
  • 96 ans, quelle vie bien remplie. RIP
    Vers 1986–1990, dans l’ancien Bangalore, j’ai beaucoup utilisé QBASIC quand j’avais 12 ans ; à l’époque, en Inde, il n’y avait pas de Mac, d’Unix ni de Windows, seulement MSDOS
    Je démarrais un 386 avec une disquette 5,25 pouces via command.com, puis je lançais GWBASIC.EXE et je tourmentais ma famille et mes amis avec des sons aigus produits par du code du genre SOUND 2000+i, j ; si je mettais ça dans une boucle WHILE WEND, les gens ne savaient pas comment l’arrêter et c’était la panique
    Un jour, soudain, MS WINDOWS 3.1 est arrivé à la place de DOS, il fallait mettre une boule blanche dans la souris et cliquer sur des icônes ; GWBASIC a disparu, remplacé par QBASIC et le jeu du serpent
    Je dessinais sur CGA avec SCREEN 2, LINE, CIRCLE, puis je suis passé à VGA et j’utilisais le 640x480 de SCREEN 12 pour créer des programmes qui produisaient même du son ; grâce à BASIC, j’ai eu une enfance extraordinaire
    De BASIC, je suis passé à CLIPPER puis FOXPRO ; avec FOXPRO, j’ai créé un système de gestion des stocks pour lequel j’ai été payé en vraies roupies, puis je suis passé par MFC et Borland C++ jusqu’à aujourd’hui, mais tout a commencé avec BASIC. Merci, Dr. Kurtz

    • Moi aussi, de façon similaire, BASIC sur 286 a été mon premier langage de programmation, et je lui dois beaucoup
      C’est intéressant que tu mentionnes précisément GWBASIC : c’était aussi le BASIC auquel j’avais accès, et il me semble que cette variante n’était pas très populaire aux États-Unis
      J’ai aussi appris CLIPPER et créé divers outils et applis métier avec ; là aussi, ça semble avoir eu une diffusion assez régionale
  • Le premier langage dans lequel j’ai appris à programmer était BASIC. Quand j’ai conçu D, je me suis souvenu à quel point la gestion des chaînes de caractères en BASIC était simple et naturelle, et à quel point celle de C était un marécage plein de bugs
    Faire en sorte que les chaînes soient faciles et correctes en D était une grande priorité, et, comme l’histoire l’a montré, je pense que cela a été un succès
    Quand je relis du code C, je commence par regarder la gestion des chaînes ; la probabilité d’y trouver un bug est quasiment certaine. À ceux qui ne sont pas d’accord, je demande : sans vérifier, pouvez-vous dire comment strncpy() gère la terminaison par 0 ?
    Merci, Thomas Kurtz

    • Aïe, vers 1987, dans ma jeunesse irréfléchie, en choisissant un langage pour un système embarqué/robotique, je t’ai peut-être involontairement offensé
      Au téléphone, hum, je crois que je t’avais posé des questions sur C ; tu avais répondu poliment, mais j’avais l’impression que tu serrais les dents
      Nous avons finalement choisi C, et ce système d’exploitation s’est retrouvé dans cet engin : https://www.youtube.com/watch?v=u8ZEUwwOYxo&t=72s
      Je grimace encore quand je repense à cet appel
    • BASIC était le langage que les magazines proposaient à ceux qui voulaient tester des idées sur leur nouveau micro-ordinateur
      Des dizaines de milliers de personnes, sans doute, tapaient ces pages à la main en même temps, et certaines ont dû se réjouir d’avoir suivi des cours de dactylo au lycée
      Puis ça devenait « j’ai envie d’essayer ça », et, en réussissant ou en cherchant un BASIC plus puissant, on en arrivait à PEEK, POKE, voire à l’assembleur. C’était vraiment excitant, avec un fort sentiment de pouvoir faire des choses par soi-même
      Merci, Thomas Kurtz
    • Je me suis fait la même réflexion dans du code embarqué sur lequel je travaille récemment. Si BASIC pouvait gérer les chaînes sur un Z80 avec 4 Ko de ROM et 16 Ko de RAM statique, je ne vois pas pourquoi il faudrait supporter les chaînes C sur un ARM à 48 MHz
    • J’ai lu plusieurs fois tes commentaires sur HN, mais je ne savais pas que tu étais le créateur de D
    • À vue de nez, strncpy() copie au maximum n octets et inclut l’octet nul s’il se trouve dans cette limite, mais si le nième octet n’est pas nul, il n’ajoute pas de nul
      Donc il faut soit allouer n+1 octets, soit tronquer au nième, soit mettre soi-même le dernier octet à 0
  • L’héritage de BASIC est immense. Enfant, j’ai eu la chance d’utiliser un Atari 800XL, et comme le matériel intégrait BASIC en ROM, j’ai appris BASIC
    C’était assez simple pour qu’un enfant qui ne connaissait absolument personne s’y connaissant en informatique puisse apprendre seulement avec les programmes d’exemple à la fin du manuel
    Je n’ai jamais rencontré Kurtz, mais je dois beaucoup à ce langage qui m’a donné accès à la créativité quasi infinie qu’offraient l’informatique et la programmation
    Ce n’était pas le meilleur langage pour des travaux vastes et complexes, mais c’était largement suffisant pour qu’un enfant crée une aventure textuelle et place des pixels à l’écran. Ce n’est qu’une dizaine d’années plus tard que j’ai appris que INT signifiait interruption, et non entier
    M’amuser, adolescent, à créer des jeux de calculatrice pour les cours en TI-BASIC a aussi eu une bonne influence sur mon développement comme développeur, et a été mon premier exemple de cette expérience fréquente en programmation du « pareil, mais différent ». Par chance, cela a même débouché sur une carrière initiale dans le développement de jeux
    Jusqu’à hier, le nom de Thomas E. Kurtz ne m’aurait rien dit, mais le simple mot BASIC fait remonter des dizaines de bons souvenirs. J’ai encore l’Atari 800XL de mon enfance, et désormais je crois que je penserai à lui chaque fois que je le verrai

    • Pareil pour moi. Sauf que c’était Commodore 64 BASIC
  • Si ma mémoire est bonne, j’ai écrit ma première ligne de BASIC en 1976.
    J’avais 15 ans et j’étais allé avec mon père à un salon professionnel ; sur le stand d’IBM, quelqu’un m’a proposé d’essayer un jeu d’alunissage. C’était un IBM 5100.
    J’ai demandé à mon père ce qu’il advenait des caractères qui défilaient vers le haut de l’écran avant de disparaître ; mon père, qui ne s’intéressait absolument pas à la technique, a demandé à un ingénieur d’IBM de me l’expliquer. C’est à ce moment-là que j’ai su que c’était ma voie, et c’est là, sur place, que j’ai écrit mes premières lignes de BASIC.
    L’année suivante, sur le stand de Hewlett Packard, je suis resté bouche bée devant une machine qui semblait être un HP-9825A traçant des figures de Lissajous avec un traceur.
    L’année d’après, j’ai travaillé pendant toutes les vacances pour acheter un HP-25, puis l’année suivante j’ai eu un TRS-80 Model 1 Level II et j’ai commencé à programmer en BASIC.
    À l’époque, je ne savais pas grand-chose : je pensais même qu’en achetant Editor/Assembler, la résolution de l’écran augmenterait.
    Plus tard, j’ai utilisé Megamax C et GFA BASIC sur Atari ST, puis plusieurs langages sur PC.
    Ce qui m’étonne toujours, c’est que certaines personnes aient créé en quelques jours, semaines ou mois des langages que des millions de personnes ont utilisés toute leur vie. Une influence immense.
    Monsieur Kurtz, vous n’avez peut-être pas créé le meilleur langage, mais ce que vous avez créé a apporté joie et inspiration à toute une génération de jeunes programmeurs. Cette joie semble aujourd’hui un peu atténuée, sauf peut-être quand on code en Rust.

    • En 1976, vous viviez mon rêve. J’ai commencé à programmer à 14 ans sur le PLATO SYSTEM de l’University of Illinois.
      C’était un système avec des écrans plasma et 1 000 terminaux, un réseau social, airfight — précurseur de Microsoft Flight Simulator — et pedit5/dnd, le premier jeu de donjon.
      Je tondais des pelouses en rêvant de m’acheter une calculatrice HP-25 ou SR-52, ou même mon propre ordinateur comme un IMSAI 8080.
      Plus tard, sur PLATO, j’ai fait simuler un jeu de football de poche, et j’ai aussi écrit des programmes BASIC avec un interpréteur jouet, mais il n’y avait aucun moyen de les sauvegarder une fois la session terminée.
  • En 2010, j’ai interviewé Thomas Kurtz chez lui pour ma thèse de doctorat sur la vision des computer utilities dans les années 60 et 70.
    Cette vision imaginait un monde où de grandes utilities informatiques fourniraient des services électroniques, comme AT&T ou les compagnies d’électricité.
    Il était à la retraite depuis longtemps, mais vivait toujours dans les collines du New Hampshire, près de Dartmouth. Je ne retrouve plus mes notes d’entretien, mais je garde le souvenir de quelqu’un de très aimable et accueillant.
    Ce que John Kemeny et lui ont accompli à Dartmouth était vraiment remarquable. Pour eux, la technologie — c’est-à-dire le temps partagé et BASIC — était un moyen d’éduquer les étudiants, de leur donner du pouvoir et, au bout du compte, de renforcer la société dans son ensemble.

    • Si cela ne vous dérange pas, j’aimerais lire cette thèse de doctorat.
      Merci de l’avoir partagée. J’ai hâte de la lire.
  • Tom Kurtz, John Kemeny et BASIC ont aussi changé ma vie.
    J’ai écrit mon premier programme BASIC en 1970, puis, dès l’année suivante au lycée, j’ai passé des heures à programmer en BASIC devant le Model 33 Teletype de la salle informatique de l’école, via le système à temps partagé HP-2000 du district scolaire.
    J’ai finalement choisi d’aller à Dartmouth à cause de sa philosophie de l’informatique pour les étudiants de premier cycle.
    À l’époque, avoir accès à un ordinateur, sous quelque forme que ce soit, était déjà énorme, et savoir programmer vous distinguait nettement de vos pairs pour candidater en master ou chercher un emploi.
    J’ai donc l’impression d’avoir surfé jusqu’à aujourd’hui sur cette vague du début des années 1970, même si le nombre de jeunes très compétents a ensuite explosé.
    Ce fut une période étonnante et brève. Si j’avais 13 ans aujourd’hui, je ne sais pas trop quelle technologie comparable pourrait propulser quelqu’un en avant aussi facilement.
    Mon premier programme était celui-ci : 10 LET N=5^2.5, 20 PRINT N, 30 END
    Le résultat, un peu plus de 55, m’a paru être une révélation. Comme je ne connaissais pas les logarithmes à l’époque, la signification d’un exposant fractionnaire était pour moi un mystère complet, et j’ai dû demander à mon professeur de maths ce que signifiait la réponse.

    • Mes maths scolaires étant rouillées, j’allais demander comment résoudre ça, puis j’ai cherché.
      J’ai saisi « 5 to the power of 2.5 » et, après quelques clics, je suis tombé sur ce résultat, avec « math solver » affiché dans la barre de recherche : https://www.google.com/search?q=5%5E(2.5)
      Il y avait aussi un bouton montrant les étapes de résolution, et une réponse Quora donnait deux méthodes en utilisant les règles des exposants.
      Sympa. Il faut maintenant que je me remette aux maths du lycée.
  • Pourrions-nous afficher une barre noire de deuil en hommage au Dr Kurtz ?
    Il est difficile d’exagérer l’héritage de BASIC dans notre secteur. Ce langage et sa mission à Dartmouth étaient révolutionnaires.
    Surtout, le simple fait qu’il ait été le premier langage de programmation découvert par d’innombrables nouveaux utilisateurs d’ordinateurs, à l’aube de l’informatique personnelle, a eu des effets secondaires incalculables.
    Je suis pris par la nostalgie, mais voici la référence de Dartmouth BASIC, édition 1964 : http://web.archive.org/web/20120716185629/http://www.bitsave...
    C’est vraiment fascinant et cela donne un petit aperçu de l’ambiance de l’époque.
    J’aime particulièrement la phrase de la page 21 : « TYPING IS NO SUBSTITUTE FOR THINKING ».

    • Ce manuel est une très belle trouvaille. Le Dr Kurtz était en avance sur son temps en s’étant fixé pour objectif de rendre l’informatique accessible au grand public bien avant la révolution des micro-ordinateurs.
      BASIC était une porte d’entrée facile vers la programmation, et il a fait tomber d’innombrables personnes dans l’informatique, dont des enfants des années 70 et 80 comme moi. Il a contribué à façonner l’avenir autant que n’importe qui.
    • Pour moi aussi, son héritage a été immense. Enfant, je saisissais du code BASIC à la main sur un « ordinateur » TI branché sur le seul téléviseur de la maison.
      Comme il n’y avait pas de lecteur de disquette pour sauvegarder, j’avais mis une étiquette sur le câble en espérant que personne ne débranche l’alimentation.
      Quelques années plus tard, pendant la bulle dot-com, j’ai décroché mon premier emploi en VB alors que j’étais en première année d’université, et cela a littéralement changé ma vie en me mettant sur une trajectoire qui m’a permis d’avoir une meilleure situation que mes parents.
    • Dans le manuel, les symboles du chiffre 0 et de la lettre O sont inversés.
      On y voit donc des lignes comme F0R X=1 T0 1OO.
      En 1964, était-ce vraiment inversé comme ça ?
    • Quand quelqu’un a écrit « The legacy of BASIC on our industry can hardly be understated », l’expression recherchée était probablement « can hardly be overstated ».
      Si l’idée était de dire que l’héritage de BASIC est immense, alors il faut dire qu’il serait difficile d’en exagérer l’importance.
      « couldn't be understated » voudrait dire que, même si on en parlait comme de quelque chose d’insignifiant, ce serait encore vrai. Ce n’était sûrement pas l’intention.
      Le commentaire d’emptiestplace ne méritait donc pas vraiment d’être autant downvoté.
    • Cela a pris une journée, mais pendant que je répondais dans un autre fil, le site est passé à la barre noire ; c’était assez sinistre d’essayer désespérément de comprendre ce qui s’était passé pendant les quelques minutes où j’étais en train de taper.
  • Comme pour beaucoup de programmeurs de ma génération, le premier langage que j’ai appris était BASIC.
    Dans les années 80 et 90, BASIC était vraiment partout, et presque tous les ordinateurs étaient livrés avec une forme ou une autre de BASIC.
    Même mon manuel de maths de sixième avait une annexe avec des jeux mathématiques éducatifs sous forme de listings de code source BASIC.
    Adieu, et merci pour le poisson, Dr Kurtz.

    • J’ai fini par utiliser plusieurs variantes de BASIC, parce qu’il y avait des versions différentes sur divers disques de démarrage.
      Celles qui me viennent immédiatement à l’esprit sont BASIC, BASICA et QBASIC, mais je ne me souviens plus des différences entre ces variantes.
    • Pourquoi « thanks.*fish » ? Pas de blague sur les expressions régulières, s’il vous plaît.
      Je sais que c’est une expression et je l’ai déjà lue, mais j’aimerais qu’un humain me l’explique plutôt que Google.
  • Moi aussi, j’ai commencé à programmer avec BASIC.
    D’abord sur un Apple ][ à l’école, puis j’ai eu un Vic-20 à la maison.
    Beaucoup des jeux les plus sympas du Vic-20 consistaient à recopier depuis des magazines d’énormes quantités de données entières, ce qui n’était pas très éducatif.
    Plus tard, j’ai eu accès à un système HP avec Rocky Mountain BASIC, qui était un système plutôt excellent.
    Quelques années après, j’ai obtenu ma première expérience professionnelle comme testeur sur le portage de RM BASIC vers HP/UX, puis environ cinq ans plus tard je suis revenu à RMB en créant un système de gestion de tests de production appelé Functional Test Manager.
    Il y a quelques jours, j’ai même déjeuné avec quelqu’un avec qui je travaillais à l’époque. En écrivant tout cela, je réalise que BASIC a été une partie centrale de ma carrière. RIP Thomas.

  • Ce qui est intéressant, c’est que l’une des raisons pour lesquelles Pascal a été moqué tenait aux limites du système d’origine et à l’incompatibilité des implémentations arrivées sur le marché.
    À l’inverse, on peut dire que BASIC a été pendant 20 ans l’épine dorsale de l’industrie des mini-ordinateurs et des micro-ordinateurs, alors que ses implémentations et ses fonctionnalités variaient énormément.
    Les BASIC que j’ai utilisés n’étaient pas compatibles entre eux, à part sur les bases comme les expressions et les types de données essentiels, et même ces bases géraient toutes les chaînes différemment.

    • La différence, c’est que BASIC était un langage interprété, et qu’à l’époque on considérait ce type de langage comme nécessairement non portable et utile seulement pour l’enseignement et les petits systèmes.
      En réalité, il n’existe pas vraiment de gros logiciels écrits dans la version originale de Pascal non plus.
      Pascal avait été conçu comme un langage compilé susceptible de servir à écrire de grands systèmes, mais il avait de sérieuses limites sur ce plan.
    • Je pense que les attentes envers BASIC et Pascal étaient différentes.
      BASIC était un langage éducatif, et même si des gens l’ont poussé jusqu’à créer des systèmes de production, tout le monde savait que cela restait un langage éducatif qui avait grandi au-delà de son domaine initial.
      Il a aussi servi à des travaux sérieux, mais c’était un langage « jouet », et on ne s’attendait pas à ce qu’un programme sérieux écrit en BASIC soit portable.
      Pascal a lui aussi commencé comme langage éducatif, mais il était perçu comme beaucoup plus « sérieux », et ses structures de contrôle étaient effectivement bien meilleures que celles de BASIC.
      Mais il n’a pas atteint le niveau fixé par ces attentes, pour les raisons déjà évoquées.
      Aurait-on pu écrire en Pascal les mêmes applications qu’en BASIC ? Presque certainement. Est-ce que cela aurait été mieux ? Clairement.
      La différence venait sans doute du fait que BASIC était plus accessible. Un enfant de 10 ans pouvait bricoler avec, alors que Pascal relevait plutôt du bricolage d’étudiant.
      Pascal s’est donc vu associer des attentes plus élevées, et le même type de limites semblait trahir ces attentes de façon plus marquée.