ホームページ  >  記事  >  バックエンド開発  >  12 のプログラミング言語の起源の物語

12 のプログラミング言語の起源の物語

WBOY
WBOYオリジナル
2016-06-23 13:05:441367ブラウズ

Java の起源

過去数十年にわたり、多数のプログラミング言語が発明、置き換え、修正、または結合されてきました。すべての言語は議論から生まれ、進化によって消滅します。これらの言語の作成者は全員、プログラミングの世界の象徴的な人物であり、探求の旗を高く掲げて前進しています。その賞賛がこの記事の誕生を促しました。この記事は、過去 50 年間で最も成功し人気のある 12 のプログラミング言語とその作成者のストーリーを収集して共有します。

1. Java の起源

1990 年代初頭、Sun Company で働く James Gosling らは Java 言語のプロトタイプの開発を開始し、その目標は当初 Oak という名前でした。家電製品などの小型システム。テレビ、電話、目覚まし時計、トースターなどの家電製品の制御や通信に使用されます。これらのスマート家電に対する市場の需要が予想ほど高くなかったため、サンは計画を断念した。 1990 年代のインターネットの発展に伴い、Sun は Oak がインターネット上で使用される可能性を見出し、Oak を改造し、1995 年 5 月に Java という名前で正式にリリースしました。 Java はインターネットの急速な発展とともに発展し、徐々に重要なネットワーク プログラミング言語になりました。

従来のモデルとは異なり、Sun は Java を立ち上げたときにオープン テクノロジとしてみなしました。世界中の何万もの Java 開発会社は、相互に互換性のある Java ソフトウェアを設計する必要があります。 「Java 言語は企業の力ではなくグループの力に依存している」は Sun のスローガンの 1 つであり、大多数のソフトウェア開発者に認識されています。これは、後に競合する .NET プラットフォームや Java を模倣した C# 言語を立ち上げた Microsoft が提唱したエリート主義的で閉鎖的なモデルとはまったく異なります。その後、Sun は Oracle に買収され、Java は Oracle 製品になりました。

Java は WORA (一度書いたらどこでも実行) の概念を満たすために作成され、プラットフォームに依存しないため、エンタープライズ アプリケーションで大成功を収めています。これまでのところ、最も人気のあるアプリケーション プログラミング言語となっており、エンタープライズ レベルの Web アプリケーション開発やモバイル アプリケーション開発で広く使用されています。

2. C++ の起源

このアイデアは、Stroustrup が博士論文を執筆していたときのプログラミング経験から生まれました。彼は、Simula には大規模なソフトウェアの開発に非常に役立つ特性があるが、BCPL の方がはるかに高速であるにもかかわらず、Simula の実行速度が遅すぎて実際のニーズには効果的ではないことを発見しました。大規模なソフトウェアの開発。 Stroustrup 氏は、ベル研究所で働き始めたとき、分散コンピューティングの問題について UNIX コアを分析しました。博士論文の経験を思い出した Stroustrup は、Simula のような機能をいくつか追加して C 言語を強化し始めました。 C は、さまざまな目的への適合性、速度、携帯性を考慮して選択されました。 C と Simula に加えて、ALGOL 68、Ada、CLU、ML などの他の言語からもインスピレーションを得ています。当初、クラス、派生クラス、ストレージ型チェック、インライン化、およびデフォルト パラメーター機能は、Cfront を通じて C 言語に導入されました。最初の商用リリースは 1985 年 10 月に行われました。

