プログラミング言語の進化

金曜日はリラックスして、それがどのように始まったかを思い出す時間です。 GeekBrainsの開発の歴史について簡単に説明します。







先史時代



プログラミング言語の生年月日を決定するという観点からは、いくつかの二重性があります。



一方では、19世紀の前半に、Ada Lovelaceはコンピューターについて説明し、サイクルとワーキングセルの基本概念を紹介し、最初の女性プログラマーの誇りある称号を受け取りました。



一方、近代的な形の最初のプログラミング言語は、ドイツの発明家コンラッドズーゼのZ4リレーマシンで第二次世界大戦中にのみ生まれました。 その名前はPlankalkül(ドイツ語:Plankalkül-計画の計算)であり、条件演算子、算術演算、配列、ループ、例外、およびステートメントをサポートする本格的な高レベル言語でした。 40年代の終わりには、Plankalkülによってコンピューターがチェスの問題を解決できるようになったことは確かです。

Zuseの発明は歴史の流れを変える可能性がありますが、戦争の結果とアメリカ人が自分の機械語を普及させる努力により、プランクアルキルの世界の本格的な出現は1972年まで遅れました。





ミュンヘンのドイツ博物館のZ4



コンピューターの言語





代わりに、 進化は機械語の道を進んでいます 。 コンピューターにとっては便利でしたが、プログラマにとってはあまり便利ではありませんでした。 文字通りアイロンを手動で操作していました。プロセッサに縫い付けられたコマンドのみがあり、他のすべての操作は手動で実装する必要がありました。



機械言語の直接開発はアセンブリ言語でした。 これは、利便性のための最初の速度の交換でした。アセンブラーは少しネイティブではありませんでしたが、プログラマーにとってはずっと使いやすいものでした。 プログラマーにとって快適な高水準言語はまだ遠い。



トランジスタと最初の利用可能なコンピューターが発明された後、定性的な飛躍が起こりました。 1954-1957年の期間、これによりIBMは人気のある商用言語Fortranの開発に積極的に取り組みました(英語の数式と翻訳から)。



Fortranは、科学および工学計算用の言語です。 最初に実現された高レベル言語になったのは彼だと考えられています。 多数の数学的ライブラリがあるため、Fortranはあらゆる種類の科学研究にとって重要な言語であり、今でも重要です。



その後、プログラミングの急速な開発が始まりました。ほぼ同時に、ソ連およびヨーロッパで積極的に使用されているアルゴリズムの高レベル言語であるアルゴル、LISPおよびCOBOLが登場しました。



人々のための言語



しかし、1964年にBASIC言語出現したことで、プログラミングは本当に普及しました。 ダートマスカレッジのジョンケメニーとトーマスクルツの教師は、コンピュータープログラミングの基礎を生徒に教えるために設計しました。



BASICはアルゴリズム言語であり、その作成者にとっては、速度と効率ではなく、理解しやすいことが重要でした。 それにもかかわらず、BASICはMicrosoftとAppleの実装ですぐに人気を博しました。 しかし、誰もが彼に満足しているわけではありません。 この言語の反対者によると、BASICの以前のバージョンの単純さと構造のなさは、悪質で危険な開発手法の使用を促進しました。





「以前にBasicを学んだ学生は、優れたプログラミングを教えることはほとんど不可能です。 潜在的なプログラマーとして、彼らは回復の希望なしに精神的に切断されています。」

エドガー・ダイクストラ。



新生代



1960年代に、ベルラボはミニコンピューター用のUnixオペレーティングシステムを真剣に開発し始めました。 最初のOSはアセンブラーで作成されましたが、実験は失敗しました。

次に、アルファベット順で、ケントンプソンとデニスリッチーはインタープリター言語B(Bi)を具体的に開発しましたが、今回は結果が望まれていませんでした。



1972年の3回目の試みとC言語ですべてが変わりました。C言語は 、40年後にソフトウェア開発で重要な位置を占めるほど成功したことが判明しました。 たとえば、IEEE Spectrum Cによると、2015年には2位でした。「 2015年のトップ10プログラミング言語 」。



別の半球では、Algol-68言語の遺跡で、Nicklaus WirthがPascalを設計しました。 彼はBASICと同じ目標-トレーニングのシンプルさと実行された操作の可視性を追求しました。



シンプルな外観にもかかわらず、パスカルはトレーニングの分野だけでなく、深刻な開発においても非常に効果的な言語であることが判明しました。 学校でも大規模アプリケーションの世界でも高い需要があります。TotalCommander、WinRAR、Skypeの初期バージョン、Nero Burning ROMはPascalで作成されました。



1970年代後半に、OOP原則が形成され、それに基づいてC言語が改良され、最初に「C with classes」という名前が付けられ、次にC ++の見慣れた外観になりました。 部分的には創造の完璧さのために、部分的には先駆者の名声のために、C ++は長い間最も人気のある言語のままでした。 Symbian、WindowsおよびOS Xオペレーティングシステム、Google ChromeおよびMozillaブラウザ、さらに数千の人気のあるアプリケーションが書かれています。



C ++の最初のバージョンの4年後、Larry Wallは「実用的な抽出とレポート言語」であるPerlを開発しました。 当初、この言語は、名前に固有の機能のおかげで人気を博しましたが、後にその機能と対象読者を拡大しました。



今日でも、Perlはコマンドラインでテキストを処理する便利な手段として依然として積極的に使用されていますが、システム管理、Web開発、さらにはゲームでも需要が高まっています。



モダニティ



言語の進化の歴史についての記事では、 Pythonは GeekBrainsの教師だけでなく、多くの外国の大学や大規模な外国企業によって使用の幅から判断して、 愛されるだけで言及されることが義務付けられています。 その構造と哲学は、プログラマーによる完成品の開発を加速することを目的としています。 開発の観点から見ると、これは1991年以前に存在していたすべての言語よりもはるかに完璧な言語です。 最小限ですが、より読みやすく、かなり頻繁に更新され、「速度-開発品質」の点で優れています。



しかし、1995年に光を見たRubyは同じ特性で説明することができ、松本幸宏が彼の言語が同時代人よりも良くなる方法を考えるために2年間持っていたという事実に調整されています。



20世紀末のインターネットの発展には、テキストとデータを処理するためのより良い言語が必要でした。 そのため、 HTML、PHP、CSS、およびJavaScriptが生まれました。それなしでは、今日のWeb開発を想像することは非常に困難です。



これに加えて、JVM仮想マシンを使用するオブジェクト指向言語であるJavaも登場しました。 これにより、言語は起動されるマシンからほぼ完全に独立します。 これらの要因とAndroid OSを搭載したスマートフォンの人気の組み合わせにより、JavaはTiobeによると最も人気のある言語のリストのトップになり、開発者を最初またはメインの言語として開発者に勧めることができます。



同じ評価を見ると、2番目の10の終わりに最新のプログラミング言語が見つかります。 たとえば、 SwiftはApple製品であり、その品質だけでなく、製造業者の大名によっても人気があります。



未来



現在、超高水準言語と呼ばれるプログラミング言語がすでにあります。 それらはアプリケーションプログラムを書くためではなく、大量のデータと統計を処理するためのものです。 それらの中には、 R、MATLAB、およびJuliaがあります。

将来的には、プログラムの作成がLiveJournalでの投稿ほど難しくない人間指向の言語が登場すると思われます。 一方、量子コンピューターには、独自の特別な量子アセンブラーが必要です。



次に何が起こると思いますか?また、既存の言語のどれに入れますか?



記事の著者:イリヤ・ブブノフ



All Articles