コンピューターの永続的な進化に伴い、プログラミング言語も進化してきました。 調査中 母国語が100年以上前に作成され、女性によって開発されたことを達成します。 何を見てみましょう プログラミング言語の歴史。
プログラミング言語の歴史:背景
時間の経過とコンピューターの永続的な進化により、プログラミング言語は、プログラマーとコンピューター一般の要件に応じて変更および改善する必要があり、すでに忘却に陥っている多数の言語とコードを生成しました。
初期のプログラミング言語は現在のコンピューターよりも前のものであり、最初はプログラミング言語はコードでした。 1801年にジャカードによって作成された織機は、装飾パターンを自動的に作成するために、ミシン目のあるカードの穴を使用して、織機の機械式アームの動きを再現しました。
1842年から1843年の間に、エイダラブレスは、チャールズバベッジが提案した「分析エンジン」という機械で、メナブレアの作品を翻訳することに成功しました。 Ada Lovelaceは、このマシンでベルヌーイ数を計算するための方法論に関するいくつかの所見を追加しました。
ハーマンホレリスは、列車の運転手がチケットに開けた穴を使用して乗客を識別できることに気付いたときに、パンチカードのすべての情報をエンコードしました。 その後、1890年に、ホレルティはこれらのカードに乗客記録データコードを作成しました。
初期のコンピュータコードは、それらが何に使用されるかに応じて特殊化されていました。 XNUMX世紀の初めの数十年間、数値計算はXNUMX進数に基づいていました。 後で、彼らは論理が数字で象徴されることができることに気づきました。
アロンゾチャーチは、公式を使用してラムダ計算を表現しました。 チューリングマシンは、フォンノイマンアーキテクチャのコンピュータからのデータとしてプログラムをコンパイルするための基礎を築きました。
ただし、Turingコードは、より高度な言語の基盤としてはうまく機能しませんでしたが、アルゴリズムの厳密な分析に使用されました。
最初の プログラミング言語の歴史, 正確に時間内に特定することは困難です。 最初から、ハードウェアの制限により、 プログラミング言語の歴史.
当初、パンチカードは約90列しかサポートしていませんでしたが、各カードの分類に使用されていました。 メモリに磁気ドラムを使用するということは、プログラムをドラムの振動に散在させる必要があることを意味しました。 したがって、プログラムはハードウェアに依存していました。
特定の専門家にとって、ジャカード織機とバベッジ機は非常に基本的な言語であり、これらの機が行ったアクションを説明するのに制限がありました。 の中に プログラミング言語の歴史パンチカードでさえ、人間が消費するために作成されたものではありませんが、基本的な言語と見なされています。
重要な日付とデータ
40年代に、電流を動力源とする最初のコンピューターが開発されました。 それらには速度とメモリ容量の制限があり、プログラマーは単純なプログラムを作成する必要がありました。 長い目で見れば、彼らは、言語としてのプログラミングには、主題を知らないと間違いを犯す可能性があるため、大きな知的プッシュが必要であることを認識しています。
1948年、コンラートツーゼは、プランカルキュールと呼ばれる彼が開発したプログラミング言語に関する記事を発表しましたが、この分野でのさらなる研究は行いませんでした。 その時に作成された言語の中で、以下を強調することができます:
-
1943年:ENIACコード。
-
1948年プランカルキュール、これは半世紀後に実施されました。
-
1949年から1954年-特定のメーカー向けに作成された一連の指示が作成されました。
50年代と60年代XNUMX世紀:プログラミング言語の歴史の始まり
この時点で、まだ有効なXNUMXつのプログラミング言語が開発されました:
-
1955年-ジョン・バッカスによって開発されたFORTRAN。
-
1958年:ジョン・マッカーシーによって開発されたLISP。
-
1959年:COBOL、短距離委員会によって開発され、彼女の影響力はグレースホッパーでした。
もう50つの重要な瞬間は、XNUMX年代の終わりに、アメリカとヨーロッパのコンピューティング専門家委員会(Algol)が更新された「LanguageforAlgorithms」について発表したときでした。 このレポートは、その日の多くのアイデアと観察結果をまとめ、XNUMXつの関連するイノベーションを提供しました。 プログラミング言語の歴史:
-
ネストされたブロック構造:コードシーケンスと関連するステートメントは、個々のプロセスに明示的にする必要なしに、ブロックにクラスター化されます。
-
字句スコープ:ブロックには独自の変数、プロセス、および関数があり、これらはこのブロックの外部のコードには表示されません。たとえば、データや情報を非表示にします。
この情報に関連するもうXNUMXつの革新は、次のとおりです。
-
言語の構成を説明するために、正確な数学的記号、バッカス-ナウア記法またはBNFとしてよく知られているものが使用されました。 以下のプログラミング言語はすべて、BNFのバリエーションを使用して、構造の文脈自由部分を記述しています。
このアメリカとヨーロッパの委員会は、特にその後の言語の開発に影響を与えました。 バロースの大規模システムは、アルゴルとして知られるようになったそのような委員会の拡張されたセットにプログラムされるように開発されました。
Algolの主なアイデアが広まり、1968年までにAlgol68が実現しました。
-
構造とセマンティクスは、未知のルーチン、高階関数を備えたタイピングシステムを使用して、より直交するようになりました。
-
文脈の自由な部分が正式に定義されただけでなく、この目的のために作成された、VanWijngaardenの文法に関する構成とセマンティクスもありました。
y Algol 68の広範囲であるが未使用の機能と、自動ショートカットと制限の複雑なシステムは、不人気と困難な適用につながりました。
そこで、ニクラウスヴィルトは委員会から脱退し、「パスカル」と呼ばれる簡単な言語を開発しました。 これらは、その時点で開発された言語の一部です:
-
1951年:地域のアセンブリ言語。
-
1952年:オートコーダー。
-
1954年:IPL。
-
1955年:フローマティック。
-
1957年:FORTRAN。
-
1958年:LISP。
-
1959年:FACT、COBOL、およびRPG。
-
1962年:APL、Simula、SNOBOL。
-
1963年:CPL。
-
1964年:BASICおよびPL / I。
-
1967年:BCPL。
70年代:基本的なモデルが確立された
1960年代から1970年代にかけて、 プログラミング言語の歴史。 現在使用されている最も関連性の高いプログラミング言語モデルのほとんどは、この時点で作成されました。
-
SIMULAは、1960年にダールとニゴールによってAlgol 60スーパーセットとして作成されました。これは、 プログラミング言語の歴史、オブジェクトに対して作成されたプログラミングを強化するために開発されました。
-
Cプログラミング言語は当初システムプログラミング言語として作成されました。開発者は168年と1972年のケントンプソンとデニスリッチーでした。
-
70年代に作成されたSmalltalkは、オブジェクトに言語の幅広いデザインを提供しました。
-
1972年にRoussel、Colmerauer、Kowalskiによって作成されたPrologは、最初の論理プログラミング言語と見なされていました。
-
MLは、静的型関数型プログラミング言語の先駆者と見なされているLispの先端に、1973年にRobinMilnerによって作成されたポリモーフィック型システムを構築しました。
説明されているプログラミング言語は、 プログラミング言語の歴史、現在のすべての言語のレジストリには、これらのうち少なくともXNUMXつがあります。
この頃、基本的にGOTOを使わないプログラミングを象徴する構造化プログラミングのメリットについても幅広い議論がありました。 一部の言語はGOTOを考慮していなかったため、このアイデアの急流は言語の設計に関連していたため、プログラマーは構造化プログラミングを作成することを余儀なくされました
この間に作成されたプログラミング言語のいくつかは次のとおりです:
-
1968年:ロゴ。
-
1969年:B、Cの前身。
-
1970年:パスカルとフォース。
-
1972年:C、PrologおよびSmalltalk。
-
1973年:ML。
-
1975年:スキーム。
-
1978年:SQL。当初はクエリ用の言語でしたが、後にプログラミングの構築にまで拡張されました。 Modula-2も今年開発されました。
80年代:強化、モジュール、パフォーマンス
1980年代は プログラミング言語の歴史、命令型言語で強化する時として。 過去XNUMX年間にすでに作成された言語の作業が続けられました。
C ++は、オブジェクトに対するプログラミングとシステムプログラミングを組み合わせるようになりました。 米国政府は、戦争および防衛企業が使用するシステムプログラミング言語であるADAの標準化を達成しました。
一方、日本では、国家予算の大部分が論理プログラミングの構築を含む「第XNUMX世代プログラミング言語」の研究に投資されていました。 関数型言語学会は、MLとLispの標準化を実施しました。
非常にゆっくりと進んでいたミランダと呼ばれる関数型言語の調査の進歩は、この時期に追いつき始めました。
言語設計の分野における傾向は、モジュール、コードユニットの大規模な編成の使用を通じて、より大規模なプログラミングシステムへのより良いアプローチでした。
Modula、Ada、Mlなどの言語は、80年代に優れたモジュールシステムを作成し、それらはジェネリックプログラミングの構築に関連していました。これは、すでに事前に定義されたパラメーターを持つモジュールです。
プログラミング言語について新しいアイデアは開発されていませんが、ほとんどの 専門家は以前の言語の基礎を拡大し、新しい現実への適応を達成しました。 この例は、分散システムのオブジェクトへのプログラミングの適応を行ったエメラルドシステムとアーガスシステムの言語です。
80年代には、プログラミング言語の実装が進歩しました。 コンピュータアーキテクチャに取り組んでいるRISCグループは、ハードウェアはプログラマではなくコンパイラ用に作成する必要があると指摘しました。
そのため、プロセッサ速度の向上と、より効果的な収集方法により、RISCグループは高級言語収集技術に関心を集めました。
プログラミング言語の技術は、90年代の初めにこの作業に取り組み続けました。
このXNUMX年間に作成された最も著名な言語の中で、私たちは言及することができます:
-
1980年:C ++。これはCのバージョンですが、クラスがあります。
-
1983年:エイダ。
-
1984年:MATLABとCommonLisp。
-
1985年:エッフェル。
-
1986年:アーランとObjective-C。
-
1987年:Perl。
-
1988年:MathematicaとTcl。
-
1989年:FL。
90年代:インターネット時間
9年間のインターネットの急速な進化は、 歴史 プログラミング言語の。 コンピューティングシステムのための完全に革新的なプラットフォームの作成と開発により、インターネットは新しい言語を採用する機会をもたらしました。
特に、Netscape Navigatorブラウザとの高速結合で急速に有名になったJavaScriptプログラミング言語や、Webサーバー用の特定のアプリケーションの作成での使用を拡大することに成功した他の言語について言及する必要があります。
について知りたい場合は、ぜひお読みください。 ワイヤレステクノロジー:定義と機能。
90年代は、関数型言語が普及し始めたことに加えて、前駆体言語の新しい組み合わせと進歩の時代でした。 オブジェクト指向の迅速な開発またはRADアプリケーション言語が生成されました。その中には、Visual Basic、Java、ObjectPascalなどがあります。
スクリプト言語として知られる革新的で急進的な言語も開発されました。 それらはRADよりも生産性の高い言語ですが、その生産性は多くの場合、単純で小さなプログラムよりも長いプログラムの作成と保存が複雑であるという事実によるものです。
ただし、スクリプトプログラムはWeb接続で最も目立つようになりました。
このXNUMX年間に作成された最も関連性の高い言語の中には、次のものがあります。
-
1990年:Haskell。
-
1991年:HTML、Visual Basic、Python。
-
1993年:LuaとRuby。
-
1994年:CLOS。
-
1995年:JavaScript、PHP、Delphi、Java。
-
1996年:WebDNA。
-
1997年:Rebol。
-
1999年:D
2000年:現在
以内 歴史 プログラミング言語の、その自然な進化は、研究および産業レベルで継続的です。 現在の作業分野には次のものがあります。
-
プログラミング言語での関数型プログラミングのサポートが強化されました。
-
分散プログラミングと並行プログラミングをサポートするための言語の設計と構築。
-
言語に追加する方法、信頼性とセキュリティの観点からのレビューと検証のプロセス:スレッドセキュリティ、情報移行制御、拡張構文レビュー。
-
代替のモジュール方式。
-
コンポーネントに焦点を合わせたソフトウェアの作成と開発。
-
メタプログラミングと抽象構文木へのアクセス。
-
流通とモビリティに焦点を当てます。
-
データベースとの統合。
-
ソースコードでのUnicodeのサポート。
-
グラフィカルインターフェイス用のXML。
-
プログラミング言語開発のためのオープンソース。
このXNUMX年間に作成された最も関連性の高い言語の中には、次のものがあります。
-
2000年:ActionScript。
-
2001年:Visual Basic.NETおよびC#。
-
2002年:F#。
-
2003年:Factor、Scala、Groovy。
-
2005年:スクラッチ。
-
2007年:Clojure。
-
2009年:行きます。
-
2011年:ダート。
-
2014年:スイフト。
この情報が気に入った場合は、次のその他の関心のあるリンクを確認することをお勧めします。
Nubehíbrida:定義、機能、利点など。