1983 年に、C with Classes は C++ に名前変更されました。仮想関数、関数名と演算子のオーバーロード、参照、定数、ユーザー制御可能な空き領域ストレージ制御、型チェックの改善、新しい二重スラッシュ (//) 単一行コメント スタイルなどの新機能が追加されました。 1985 年に、重要な言語リファレンスを提供する「C++ プログラミング言語」の初版がリリースされましたが、これはまだ公式の標準ではありません。 1989 年にリリース 2.0 がリリースされました。多重継承、抽象クラス、静的メンバー関数、定数メンバー関数、およびメンバー保護が導入されています。 1990 年に、注釈付き C++ リファレンス マニュアルが発行されました。この本は後に標準化の基礎となりました。テンプレート、例外処理、名前空間、新しいキャスト、およびブール型も後で導入されました。

C++ という名前は、1983 年半ばに Rick Mascitti によって提案され、1983 年 12 月に初めて使用されました。以前は、まだ研究段階にある開発中の言語は「新しい C」と呼ばれ、その後「クラス付き C」と呼ばれていました。コンピューター サイエンスでは、C++ は今でも C 言語の上部構造として知られています。この名前は、C 言語の「++」演算子 (変数の値をインクリメントする) にちなんで付けられています。また、一般的な命名規則では、拡張プログラムを示すには「+」を使用します。 「この名前は、C 言語の変更から生じる自然な進化を象徴しています」と Stroustrup 氏は述べています。 C+ は初期のプログラミング言語であり、C/C++ とは何の関係もありません。

3. ASP.NET の起源

1997 年、Microsoft は、当時 ASP.NET の主要リーダーであった Scott Guthrie によって、ASP の欠点 (特にスパゲッティ プログラム開発手法) に対処するための新しいプロジェクトの開発を開始しました。デューク大学を卒業した後、IIS チームのマネージャーである Mark Anders と 2 か月間協力して、次世代 ASP テクノロジのプロトタイプを開発しました。このプロトタイプは 1997 年のクリスマスに開発され、XSP This という名前が付けられました。プロトタイプ製品はJava言語を使用しています。しかし、当時まだ開発中だった CLR プラットフォームにすぐに組み込まれました。スコット ガスリー氏は、当時このテクノロジを CLR プラットフォームに移植するのは確かに危険であると考えましたが、当時の XSP チームが最初にそれを実行しました。 CLR に基づいたアプリケーションをチームで開発します。

XSP を CLR に移植するために、XSP チームは XSP のすべてのコア プログラムを C# 言語で書き直し (プロジェクトの内部コード名は「Project Cool」でしたが、当時は公には秘密にされていました)、名前を ASP+ に変更しました。 ASP テクノロジーの後継として、ASP 開発者に簡単な移行方法も提供します。 ASP+ のベータ バージョンとアプリケーションは、Bill Gates 氏による PDC 2000 で発表され、ASP+ アプリケーションを作成するための COBOL 言語の使用をデモンストレーションし、Visual Basic .NET、C#、Perl、Nemerle、および Python 言語を使用して開発できることを発表しました。

2000 年の第 2 四半期に、Microsoft は .NET 戦略を正式に推進し、ASP+ は 4 年間の開発を経て、当然のことながら ASP.NET に名前変更されました。ASP.NET の最初のバージョンは 2002 年 1 月 5 日に発表されました (および .NET)。 Framework 1.0) を導入した後、Scott Guthrie は ASP.NET のプロダクト マネージャーにも就任しました (これまでに ASP.NET AJAX や Microsoft Silverlight などのいくつかの Microsoft 製品を開発してきました)。

4. PHP の起源

PHP は、元々は、オリジナルの Perl プログラムを置き換えるために Rasmus Ledolf によって開発された CGI ツールのセットでした。当初、これらのツールは、Rasmus Ledolf の履歴書を表示し、Web トラフィックをカウントするために使用されていました。彼はこれらのプログラムをいくつかのフォーム インタプリタと統合し、PHP/FI と呼びました。 PHP/FI をデータベースに接続して、単純な動的 Web プログラムを生成できます。 Rasmus Lerdorf は、コミュニティを利用してプログラム開発を加速し、バグを発見することを期待して、1995 年 6 月 8 日に PHP/FI を一般公開しました。 PHP 2 と名付けられたこのリリースされたバージョンには、Perl のような変数命名、フォーム処理機能、HTML に埋め込んで実行する機能など、今日の PHP のプロトタイプのいくつかがすでに備わっていました。プログラム構文も Perl に似ていますが、より多くの制限がありますが、Perl の方がシンプルで柔軟性があります。

1997 年、Technion IIT で働く 2 人のイスラエル人プログラマー、Zeev Suraski と Andi Gutmans が PHP の構文アナライザーを書き換え、PHP 3 の基礎となりました。このとき、PHP は PHP: Hypertext Preprocessor という名前にも変更されました。数か月のテストの後、開発チームは 1997 年 11 月に PHP/FI 2 をリリースし、その後 PHP 3 のオープン テストを開始し、最終的に 1998 年 6 月に PHP 3 をリリースしました。 Zeev Suraski と Andi Gutmans は、PHP 3 のリリース後に PHP のコアの書き換えを開始しました。1999 年にリリースされたパーサーは Zend Engine と呼ばれ、彼らは PHP の開発を管理するためにイスラエルのラマトガンに Zend Technologies を設立しました。

2000 年 5 月 22 日、Zend Engine 1.0 に基づく PHP 4 が正式にリリースされ、PHP 5 は 2004 年 7 月 13 日にリリースされました。PHP 5 は第 2 世代の Zend Engine を使用します。 PHP には、強化されたオブジェクト指向機能、PDO (PHP Data Objects、データベースにアクセスするための拡張ライブラリ) の導入、および多くのパフォーマンスの強化など、多くの新機能が含まれています。現在、PHP 4 は、ユーザーに PHP 5 への移行を促す更新は行われません。

