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. 誰かがELMAHのフロントエンドを開発しましたか?
- 3. Apple Mach-O Linker(ld)Switch文を使用しているときにエラーが発生しましたか?
- 4. 私はこの種の構文に遭遇しました:var == ""? " - ":var。誰かが説明できますか?
- 5. ColdFusionアプリケーションはswitch文をキャッシュします
- 6. 誰かがbackpropagationアルゴリズムを私に説明していただけますか?
- 7. jadeの構文はswitch文をサポートしていますか?
- 8. Switch文が機能しない
- 9. XML文書で不明な要素エラーが発生しました
- 10. booleanでswitch文が機能していませんか?
- 11. 誰がi、j、kを整数カウンタの変数名として "発明したのですか?"
- 12. switch文のif文をwithからswitch文に変更する
- 13. Android App Signone誰かが私のために開発した
- 14. PHP警告:不明:行0の不明の文を閉じる際にエラーが発生しました
- 15. switch文
- 16. Objective-Cブロックの構文 - 誰かがこれを説明できますか?
- 17. 誰かがこのSQL構文エラーを説明できますか?
- 18. MVC4 SimpleMemberhip 'プロバイダで不明なエラーが発生しました。'
- 19. XCode to AWS CodeCommit - >不明なエラーが発生しました
- 20. mySQLエラーが発生しました。不明なカラムwhere句
- 21. DocumentList API FullTextQuery ServiceException - 不明なエラーが発生しました
- 22. Java Puzzlers VIにバグが見つかりました。誰かがそれを説明できますか?
- 23. switch文jQueryがラジオボタンの値に作用しません
- 24. 誰かが、UIWebViewがいくつかのURLで失敗することを発見しましたか?
- 25. 誰かがsize_t型を例として使用する理由を誰でも説明できますか?
- 26. 誰かがASP.NET MVC3でjquery flexigridを使用しましたか?
- 27. 誰かがHudsonとRedmineを統合しましたか?
- 28. 誰かがxemail-netをC#で使用しましたか?
- 29. 誰かがGoogle App EngineでMongoDBを試しましたか?
- 30. 誰かがlibsensorsを正しく使用できましたか?
[プログラミングの歴史についての質問はスタックオーバーフローにオフトピックです](https://meta.stackoverflow.com/questions/255424/how-should-the-history-曖昧さ回避のタグ#comment24818_255425) –
私は、この問題をプログラミングの歴史であり、プログラミングではないので、話題として閉じようとしています。 – Dijkgraaf