<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=HAL%2FS</id>
	<title>HAL/S - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=HAL%2FS"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=HAL/S&amp;action=history"/>
	<updated>2026-05-27T20:01:31Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=HAL/S&amp;diff=342954&amp;oldid=prev</id>
		<title>imported&gt;Girus: lf</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=HAL/S&amp;diff=342954&amp;oldid=prev"/>
		<updated>2022-02-09T09:01:11Z</updated>

		<summary type="html">&lt;p&gt;lf&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;HAL/S&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;H&amp;#039;&amp;#039;&amp;#039;igh-order &amp;#039;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;#039;ssembly &amp;#039;&amp;#039;&amp;#039;L&amp;#039;&amp;#039;&amp;#039;anguage&amp;#039;&amp;#039;&amp;#039;/S&amp;#039;&amp;#039;&amp;#039;huttle&amp;#039;&amp;#039;) ist eine [[Programmiersprache]], die für [[Echtzeit]]anwendungen in Raumfahrzeugen von &amp;#039;&amp;#039;[[Intermetrics]]&amp;#039;&amp;#039; im Auftrag der [[NASA]] entwickelt wurde.&lt;br /&gt;
&lt;br /&gt;
Die Entwicklungen begannen Ende der 1960er Jahre unter dem Namen &amp;#039;&amp;#039;HAL&amp;#039;&amp;#039;. Mit Beginn des [[Space Shuttle|Space-Shuttle-Projekts]] wurde 1972 der Zusatz &amp;#039;&amp;#039;&amp;#039;/S&amp;#039;&amp;#039;&amp;#039; hinzugefügt, da ein Großteil der Software des Shuttles in dieser Sprache geschrieben wurde.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://ipnpr.jpl.nasa.gov/progress_report/42-64/64AA.PDF |werk=Current Status of the HAL/S Compiler on the Modcomp Classic 7870 Computer |zugriff=2014-02-27 |autor=P.J. Lytle |hrsg=National Aeronautics and Space Administration |titel=Introduction |zitat=Approximately 85% of the Shuttle Software is coded in HAL/S: a body of 2 million lines of comments, data declarations and executable lines of code. |format=PDF}}&amp;lt;/ref&amp;gt; HAL/S wurde auch in anderen Raumfahrtprojekten verwendet, zum Beispiel zur Lageregelung der [[Galileo (Raumsonde)|Galileo]]-Sonde.&lt;br /&gt;
&lt;br /&gt;
HAL/S wurde in [[XPL]], einem Dialekt von [[PL/I]], geschrieben.&lt;br /&gt;
&lt;br /&gt;
== Grundprinzipien ==&lt;br /&gt;
Die drei Zielsetzungen beim Design der Sprache waren Verlässlichkeit, Effizienz und [[Plattformunabhängigkeit]]. Luft- und raumfahrttypische Aufgaben (wie [[Vektor]]- und [[Matrix (Mathematik)|Matrixrechnung]]) können in einer Weise ausgeführt werden, die für Leute mit Raumfahrtwissen, die keine tiefen Programmierkenntnisse haben, leicht verständlich ist.&lt;br /&gt;
&lt;br /&gt;
HAL/S verzichtet auf Konstrukte, die als Fehlerquellen bekannt sind. Beispielsweise gibt es keine Unterstützung für [[dynamische Speicherverwaltung]]. Die Sprache bietet dafür besondere Unterstützung für [[Echtzeit]]anwendungen. Manche Elemente wie beispielsweise »[[GOTO]]« wurden hauptsächlich deshalb bereitgestellt, um maschinelle Übersetzungen von anderen Sprachen zu erleichtern.&amp;lt;ref&amp;gt;NASA: {{Webarchiv|text=Programming in HAL/S |url=http://klabs.org/richcontent/software_content/hal_s/programming_in_hal-s.pdf |wayback=20090319104733}}, auf klabs.org. (PDF)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
HAL/S arbeitet weitgehend mit [[Freies Format|freiem Format]]: Anweisungen können an einem beliebigen Punkt einer Zeile beginnen und sich über die folgenden Zeilen erstrecken, und mehrere Anweisungen können, wenn gewünscht, in eine einzige Zeile gesetzt werden. Allerdings können einzelne Zeichen am Anfang einer Zeile eine besondere Bedeutung haben. Zum Beispiel wird eine Zeile als Kommentar erkannt und beim [[Kompilierung|Kompilieren]] ignoriert, wenn sie mit dem Buchstaben »C« beginnt.&lt;br /&gt;
&lt;br /&gt;
Eine Besonderheit der HAL/S-Syntax ist die Unterstützung eines optionalen Dreizeilen-Eingabeformats, in dem drei Quellcode-Zeilen eine Anweisung darstellen. Die erste und die dritte Zeile werden dabei für Superskripte ([[Potenz (Mathematik)|Exponenten]]) und Subskripte ([[Index (Mathematik)|Indizes]]) verwendet, was eine Art mathematische Notation im Code ermöglicht.&lt;br /&gt;
&lt;br /&gt;
Beispielsweise kann die Gleichung  &amp;lt;math&amp;gt;x = a^2 + b_i^2&amp;lt;/math&amp;gt; so geschrieben werden:&lt;br /&gt;
&lt;br /&gt;
 E       2     2&lt;br /&gt;
 M  X = A  + B&lt;br /&gt;
 S            I&lt;br /&gt;
&lt;br /&gt;
Ansonsten werden Exponenten wie in [[Fortran]] und PL/I mit zwei Sternchen gekennzeichnet; Indizes werden in Klammern mit vorangestelltem Dollarzeichen eingefügt. Das obige Beispiel könnte also auch als Einzeiler wie folgt dargestellt werden:&lt;br /&gt;
&lt;br /&gt;
 X = A ** 2 + B$(I) ** 2&lt;br /&gt;
&lt;br /&gt;
== Namensgebung ==&lt;br /&gt;
Der Name HAL wurde &amp;lt;!-- laut en: --&amp;gt; von Ed Copps, Gründungsdirektor der Firma Intermetrics, die die Sprache für die [[NASA]] entwickelte, zu Ehren des [[Massachusetts Institute of Technology|MIT]]-Kollegen Hal Laning gewählt. HAL war aber auch der Name des [[HAL 9000|sprechenden Bordcomputers]] des [[Raumschiff]]s &amp;#039;&amp;#039;Discovery One&amp;#039;&amp;#039; aus einem der bekanntesten [[Science-Fiction]]-Filme, &amp;#039;&amp;#039;[[2001: Odyssee im Weltraum]]&amp;#039;&amp;#039; von 1968 und ist daher ein besonders passender Name für eine Raumfahrt-affine Programmiersprache.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.hq.nasa.gov/office/pao/History/computers/Appendix-II.html Computers in Spaceflight: The NASA Experience.] (englisch)&lt;br /&gt;
* [http://www.brouhaha.com/~eric/nasa/hal-s/ HAL/S Documents] (englisch)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{SORTIERUNG:HalS}}&lt;br /&gt;
[[Kategorie:Programmiersprache]]&lt;br /&gt;
[[Kategorie:Raumfahrttechnik]]&lt;br /&gt;
[[Kategorie:NASA]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Girus</name></author>
	</entry>
</feed>