Switchステートメントは今日(Javascript、Java、PHP、C#、C++、C)のすべての主要言語で表示されていますが、このステートメントが初めて出現した言語は何ですか?誰がswitch文を発明しましたか?
答えて
Lispは、です。この数字は、1956-1958の期間内にWikipedia's sourceです。
私はM.I.T.でIBM 704用のFORTRANに書いたチェスの法的移動ルーチンのセットに関連して条件式を発明しました条件式を定義し、Algolでその使用を提案した論文は、ACMのコミュニケーションに送られたが、非常に短かったので、エディタへの手紙に任意降格された。
からJohn McCarthy:Lisp Prehistory - Summer 1956 through Summer 1958
右、Lispブランチを忘れました! BCPLとALGOLよりはるか以前(FORTRANのスイッチではありません)。 +1 – Amadan
I * think *記事がCACM第2巻第8号(1959)に掲載されていますが、オンラインアーカイブにはエディタへの手紙が含まれていないようです。古い版へのアクセス権を持つ人がこれを確認できる場合、または理想的には、オリジナルへのリンクを提供すれば、それは壮大なものになります。 – tripleee
Wikipediaのテキストは、このイベントは 'cond'が発明された時だと主張していますが、Lisp Prehistoryの記事の大まかな読み方では、この主張を検証したり否定しているようです。 Wikipediaは 'if''''''''''''''''''''''の代わりに' 'もっと一般的な' 'cond *構造体' 'と呼んでいますので、これが私の答えです。 – tripleee
あなたが言及している言語の中で、おそらくCが最初になります。しかし、あなたが注意深く観察すれば、コンセプトはアセンブリ言語の場合のようなより基本的な言語から生まれます。
コンセプトの進化であるため、実際には答えられません。 C(あなたのリストの中で最も古いもの)は、BCPL(switchon
ステートメントを持っていました)から進化したB(またswitch
を持っていました)から進化しました。 BCPLはCPL(AFAIK)にはなかった。 Pascal-vs-Cキャニオンの反対側では、ALGOL(ALGOL68のcase
文)は、FORTRAN(計算されたGO TO
ステートメントの初歩的なものを持っていました)から進化しました。計算されたGO TO
は非常に低レベルで、組み立てに簡単に実装できます。
一般的なすべての言語で使用される構文について質問します。私はそれもBだと信じています。 – Tom
- 1. 誰がミラー列を発明したのですか?
- 2. Python Seabornライブラリを発明したのは誰ですか?
- 3. 誰かがELMAHのフロントエンドを開発しましたか?
- 4. switch文が間違った結果を返しました
- 5. Apple Mach-O Linker(ld)Switch文を使用しているときにエラーが発生しましたか?
- 6. switch文が難しい
- 7. 誰かがif文でcontinueキーを説明できますか?
- 8. 私はこの種の構文に遭遇しました:var == ""? " - ":var。誰かが説明できますか?
- 9. 誰かが@RequestBodyを明確にしてもらえますか
- 10. preg_matchを使用したPHP switch文
- 11. if-elseステートメントをswitchステートメントに変換しようとしましたが、エラーが発生しました。
- 12. CocoaPod - エラー| [iOS]不明:不明なエラーが発生しました
- 13. 誰かがbackpropagationアルゴリズムを私に説明していただけますか?
- 14. パターンバインドをしましょう、誰かが例を説明できますか?
- 15. Pythonブロックスコープ - 誰かがこれを説明します
- 16. ColdFusionアプリケーションはswitch文をキャッシュします
- 17. 誰がi、j、kを整数カウンタの変数名として "発明したのですか?"
- 18. switch文でスタックしたJava初心者
- 19. Android App Signone誰かが私のために開発した
- 20. jadeの構文はswitch文をサポートしていますか?
- 21. XML文書で不明な要素エラーが発生しました
- 22. switch文のif文をwithからswitch文に変更する
- 23. booleanでswitch文が機能していませんか?
- 24. Switch文が機能しない
- 25. JavaScriptのswitch文が機能しない
- 26. fscanfを正しく使用していますか?とswitch文?
- 27. 構文エラーが発生しました
- 28. PHP警告:不明:行0の不明の文を閉じる際にエラーが発生しました
- 29. C誰でもこの構文を説明できますか?
- 30. 誰もstring.compare(_:options:range:locale :)を例文で説明できますか?
[プログラミングの歴史についての質問はスタックオーバーフローにオフトピックです](https://meta.stackoverflow.com/questions/255424/how-should-the-history-曖昧さ回避のタグ#comment24818_255425) –
私は、この問題をプログラミングの歴史であり、プログラミングではないので、話題として閉じようとしています。 – Dijkgraaf