2008 年に、PHP 5 が PHP の唯一維持される安定バージョンになりました。現在、2,000 万以上の Web サイトと 100 万台の Web サーバーがこの言語を使用しており、Facebook、Wikipedia、WordPress、Joomla などのインターネット大手もすべてこの言語を使用しています。

5. JavaScript の起源

元々は Netscape の Brendan Aich によって設計されました。 はオラクル社の登録商標です。 ECMA International は、 に基づいて ECMAScript 標準を開発しました。 サーバーサイドプログラミングなど、他の状況でも使用できます。完全な実装は、ECMAScript、ドキュメント オブジェクト モデル、ブラウザ オブジェクト モデルの 3 つの部分で構成されます。

Netscape は当初、そのスクリプト言語を LiveScript と名付けましたが、Netscape が Sun と協力したことにより、後に名前が変更されました。 元々は Java からインスピレーションを受けており、目標の 1 つは「Java のように見える」ことであったため、構文に類似点があり、一部の名前や命名規則も Java から借用しています。ただし、 の主な設計原則は Self と Scheme から派生しています。 Java と名前が似ているのは、当時のマーケティング上の理由から Netscape が Sun Microsystems と合意した結果です。技術的な優位性を得るために、Microsoft はスクリプト言語と競合する JScript を立ち上げました。相互運用性を目的として、Ecma International (旧欧州コンピュータ製造者協会) は ECMA-262 標準 (ECMAScript) を作成しました。どちらも ECMAScript の実装です。プログラマー向けのスクリプト言語ではなく、非プログラマー向けのスクリプト言語として宣伝および宣伝されていますが、非常に豊富な機能セットを備えています。

6. 「Ruby」言語の起源

1993 年、まつもとゆきひろは、C 言語をベースに、スクリプト言語の優れた機能を統合しようとして、Ruby 言語の研究開発を開始しました。 Perl よりも強力で、Python よりもオブジェクト指向でした。 1994 年、まつもとゆきひろ氏はまだ 28 歳のときに Ruby の最初のアルファ版を単独で完成させました。まつもとゆきひろさんは、美しく貴重なルビーという意味から「ルビー」と名付けました。 Ruby 自体も非常に魅力的です。このインタープリター型スクリプト言語は、インタープリター型言語のダイナミクスを失うことなく、スクリプト言語の強力な文字列処理機能と正規表現を備えています。

さらに、まつもとゆきひろ氏は、ワードプロセッサにおける Perl 言語の利点も活用し、Ruby で書かれたプログラムは事前のコンパイルなしで直接実行できるため、開発プロセス中の迅速なフィードバックに役立ち、プログラムのデバッグが大幅に容易になります。 Ruby スクリプト言語の最初のバージョンが 1995 年にリリースされると、開発者の作業効率が大幅に向上し、プログラミングがより楽しくなったため、Ruby スクリプト言語はすぐに日本で非常に人気になりました。

1997年より「株式会社ネットワーク応用通信研究所」の特別研究員としてRubyの開発に注力。 2000 年に、Dave Thomas が初めて Ruby を英語コミュニティに紹介し、すぐに Ruby 言語のブームが始まりました。 Ruby の柔軟な機能は動的プログラミング言語に新たな活力を注入し、徐々に世界中のプログラマーの支持を得ています。

世界に完璧な言語は存在しません。Ruby も例外ではありません。 Ruby は優れていますが、多くの人はパフォーマンスが低いと感じています。幸いなことに、開発者は後にいくつかの拡張機能を通じて Ruby のボトルネックを補いました。 2004 年、デンマーク人の David Heinemeier Hansson が、J2EE の 10 倍以上の開発速度を達成できる Ruby 言語を使用した Web フレームワークである Ruby onRails を開発しました。これは多くの人に「ソフトウェア開発の特効薬」とみなされ、Ruby が始まりました。世界中で人気になるために。

7. Scala の起源

Scala は、スケーラブルな言語を実装し、オブジェクト指向プログラミングと関数型プログラミングのさまざまな機能を統合するように設計された、マルチパラダイム プログラミング言語、Java に似たプログラミング言語です。

