Beaucoup de changements, beaucoup de BASICS

Histoire du Langage Basic

Ordinateur

Après la première mise en œuvre de Dartmouth BASIC, Kemeny, Kurtz et les étudiants de premier cycle les plus étroitement liés au temps partagé ont travaillé pour améliorer la langue.

Mais lorsque de nouvelles versions de BASIC ont émergé de Dartmouth, des versions plus anciennes ont trouvé leur chemin en dehors du DTSS et ont commencé à proliférer et à muter.

La première implémentation Dartmouth BASIC, que Kemeny et Kurtz ont appelée BASIC the First, a été publiée en 1964. Elle était limitée; il n'y avait pas d'instruction INPUT, par exemple (qui arriverait par la troisième implémentation), l'instruction DEF n'autorisait que les définitions et les noms de fonction les plus simples (FNA à FNZ, ou 26 possibilités), et les variables de chaîne et les constantes n'étaient pas possible de définir dans un premier temps.

Même les noms de variables numériques devaient être simples : une seule lettre comme N, ou une lettre et un chiffre, comme Z1 ; cela permettait 286, c'est-à-dire 26 + 26 X 10, noms de variables potentiels. (Les choses sont restées simples pour que le compilateur BASIC en une seule passe fonctionne sans problème.)

Même l'instruction PRINT, qui envoie des caractères au terminal, était simple, permettant uniquement aux virgules de séparer des blocs discrets de caractères en quinze caractères " zones d'impression", comme ceci :

10 LET Y=10
20 PRINT "TEN IS: ", Y
30 END

RUN
TEN IS: 10

Peu de temps après, l'option point-virgule a été ajoutée afin que la sortie puisse être "regroupée" :

10 LET Y=10
20 PRINT "TEN IS: "; Y
30 END

RUN
TEN IS: 10

Lors de la sixième implémentation de BASIC, ou BASIC the Sixth, l'instruction PRINT a reçu une contrepartie: l'instruction PRINT USING, qui permettait un formatage complexe de la sortie (par exemple, des montants numériques affichés en dollars).

L'instruction INPUT, à ce stade, avait également obtenu une contrepartie : LINPUT (qui devint plus tard LINE INPUT), permettant à n'importe quel caractère ou caractères - pas seulement des données numériques - d'être entrés en tant qu'entrées par l'utilisateur pendant l'exécution. De plus, BASIC a été conçu pour gérer l'importation d'éléments tels que des fichiers texte.

Les tableaux ont causé le plus de consternation à Kemeny et Kurtz. BASIC le premier a par défaut un indice de limite inférieure de 1, et non de 0 ; ainsi, les tableaux n'étaient pas indexés à zéro.

Bientôt, cependant, le zéroème élément a été ajouté par défaut. Sans utiliser l'instruction DIM pour déclarer un tableau à une ou deux dimensions (qui étaient les deux seules options), initialiser simplement les éléments du tableau sans déclaration - comme indiqué dans la liste des programmes de Dartmouth Championship Football aux lignes 60 et 70 - le tableau recevrait automatiquement onze éléments avec les indices 0, 1, 2, ..., 10.

Utilisez l'instruction DIM pour déclarer le tableau, et l'utilisateur aurait accès à plus d'éléments (bien que toujours un de plus que ce qui était demandé, grâce à l'élément zéro par défaut).

Les matrices étaient liées aux tableaux, qui étaient en fait des tableaux à deux dimensions. L'instruction MAT manipulait facilement ces tableaux bidimensionnels, mais il y avait des divergences car MAT n'était pas indexé à zéro - il fonctionnait comme la première version de l'instruction DIM, avec des indices de limite inférieure de 1.

Dès le début, Kemeny et Kurtz savaient que BASIC devait permettre aux utilisateurs de stocker et de manipuler des chaînes. Mais ils avaient besoin d'un moyen de différencier les variables qui stockaient des données numériques et celles qui stockaient des données de chaîne.

Ne parvenant pas à localiser de nombreuses clés libres sur le télétype, ils ont eu recours au signe dollar ($) pour marquer la différence, en écrivant : « Puis l'un de nous a observé que $ ressemble à S pour chaîne (String), et la convention a été adoptée.

