Algol 58
Algol 58 , à l'origine connu sous le nom de IAL , est un de la famille des langages de programmation de d'ordinateur d'algol que c'était une première conception de compromis bientôt remplacée par ALGOL 60 ; Algol 58 a présenté la notion fondamentale de l'instruction composée composée , mais il a été limité au flux de commande seulement, et il n'a pas été attaché à la portée de marque.
Origine possible du nom : " ; Il était également l'homme qui a inventé à ce moment-là le mot « langue algorithmique » (algorithmische Sprache) au moins dans Germany. Bauer)
Il y avait des propositions pour une langue universelle par le ACM et également par le GaMM . On l'a décidé d'organiser une réunion conjointe conjointe pour les combiner. La réunion a eu lieu à partir du 27 mai au 1er juin, le 1958 , dans le Zürich et a été suivie par les personnes suivantes :
Friedrich L. Bauer , Hermann Bottenbruch , Heinz Rutishauser , et Klaus Samelson (du GaMM)
John Backus , Charles Katz , Alan Perlis , et Joseph Henry Wegstein (de l'ACM).
On a à l'origine proposé la langue pour s'appeler IAL (langue algébrique internationale ), mais lors de la réunion ceci a été rejeté comme " ; acronym" « indescriptible » et pompeux ; (Perlis, 1981), et algol suggéré à la place, bien que pas officiellement adopté jusqu'à un an après. La publication suivant la réunion employait toujours le nom IAL - rapport préliminaire de : Langue algébrique internationale . Les désaccords non définis ont également mené à un plan pour définir deux dialectes, algol 58 et algol 60.
Vers la fin de 1958 le ZMMD-groupe avait construit un compilateur fonctionnant d'algol 58 pour le Z22 . ZMMD a indiqué Zürich (IE. Rutishauser), München (IE. Bauer , Samelson), Mayence (IE.
Algol 58 a vu un certain effort d'exécution au IBM , mais l'effort était en concurrence avec Fortran , et bientôt abandonné. Il a été également mis en application à l'université de Dartmouth sur un LGP-30 mais cette exécution bientôt transformée en algol 60 . Une exécution pour le Burroughs 220 a appelé BALGOL évolué aussi bien le long de ses propres lignes, mais a maintenu beaucoup du caractère d'original d'algol 58's.
La contribution primaire d'algol 58's était aux langues postérieures ; elle a été employée comme base pour le JOVIAL, le FOU, le NELIAC et le ALGO . Elle a été également employée pendant 1959 pour éditer les algorithmes dans le CACM de , commençant une tendance d'employer la notation d'algol en publication qui a continué pendant beaucoup d'années.
Comparaison avec ALGOL  ; 60
IAL a présenté le concept à trois nivaux de la référence, la langue de publication et de matériel, et le concept du " ; delimiters" de mot ; avoir une représentation séparée des marques librement choisies (par conséquent, aucuns mots réservés). ALGOL  ; 60 ont gardé ce concept à trois nivaux. La distinction entre la tâche (: =) et la relation d'égalité (=) a été présentée dans IAL et maintenue dans ALGOL  ; 60.
IAL et ALGOL  ; 60 rangées permises avec les limites inférieures et supérieures arbitraires d'indice inférieur, et indice inférieur permis bondit pour être définies par des expressions de nombre entier.
IAL et ALGOL  ; 60 permis l'emboîtement des déclarations de procédé et des portées correspondantes de marque.
Le rapport d'IAL a décrit la substitution de paramètre dans le plus ou moins les mêmes limites que l'ALGOL  ; 60 rapport, partant ouvrent la possibilité d'appel de nom. Il est peu clair si ceci était réalisé alors.
IAL a permis les étiquettes de rapport numériques, cet ALGOL  ; 60 gardés.
La possibilité d'inclure le code non-ALGOL dans le cadre d'un programme a été déjà laissée entendre, dans le cadre des paramètres aux procédures.
IAL et ALGOL  ; 60 ont eu un commutateur .
Fonctions intégrées du f ( X ) de forme : = X /2 ; ont été proposés dans IAL mais dropped dans ALGOL  ; 60.
Les déclarations de procédé d'IAL ont fourni les listes séparées de déclaration pour l'entrée et les paramètres de rendement, un procédé pourraient renvoyer des valeurs multiples ; ce mécanisme était replaced dans ALGOL  ; 60 avec la déclaration de la valeur .
Les déclarations variables dans IAL ont pu être anywhere placés dans le programme et pas nécessairement au début d'un procédé. En revanche, les déclarations dans un ALGOL  ; le bloc 60 devrait se produire before tous les rapports d'exécution.
Le pour - le rapport a eu le de forme pour le i de : = limite basse , conventions suivantes de du (incrément de ) établies dans des systèmes de programmation automatiques plus tôt ; ALGOL  ; 60 ont remplacé les parenthèses par l'étape de délimiteurs de mot et le jusqu'à , tels que le rapport précédent à la place serait le i : =   bas du ;   de l'étape ;   de l'incrément de ; jusqu'au   de ; limite de .
Le d'IAL si - rapport n'a pas eu un puis - clause ou d'autre - clause ; elle a plutôt gardé le rapport de réussite. IAL a fourni un si l'un ou l'autre - rapport cet essai permis propre des conditions multiples. Tous les deux ont été remplacés par le de l'algol si - construction du puis , avec l'introduction du " ; " d'autre balançant du ; ambiguïté.
IAL a fourni à la macro-substitution le fait - rapport ; ceci a été laissé tomber dans ALGOL  ; 60.
IAL a laissé omettre un ou plusieurs indices de tableau en passant des rangées aux procédures, et fournir quelques des ou tous arguments à un procédé passé à un autre procédé.
Les opérateurs booléens binaires d'IAL étaient tout les même niveau de priorité. Des exposants ont été indiqués avec appareillé à travers les flèches, qui ont enlevé n'importe quelle confusion au sujet de l'interprétation correcte des exposants nichés ; ALGOL  ; 60 ont remplacé les flèches appareillées par un up-arrow simple dont la fonction était équivalente au du Fortran ** .
Le rapport d'IAL n'a pas explicitement spécifié quelles fonctions standard devaient être fournies, faisant une référence vague au " ; fonctions standard d'analysis." ; L'ALGOL  ; le rapport 60 a eu une liste plus explicite de fonctions standard.
| Random links: | Denver Nuggets | Harald Schmidt | Bataille de Berlin | Liste de marques de crème glacée glacée | Diaspora Basque | ALGOL_58 |