2016-04-04 17 views
-5

Switch-Anweisung wird heute in allen Hauptsprachen (Javascript, Java, PHP, C#, C++, C) dargestellt, aber in welcher Sprache diese Anweisung zum ersten Mal erschienen ist?Wer hat die switch statement erfunden?

+0

[Fragen zur Programmierung Geschichte sind Wegthema auf Stack-Überlauf] (https://meta.stackoverflow.com/questions/255424/how-should-the-history- tag-be-disambiguated # comment24818_255425) –

+4

Ich stimme zu, diese Frage als off-topic zu schließen, weil es um Geschichte der Programmierung geht und nicht um Programmierung – Dijkgraaf

Antwort

2

Lisp hat cond die Wikipedia's source Plätze in der Zeit von 1956-1958.

Ich erfand bedingte Ausdrücke in Verbindung mit einer Reihe von Schach legal Move-Routinen, die ich in FORTRAN für die IBM 704 bei M.I.T schrieb. während 1957-58 ... Ein Papier, das bedingte Ausdrücke definierte und deren Verwendung in Algol vorschlug, wurde an die Mitteilungen der ACM geschickt, wurde aber willkürlich zu einem Leserbrief degradiert, weil es sehr kurz war.

- John McCarthy: Lisp Prehistory - Summer 1956 through Summer 1958

+0

Richtig war, vergaß die Lisp-Filiale! Früher als BCPL und ALGOL (obwohl später als noch nicht ganz-Schalter von FORTRAN). +1 – Amadan

+0

I * denke * der Artikel würde in CACM Band 2 Ausgabe 8 (1959) sein, aber ihr Online-Archiv scheint keine Briefe an den Herausgeber zu enthalten. Wenn jemand mit Zugriff auf alte Ausgaben dies überprüfen könnte, oder idealerweise einen Link zum Original bereitstellen würde, wäre das großartig. – tripleee

+0

Der Wikipedia-Text behauptet, dass dieses Ereignis ist, als "cond" erfunden wurde, aber eine oberflächliche Lektüre des Lisp Prehistory Artikels scheint diesen Anspruch nicht zu bestätigen oder zu widerlegen. Wikipedia spielt auf eine "allgemeinere * cond * -Struktur" an und nicht nur auf "if" - "then" - "else". Darauf gründe ich diese Antwort. – tripleee

0

Unter den Sprachen, auf die Sie sich beziehen, wäre wahrscheinlich C der erste. Allerdings, wenn Sie genau beobachten, ergibt sich das Konzept aus mehr grundlegenden Sprachen wie im Fall der Montage Sprache,

1

Es kann nicht wirklich beantwortet werden, da es eine Evolution eines Konzepts war. C (das älteste in Ihrer Liste) wurde aus B entwickelt (hatte auch switch), das aus BCPL entstand (hatte switchon Aussage). BCPL kam von CPL, die (AFAIK) nicht. Auf der anderen Seite der Pascal-vs-C-Schlucht, ALGOL (hatte case Erklärung in ALGOL68) entwickelt von FORTRAN (hatte einen rudimentären Vorgänger in der berechneten GO TO-Anweisung). Die berechnete GO TO ist sehr Low-Level und einfach in der Montage implementiert.

+0

Ich frage nach Syntax, die in allen gängigen Sprachen verwendet wird. Ich glaube auch, dass es B. – Tom