Si nous avions su combien de millions d'utilisateurs finiraient par utiliser 'name$' et 'word$' en BASIC, nous aurions peut-être réfléchi davantage au choix !"

Les chaînes ont été converties par le compilateur, caractère par caractère, en codes ASCII (American Standard Code for Information Interchange, un système de codage de caractères qui associait des nombres à des caractères) qui pouvaient ensuite être traités de manière arithmétique.

Les utilisateurs de Dartmouth BASIC se verraient éventuellement offrir des options pratiques pour manipuler les chaînes, comme la concaténation (joindre des chaînes ensemble), capturer une sous-chaîne (avec la fonction SEG $, qui renvoyait une partie désignée d'une chaîne) et trouver la longueur d'une chaîne (avec la fonction LEN, qui a renvoyé un entier, pas une chaîne, donc pas de signe dollar dans son nom).

Mais juste au moment où il semblait que tous les problèmes avec Dartmouth BASIC avaient finalement été résolus avec la sortie de BASIC the Sixth en 1970, le toit a commencé à fuir.

Dans leur livre Back to BASIC, Kemeny et Kurtz ont exposé trois défis importants auxquels BASIC était confronté dans les années 1970 : premièrement, l'avènement du « traçage », un antécédent des capacités graphiques des ordinateurs personnels ; deuxièmement, l'émergence d'une programmation structurée ; et troisièmement, la standardisation du langage BASIC.

Le "traçage" permettait aux utilisateurs d'interagir graphiquement avec les programmes.

Un professeur à Dartmouth, Arthur Luehrmann, a écrit une bibliothèque de sous-programmes graphiques BASIC, facilement importés, qui a donné aux programmeurs BASIC l'accès aux capacités de traçage; puis Luehrmann a consolidé la bibliothèque, adaptant le langage BASIC lui-même pour permettre des instructions graphiques telles que PLOT.

L'intérêt était si élevé pour ces capacités graphiques qu'en 1974, une «Conférence de travail sur les graphiques en BASIC» a été convoquée au Minary Conference Center de Squam Lake, dans le centre du New Hampshire, réunissant des experts des mondes des affaires et de l'éducation.

L'émergence d'une programmation structurée, le deuxième défi que Basic a rencontré dans les années 1970, est couverte dans la section BASIC devient structuré.

Inutile de dire que le professeur de Dartmouth, Stephen Garland, qui, en tant que premier cycle a aidé à écrire Algol pour le LGP-30 de Dartmouth, a développé une version structurée de Basic the Sixth appelé SBASIC (Basic structuré).

SBASIC a ajouté de nouvelles structures en boucle et une instruction ELSE (pour des conditions plus avancées) ainsi que de permettre la dénomination des sous-programmes. Basic The Seventh (1979) a ramassé le bâton, améliorant les fonctionnalités SBASIC et en ajoutant de nouvelles, telles que les noms de variables plus longues.

Le troisième défi pour faire face à Basic dans les années 1970 a été la standardisation. Dartmouth était à bord avec la normalisation du langage dès 1971, lorsque le collège s'est associé à Hatfield Polytechnic en Angleterre pour "éviter les interprétations divergentes de la langue par les futurs implémentateurs".

Plusieurs années plus tard, un comité d'American National Standards Institute (ANSI) a appelé le X3J2 convoqué pour normaliser Basic. X3J2 a séparé la normalisation du langage en deux parties: basique minimale et soi-disant complète de base.

Minimal Basic a finalement ressemblé aux premières versions de Dartmouth Basic et a été approuvée et codifiée en 1978.

Mais la controverse a harcelé la normalisation de la base de base, centrée sur les graphiques et les caractéristiques spécialisées. Il faudrait au Comité plus de dix ans pour adopter des normes de base complètes, date à laquelle des machines informatiques personnelles, ainsi que de nombreux dialectes de base, avaient explosé en popularité.

L'Organisation internationale pour la normalisation, ou ISO, a également spécifié un ensemble de normes de base complètes, dérivées des normes ANSI.

Ces dialectes de base, dont certains étaient conformes aux normes, ont provoqué chez Kemeny et Kurtz de nombreuses nuits blanches; Ainsi, en partie se blâmant pour ne pas avoir poussé à la normalisation beaucoup plus tôt, en 1983, ils ont décidé de construire une base multiplateforme conforme à l'ANSI appelée True Basic. L'histoire de True Basic est détaillée dans la section Kemeny et Kurtz contre-attaquent.

Inutile de dire qu'au milieu des années 1970, le contrôle de l'avenir de Basic avait glissé de l'emprise de Dartmouth. Il y avait des versions de base apparemment partout:

sur les terminaux de temps en temps non-dartmouth, sur les kits informatiques, sur les mainframes, sur les mini-ordinateurs. (Les mini-ordinateurs étaient des machines compactes à usage général nettement plus petites et moins nécessitant moins de dépenses que les mainframes à grande échelle, bien que coûtant toujours des milliers de dollars.

Les années 1970 ont également annoncé la révolution du micro-ordinateur. Alors qu'un mini-ordinateur pouvait être considéré comme un mainframe à l'échelle, un micro-ordinateur était une petite machine peu coûteuse avec son unité de traitement centrale, ou CPU, contenue sur une seule puce semi-conductrice.

Les micro-ordinateurs étaient des ordinateurs personnels: des machines autonomes conçues pour une seule personne. Même les machines les plus sous-alimentées avaient coupé les coins; Ensuite, ces baslcs inférieurs, et les nouvelles bases les plus construites s'étaient propagées.

Kemeny et Kurtz ont salué la réalisation de programmation du premier Microsoft Basic - en faisant une base fonctionnelle dans une si petite quantité de mémoire - tout en fustigeant cette implémentation comme étant préjudiciable à l'intégrité du langage lui-même.

En outre, à mesure que les ordinateurs ont rapidement augmenté en puissance et diminué en taille, des commandes dépendantes du matériel ont été ajoutées aux implémentations de base, résultant en un autre méli-mélo de la vision de Dartmouth d'origine ainsi qu'une armée d'implémentations de base incompatibles. Le résultat final était qu'un programme écrit sur une implémentation pourrait ne pas fonctionner correctement sur un autre.

De plus, la rupture de Dartmouth-General Electric au début des années 1970 a laissé à GE une copie carbone de Basic The Fifth sur leurs ordinateurs, mais GE n'a pas pris la peine de retourner à Dartmouth pour se procurer le Sixth Basic, bien amélioré, pour ne rien dire de Les avancées de programmation structurées de SBASIC.

Basic The Fifth deviendrait GE Basic, et les versions de l'informatique se répandaient au PDP-8 de Digital Equipment Corporation et au HP 2000 de Hewlett-Packard, deux mini-ordinateurs principalement orientés vers l'éducation, ainsi que directement dans les maisons des gens. Le monde se transformait.

Dartmouth n'était pas non plus à l'abri de la transformation. Kurtz, qui était directeur du Kiewit Computer Center pendant environ une décennie, a reconnu en 1975 que la pression sur les ordinateurs GE était trop grande, de nombreux utilisateurs réclamant une puissance de calcul supplémentaire.

Il a proposé que Dartmouth se procure de nouveaux matériels: à partir de GE ou Honeywell, ce dernier était lié à GE. Mais Kemeny lui a demandé: "Qu'en est-il du [conseil consultatif] du Conseil informatique?" Kurtz avait-il parlé avec eux en premier?

Le Conseil informatique en avait assez de GE; Ils ont préféré aller avec Digital Equipment Corporation, même si Kurtz était opposé à cette décision. En raison de la poussière, Kurtz a estimé que Kemeny voulait qu'il démissionne en tant que directeur (une réunion, Sans Kurtz, a été convoquée pour discuter de la question).

Kurtz s'est conformé, et a plutôt été nommé le premier directeur de l'informatique académique et a recommencé à faire à temps plein ce qu'il a fait de mieux: l'enseignement.

Kurtz a peut-être bien fait, son héritage intact, mais tout le monde n'a pas eu autant de chance. En juin 1977, le Kiewit Computer Center a dû être fermé pendant plus de dix heures après un accident d'écureuils qui se sont électrocutés dans le bâtiment.

 

 

 

 

 

 

 

Recherche personnalisée