Zum Inhalt springen

„Autocode“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
+üa
K typo, form
 
(21 dazwischenliegende Versionen von 15 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Autocode''' ist eine Familie von „vereinfachten Codiersystemen“, einer frühen Form von [[Programmiersprache]]n.
{{überarbeiten}}
'''Autocode''' ist der Name einer Familie von „vereinfachten Codiersystemen“.
__TOC__


== Entstehungsgeschichte ==
== Entstehungsgeschichte ==
Autocode ist eine [[Programmiersprache]], ausgedacht in den 1950er Jahren und 1960er Jahren für eine Reihe von [[Computer]]n an den Universitäten [[University of Manchester|Manchester]] und [[University of Cambridge|Cambridge]]. Autocode war ein Oberbegriff; die Autocodes für verschiedene Maschinen sind nicht notwendigerweise nah verbunden gewesen, wie, zum Beispiel die verschiedenen Versionen der einzelnen Sprache [[Fortran]] sind.
Autocode ist eine Familie von [[Programmiersprache]]n, die in den 1950er Jahren und 1960er Jahren an den Universitäten [[University of Manchester|Manchester]] und [[University of Cambridge|Cambridge]] für verschiedene [[Computer]] entwickelt wurde. Autocode ist dabei als Oberbegriff zu verstehen; die verschiedenen Autocodes für unterschiedliche Rechner sind, anders als z.&nbsp;B. die verschiedenen Versionen der einzelnen Sprache [[Fortran]], sind sie nicht notwendigerweise verwandt. Der erste Autocode und der dazugehörige [[Compiler]] wurden 1952 von [[Alick Glennie]] für den [[Manchester Mark I]] entwickelt und wird von einigen als die erste kompilierte Programmiersprache betrachtet.<ref>{{Literatur |Autor=Donald E. Knuth, Luis Trabb Pardo |Titel=Early development of programming languages |Sammelwerk=Encyclopedia of Computer Science and Technology |Band=7 |Verlag=Marcel Dekker |Datum= |Seiten=419–493}}</ref> Der zweite Autocode, der „Mark 1-Autocode“ wurde für den Mark I [[Tony Brooker|R.A. Brooker]] 1954 entwickelt.
Der erste Autocode und sein Bearbeiter wurden von [[Alick Glennie]] 1952 für [[Manchester Mark I|1-Zeichen-Computer]] an der Universität Manchester entwickelt und wird von einigen als die erste kompilierte Programmiersprache betrachtet.<ref>{{Cite journal |last=Knuth|first=Donald E.|last2=Pardo|first2=Luis Trabb|title=Early development of programming languages|journal=Encyclopedia of Computer Science and Technology|volume=7|pages=419–493|publisher=Marcel Dekker}}</ref>
Der zweite Autocode wurde für das 1 Zeichen von [[Tony Brooker|R.A. Brooker]] 1954 entwickelt und wurde den "1-Zeichen-Autocode" genannt.


Brooker hat auch einen Autocode für Ferranti Mercury in den 1950er Jahren in Verbindung mit der Universität Manchesters entwickelt. Mercury Autocode hatte ein beschränktes Repertoire von [[Variable (Programmierung)|Variablen]] a-z und einem '-z' und, hat in mancher Hinsicht frühen Versionen später Dartmouth [[BASIC]] Sprache geähnelt. Es hat [[ALGOL]] ''('''Algo'''rithmic '''L'''anguage“'') zurückdatiert, kein Konzept von Stapeln und folglich keinen recursion oder dynamisch zugeteilt Reihe habend. Um die relativ kleine auf Quecksilber verfügbare Lager-Größe zu überwinden, wurden große Programme als verschiedene "Kapitel" geschrieben, von denen jedes eine Bedeckung eingesetzt hat. Etwas Sachkenntnis war erforderlich, zeitraubende Übertragungen der Kontrolle zwischen Kapiteln zu minimieren. Dieses Konzept von Bedeckungen von der Trommel unter der Benutzerkontrolle ist üblich geworden, bis virtuelles Gedächtnis verfügbar in späteren Maschinen geworden ist. Ein bisschen verschiedene Dialekte des Mecury Autocodes wurden für den Ferranti Atlas (verschieden aus dem späteren Atlas-Autocode) und ICT 1300 und der 1900. anordnen durchgeführt.
Brooker entwickelte in Zusammenarbeit mit der Universität Manchester in den 1950er Jahren auch ein Autocode für den [[Ferranti Mercury]]. „Mercury-Autocode“ hatte eine beschränkte Anzahl von [[Variable (Programmierung)|Variablen]], az und a‘ - z‘, und ähnelte in manchen Dingen frühen Versionen des späteren „Dartmouth [[BASIC]]. Es hat einige Konzepte des späteren [[ALGOL]] ''('''Algo'''rithmic '''L'''anguage)'' vorweggenommen, jedoch noch ohne Umsetzung eines [[Stapelspeicher]]s und somit auch ohne [[Rekursion]] und [[Speicherverwaltung|dynamisch allozierte]] [[Feld (Datentyp)|Arrays]]. Um mit dem auf der ''Mercury'' verfügbaren relativ kleinen Speicher zurechtzukommen, wurden große Programme in „Kapitel“ unterteilt, die durch [[Overlay (Programmierung)|Overlay]] genutzt wurden. Um den zeitraubenden Kontrollwechsel zwischen einzelnen Kapiteln zu minimieren, war einige Sachkenntnis erforderlich. Dieses Konzept des Overlays im [[Trommelspeicher]] durch Benutzerkontrolle war üblich, bis in späteren Maschinen [[Virtuelle Speicherverwaltung]] zur Verfügung stand. Ein etwas veränderter ''Mercury''-Autocode wurde auch für die [[Ferranti Atlas]] (von späteren ''Atlas-Autocode'' zu unterscheiden), der [[ICT 1300]] und der [[ICT 1900]] implementiert.

Die Version für den [[Electronic Delay Storage Automatic Calculator|EDSAC]] 2 ''('''E'''lectronic '''D'''elay '''S'''torage '''A'''utomatic '''C'''alculator)'' wurde von D. F. Hartley von Universität des Cambridges Mathematisches Laboratorium 1961 ausgedacht. Bekannt als EDSAC 2 Autocode war es eine gerade Entwicklung aus dem Quecksilberautocode, der an lokale Verhältnisse angepasst ist, und wurde für seine Gegenstand-Codeoptimierung und Quellsprache-Diagnostik bemerkt, die für die Zeit vorgebracht wurden. Eine Version wurde für den Nachfolger-Koloss (der Prototyp-Atlas 2 Computer) als eine vorläufige Notlösung entwickelt, während eine mehr wesentlich fortgeschrittene als [[Call Processing Language|CPL]] ''('''C'''all '''P'''rocessing '''L'''anguage)'' bekannte Sprache entwickelt wurde. CPL wurde nie vollendet, aber hat wirklich [[Basic Combined Programming Language|BCPL]] ''('''B'''asic '''C'''ombined '''P'''rogramming '''L'''anguage)'' verursacht (entwickelt von M. Richards), der der Reihe nach zu [[B (Programmiersprache)|B]] und schließlich [[C (Programmiersprache)|C]] geführt hat. Ein zeitgenössischer, aber getrennter Faden der Entwicklung, [[Atlas-Autocode]] wurde von der Universität von Manchester für [[Manchester Mark I|Manchester 1 Maschine]] entwickelt.
Die Version für den [[Electronic Delay Storage Automatic Calculator|EDSAC]] 2 ''('''E'''lectronic '''D'''elay '''S'''torage '''A'''utomatic '''C'''alculator)'' wurde von [[D. F. Hartley]] von der Universität [[Cambridge]] 1961 entwickelt. Der EDSAC-2-Autocode war eine nachfolgende Entwicklung aus dem ''Mercury''-Autocode. Er wurde nur an die Verhältnisse des Rechners angepasst und wurde für seine [[Objektcode]]-Optimierung und Quellsprachen-Diagnostik bekannt, die für die damalige Zeit fortschrittlich war. Eine weitere Version wurde für den [[Colossus]]-Nachfolger „Titan“ (den Prototyp des ATLAS-2-Computers) als eine vorläufige Notlösung verwendet, während eine wesentlich fortschrittlichere Sprache entwickelt wurde, die heute als [[Combined Programming Language|CPL]] ''('''C'''ombined '''P'''rogramming '''L'''anguage)'' bekannt ist. CPL wurde nie vollendet, hat aber das von [[Martin Richards]] entwickelte [[Basic Combined Programming Language|BCPL]] ''('''B'''asic '''C'''ombined '''P'''rogramming '''L'''anguage)'' entschieden beeinflusst, welches der Reihe nach zu den Programmiersprachen [[B (Programmiersprache)|B]] und [[C (Programmiersprache)|C]] weiterentwickelt wurde. Ein zeitgenössischer, aber getrennter Entwicklungsfaden, der [[Atlas-Autocode]], wurde von der Universität Manchester für die [[Manchester Mark I]] entwickelt.

== Literatur ==
* {{Literatur
|Autor=Martin Campbell-Kelly
|Titel=Programming the Mark 1: Early Programming Activity at the University of Manchester
|Sammelwerk=Annals of the History of Computing
|Band=2
|Nummer=2
|Verlag=IEEE
|Datum=1980
|Seiten=130–167
|Sprache=en
|DOI=10.1109/MAHC.1980.10018}}
* {{Literatur
|Autor=Ernesto Garcia Camarero
|Titel=AUTOCODE un sistema simplificado de codificacion para la computadora MERCURY
|Verlag=Universidad de Buenos Aires
|Datum=1961
|Seiten=70
|Sprache=es
|Online=http://elgranerocomun.net/AUTOCODE-un-sistema-simplificado.html}}


== Weblinks ==
== Weblinks ==
* [http://www.chemeng.ed.ac.uk/people/jack/history/autocodes/ The Autocodes: a User's Perspective]
* [http://web.archive.org/web/20121201041342/http://www.chemeng.ed.ac.uk/people/jack/history/autocodes/ The Autocodes: a User’s Perspective] (Archiv)


== Einzelnachweise ==
== Einzelnachweise ==
<references />
<references />
* {{cite journal |last=Campbell-Kelly|first=Martin|title=Programming the Mark 1: Early Programming Activity at the University of Manchester|journal=Annals of the History of Computing|volume=2|issue=2|publisher=IEEE|date= 1980|pages=130–167 |doi=10.1109/MAHC.1980.10018}}
* {{cite book |last=Garcia Camarero|first=Ernesto| title= AUTOCODE un sistema simplificado de codificacion para la computadora MERCURY|publisher=Universidad de Buenos Aires| date= 1961| pages= 70| url=http://elgranerocomun.net/AUTOCODE-un-sistema-simplificado.html}})Spanisch)


[[Kategorie:Programmiersprache]]
[[Kategorie:Programmiersprache]]

Aktuelle Version vom 5. September 2024, 15:43 Uhr

Autocode ist eine Familie von „vereinfachten Codiersystemen“, einer frühen Form von Programmiersprachen.

Entstehungsgeschichte

[Bearbeiten | Quelltext bearbeiten]

Autocode ist eine Familie von Programmiersprachen, die in den 1950er Jahren und 1960er Jahren an den Universitäten Manchester und Cambridge für verschiedene Computer entwickelt wurde. Autocode ist dabei als Oberbegriff zu verstehen; die verschiedenen Autocodes für unterschiedliche Rechner sind, anders als z. B. die verschiedenen Versionen der einzelnen Sprache Fortran, sind sie nicht notwendigerweise verwandt. Der erste Autocode und der dazugehörige Compiler wurden 1952 von Alick Glennie für den Manchester Mark I entwickelt und wird von einigen als die erste kompilierte Programmiersprache betrachtet.[1] Der zweite Autocode, der „Mark 1-Autocode“ wurde für den Mark I R.A. Brooker 1954 entwickelt.

Brooker entwickelte in Zusammenarbeit mit der Universität Manchester in den 1950er Jahren auch ein Autocode für den Ferranti Mercury. „Mercury-Autocode“ hatte eine beschränkte Anzahl von Variablen, a – z und a‘ - z‘, und ähnelte in manchen Dingen frühen Versionen des späteren „Dartmouth BASIC“. Es hat einige Konzepte des späteren ALGOL (Algorithmic Language) vorweggenommen, jedoch noch ohne Umsetzung eines Stapelspeichers und somit auch ohne Rekursion und dynamisch allozierte Arrays. Um mit dem auf der Mercury verfügbaren relativ kleinen Speicher zurechtzukommen, wurden große Programme in „Kapitel“ unterteilt, die durch Overlay genutzt wurden. Um den zeitraubenden Kontrollwechsel zwischen einzelnen Kapiteln zu minimieren, war einige Sachkenntnis erforderlich. Dieses Konzept des Overlays im Trommelspeicher durch Benutzerkontrolle war üblich, bis in späteren Maschinen Virtuelle Speicherverwaltung zur Verfügung stand. Ein etwas veränderter Mercury-Autocode wurde auch für die Ferranti Atlas (von späteren Atlas-Autocode zu unterscheiden), der ICT 1300 und der ICT 1900 implementiert.

Die Version für den EDSAC 2 (Electronic Delay Storage Automatic Calculator) wurde von D. F. Hartley von der Universität Cambridge 1961 entwickelt. Der EDSAC-2-Autocode war eine nachfolgende Entwicklung aus dem Mercury-Autocode. Er wurde nur an die Verhältnisse des Rechners angepasst und wurde für seine Objektcode-Optimierung und Quellsprachen-Diagnostik bekannt, die für die damalige Zeit fortschrittlich war. Eine weitere Version wurde für den Colossus-Nachfolger „Titan“ (den Prototyp des ATLAS-2-Computers) als eine vorläufige Notlösung verwendet, während eine wesentlich fortschrittlichere Sprache entwickelt wurde, die heute als CPL (Combined Programming Language) bekannt ist. CPL wurde nie vollendet, hat aber das von Martin Richards entwickelte BCPL (Basic Combined Programming Language) entschieden beeinflusst, welches der Reihe nach zu den Programmiersprachen B und C weiterentwickelt wurde. Ein zeitgenössischer, aber getrennter Entwicklungsfaden, der Atlas-Autocode, wurde von der Universität Manchester für die Manchester Mark I entwickelt.

  • Martin Campbell-Kelly: Programming the Mark 1: Early Programming Activity at the University of Manchester. In: Annals of the History of Computing. Band 2, Nr. 2. IEEE, 1980, S. 130–167, doi:10.1109/MAHC.1980.10018 (englisch).
  • Ernesto Garcia Camarero: AUTOCODE un sistema simplificado de codificacion para la computadora MERCURY. Universidad de Buenos Aires, 1961, S. 70 (spanisch, elgranerocomun.net).

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Donald E. Knuth, Luis Trabb Pardo: Early development of programming languages. In: Encyclopedia of Computer Science and Technology. Band 7. Marcel Dekker, S. 419–493.