Java の起源
過去数十年にわたり、多数のプログラミング言語が発明、置き換え、修正、または結合されてきました。すべての言語は議論から生まれ、進化によって消滅します。これらの言語の作成者は全員、プログラミングの世界の象徴的な人物であり、探求の旗を高く掲げて前進しています。その賞賛がこの記事の誕生を促しました。この記事は、過去 50 年間で最も成功し人気のある 12 のプログラミング言語とその作成者のストーリーを収集して共有します。
従来のモデルとは異なり、Sun は Java を立ち上げたときにオープン テクノロジとしてみなしました。世界中の何万もの Java 開発会社は、相互に互換性のある Java ソフトウェアを設計する必要があります。 「Java 言語は企業の力ではなくグループの力に依存している」は Sun のスローガンの 1 つであり、大多数のソフトウェア開発者に認識されています。これは、後に競合する .NET プラットフォームや Java を模倣した C# 言語を立ち上げた Microsoft が提唱したエリート主義的で閉鎖的なモデルとはまったく異なります。その後、Sun は Oracle に買収され、Java は Oracle 製品になりました。
Java は WORA (一度書いたらどこでも実行) の概念を満たすために作成され、プラットフォームに依存しないため、エンタープライズ アプリケーションで大成功を収めています。これまでのところ、最も人気のあるアプリケーション プログラミング言語となっており、エンタープライズ レベルの Web アプリケーション開発やモバイル アプリケーション開発で広く使用されています。
2. C++ の起源
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++ とは何の関係もありません。
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 の起源
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 は当初、そのスクリプト言語を LiveScript と名付けましたが、Netscape が Sun と協力したことにより、後に名前が変更されました。 元々は Java からインスピレーションを受けており、目標の 1 つは「Java のように見える」ことであったため、構文に類似点があり、一部の名前や命名規則も Java から借用しています。ただし、 の主な設計原則は Self と Scheme から派生しています。 Java と名前が似ているのは、当時のマーケティング上の理由から Netscape が Sun Microsystems と合意した結果です。技術的な優位性を得るために、Microsoft はスクリプト言語と競合する JScript を立ち上げました。相互運用性を目的として、Ecma International (旧欧州コンピュータ製造者協会) は ECMA-262 標準 (ECMAScript) を作成しました。どちらも ECMAScript の実装です。プログラマー向けのスクリプト言語ではなく、非プログラマー向けのスクリプト言語として宣伝および宣伝されていますが、非常に豊富な機能セットを備えています。
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 が始まりました。世界中で人気になるために。
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 の起源
このようにして、Python は Guido の手によって誕生しました。実際、最初の実装は Mac 上で行われました。 Python は ABC から発展し、主に Modula-3 (小グループ向けに設計されたもう 1 つの非常に美しく強力な言語) の影響を受けたと言えます。 Unix シェルと C の習慣を組み合わせます。現在も Guido が Python の主要開発者であり、Python 言語全体の開発の方向性を決定しています。 Python コミュニティではよく彼を善意の独裁者 (BDFL) と呼びます。これは、彼が今でも Python の開発プロセスに注意を払い、必要に応じて意思決定を行っていることを意味します。
Python の設計哲学は「エレガント」、「明確」、「シンプル」です。 Python 開発者の哲学は、「1 つのことを 1 つの方法で、できれば 1 つの方法のみで実行する」です。 Python 言語を設計する際、複数の選択肢に直面した場合、Python 開発者は通常、派手な構文を拒否し、明確に曖昧さがまったくないか、ほとんどない構文を選択します。これらのガイドラインは「Python の格言」と呼ばれます。
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 を受賞しました
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 億台に達しました。
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 のオープンソース バージョンと定期的に同期されます。
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 公式テクノロジー ブログにアクセスしてください。