2001 年、ローザンヌ連邦工科大学エコール ポリテクニックの Martin Odesky は、Funnel の成果に基づいて Scala の設計を開始しました。 Funnel は、関数型プログラミングのアイデアとペトリ ネットを組み合わせたプログラミング言語です。 Odesky は以前、Generic Java および javac で働いていました。 Java プラットフォーム用の Scala は、2003 年末から 2004 年初めにリリースされました。 .NET プラットフォーム用の Scala は 2004 年 6 月にリリースされました。この言語の 2 番目のバージョンである v2.0 は、2006 年 3 月にリリースされました。 2009 年 4 月、Twitter はバックエンド プログラムの大部分を Ruby から Scala に移行し、残りも移行する予定であると発表しました。さらに、Wattzon は、そのプラットフォーム全体がすでに Scala インフラストラクチャ上で書かれていると公に述べています。

2014 年、Martin Odesky は Scala 2.12 で構文が簡素化されると発表し、Scala の「Don Giovanni」プロジェクトを立ち上げた際、「Scala は現在、賢い人のために作られており、将来的には Python と異なるものになるだろう」と述べました。 Scala ではプログラマがすべてを 1 つの方法で実行できるのに対し、Scala ではプログラマが可変データ構造、不変データ構造、並列データ構造を自由に選択できる一連のツールが提供されます。次に、これらの選択肢のうち、Scala はアルゴリズム レベルで特別な最適化を実行します。 Scala はプログラマーの創意工夫を信じており、プログラマーが絶えず変化するタスク要件を満たすために適切な構造を選択できるようにします。これが Scala の優れた点です。

8. Python の起源

1989 年のクリスマス期間中、Guido van Rossum はアムステルダムで時間を潰すために、ABC 言語の継承として新しいスクリプト インタプリタを開発することにしました。パイソンが番組名に選ばれたのは、彼がBBCテレビシリーズ「モンティ・パイソンのフライング・サーカス」のファンだったためである。 ABC はグイド氏が共同設計した教育言語です。 Guido 自身の意見では、ABC は非プロのプログラマー向けに特別に設計された、非常に美しく強力な言語です。しかし、ABC 言語が成功しなかったのは、オープン性の欠如が原因であるとグイド氏は考えています。 Guido は Python でこの間違いを回避することを決意し、C と他のいくつかの言語を完璧に組み合わせて非常に良い結果を達成しました。

このようにして、Python は Guido の手によって誕生しました。実際、最初の実装は Mac 上で行われました。 Python は ABC から発展し、主に Modula-3 (小グループ向けに設計されたもう 1 つの非常に美しく強力な言語) の影響を受けたと言えます。 Unix シェルと C の習慣を組み合わせます。現在も Guido が Python の主要開発者であり、Python 言語全体の開発の方向性を決定しています。 Python コミュニティではよく彼を善意の独裁者 (BDFL) と呼びます。これは、彼が今でも Python の開発プロセスに注意を払い、必要に応じて意思決定を行っていることを意味します。

Python の設計哲学は「エレガント」、「明確」、「シンプル」です。 Python 開発者の哲学は、「1 つのことを 1 つの方法で、できれば 1 つの方法のみで実行する」です。 Python 言語を設計する際、複数の選択肢に直面した場合、Python 開発者は通常、派手な構文を拒否し、明確に曖昧さがまったくないか、ほとんどない構文を選択します。これらのガイドラインは「Python の格言」と呼ばれます。

9. Go の起源

golang としても知られる Go は、Google によって開発された、静的に強力に型付けされ、コンパイルされ、同時実行されるプログラミング言語であり、ガベージ コレクション機能を備えています。

Robert Grismo、Rob Pike、Ken Thompson は 2007 年 9 月に Go 言語の設計を開始し、その後 Ian Lance Taylor と Russ Cox がプロジェクトに参加しました。 Google は Go の開発を 20% プロジェクトとして開始し、従業員は自分の仕事以外の時間の 20% をプロジェクトに費やすことができました。パーカー氏に加えて、他の Google エンジニアもプロジェクトのメンバーです。この言語を開発した理由について、パイク氏は次のように述べています。「私たちが Go を開発したのは、過去 10 年ほどのソフトウェア開発の難しさにイライラさせられてきたからです。」

Go言語はInfernoオペレーティングシステムに基づいて開発されています。 Go 言語は 2009 年 11 月に正式に発表され、オープン ソース プロジェクトとなり、Linux および MacOS X プラットフォームに実装され、その後 Windows システムにも実装されました。 2010 年 1 月 10 日、Go 言語は、2009 年に最も市場シェアを伸ばしたプログラミング言語に授与される、TIOBE によって発表された 2009 Annual Award を受賞しました

10. Android の起源

2003 年 10 月、Andy Lu アンディ ルービン米国で Android Inc. を設立し、Rich Miner、Nick Sears、Chris White と共同設立し、この会社を成長させます。 Android システムは当初、Andy Rubin らによって開発および製造されました。このシステムの開発の当初の目的は、デジタル カメラ用の高度なオペレーティング システムを作成することでした。しかし、市場の需要が十分に大きくないことが後に判明しました。そこで Android はスマートフォン用のオペレーティング システムとして急速に成長しました。 Android Technology Company を設立した理由について、Rubin 氏は次のように述べています。「Android Technology Company の創設者と従業員は、過去に独自の技術的成果を上げてきましたが、スマート モバイル デバイスはユーザーの好みや要件をよりよく実現できます。」同社の事業はスマートフォン ソフトウェアのみに限定されており、ルービン氏は全財産を Android テクノロジーに費やしました。

2005 年 8 月 17 日、Google は設立わずか 22 か月のハイテク企業である Android とそのチームを密かに買収しました。 Andy Rubin は Google のエンジニアリング担当副社長に就任し、引き続き Android プロジェクトの責任者となりました。 2007 年 11 月 5 日、Google は Android と呼ばれるオペレーティング システムを対外的に正式にデモンストレーションし、この日、Google は携帯電話メーカー、ソフトウェア開発者、通信事業者、チップ メーカー 34 社が共同で構成する世界的な提携組織の設立を発表しました。 Android システムを共同開発および改善するために、84 のハードウェア メーカー、ソフトウェア開発者、通信事業者と Open Handset Alliance を結成しました。

2013 年 9 月 24 日、Google が開発したオペレーティング システムである Android は 5 周年を迎え、このシステムを使用するデバイスの数が世界中で 10 億台に達しました。

11. Swift の起源

2010 年 7 月、Apple の開発者ツール部門のディレクターである Chris Ratner は、Swift プログラミング言語の設計に取り組み始め、1 年で基本的なアーキテクチャを完成させた後、設計チームを率いました。大きく関わっていた。 Swift は約 4 年間の開発期間を経て、2014 年 6 月にリリースされました。

Apple は、Swift は高速、最新、安全、インタラクティブで、Objective-C よりも大幅に優れていると主張しています。 Swift は LLVM でコンパイルされており、既存の Cocoa および Cocoa Touch フレームワークを使用できます。 Xcode Playgrounds 機能は、Swift が Apple の開発ツールにもたらした最大の革新であり、この機能は強力なインタラクティブ効果を提供し、Swift ソース コードが作成プロセス中にその実行結果を即座に表示できるようにします。ラトナー自身も、プレイグラウンドは主にブレット・ビクターのアイデアに触発されたものであると強調した。

2015 年 6 月 8 日、Apple は WWDC 2015 で、Swift がコンパイラーと標準ライブラリを含めてオープンソースになると発表しました。

2015 年 12 月 3 日、Apple は Swift をオープンソース化し、新しい Web サイト swift.org とホスティング Web サイト Github で Swift をオープンソース化すると発表しました。ただし、Apple のアプリストアはオープンソース Swift をサポートせず、サポートするだけです。 Apple の公式バージョン。正式バージョンは、新しい Web サイト swift.org のオープンソース バージョンと定期的に同期されます。

12. Node.js の起源

Node.js は、2009 年に Joyent で働いていた Ryan Dahl と他の開発者によって発明されました。 Node.js は 2009 年に Linux 向けに初めてリリースされました。 開発と保守作業はダールが主導しており、ダールの職場であるジョイエントもこの作業のスポンサーとなっています。

Dahl の Node.js のデザインは、Flickr のアップロード進行状況バーからインスピレーションを得たもので、ブラウザーはサーバーに問い合わせない限り、ファイル コンテンツがどれだけアップロードされたかを知りません。そこでダールはより簡単な方法を考案しました。このプロジェクトは、Google V8 JavaScript エンジンと低レベル I/O API を統合しており、第 1 回欧州 JSConf で Dahl によって一般公開されました。

Node.js にはすでに数十万のモジュールがあり、npm と呼ばれるマネージャーを通じて無料でダウンロードできます。

この記事は OneAPM エンジニアによって編集され、提供されています。 OneAPM は、エンドツーエンドのアプリケーション パフォーマンス ソリューションを提供し、すべての一般的なフレームワークとアプリケーション サーバーをサポートし、システムのボトルネックを迅速に発見し、異常の根本原因を特定するのに役立ちます。数分で導入してすぐに体験でき、パフォーマンスの監視がかつてないほど簡単になります。さらに技術的な記事を読みたい場合は、OneAPM 公式テクノロジー ブログにアクセスしてください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。