おい、ハブル!

記事の翻訳を紹介します。言語層» ロバート C. マーティン (ボブおじさん) 著。

言語層
私は 1969 年に発売された Lunar Lander という古いゲームをプレイして時間を過ごしています。これは高校生のジム・ストアラーによって書かれました。彼はそれを FOCAL の PDP-8 で書きました。プログラムは次のようになります。

言語層

FOCAL のソースコードは次のとおりです。

言語層

ジム・ストアラーはかなり才能のある高校生でした。このコードを見てください。彼にはとても興味深いテイラーの表現があります。

基本的に、私は二分探索を行って、一貫して使用すると船を完全に着陸させる K の値を決定します。そこでプログラムを変更して、76.40625 つの値のみを受け入れ、船が着陸するか墜落するまでその値を複数回適用するようにしました。これを書いているとき、答えが 76.4453125 と 76.4257813 の間にあることがわかったので、XNUMX を試してみます。答えを見つける前に時間がなくなってしまうのではないかと思い始めています。

その間、このプログラムをエミュレータで実行していることに気づきました PDP-8、iPad 用の Lua で書いた人です。

それで、わかりました、これについて考えてみましょう。

  • iPadにはチップが搭載されている A8X、3つのコアがギガヘルツ程度で動作します。
  • Lua は C で書かれており、A8X にコンパイルされます。
  • 私の PDP8 エミュレータは、パッケージを使用して Lua で書かれています コデア 「Two Lives Left」セクションから。
  • FOCAL は 1960 年代後半に PDP8 で作成されました。
  • 『Lunar Lander』はFOCALで書かれました。

つまり、A8X、C、Lua、PDP8、FOCAL です。これらは XNUMX つの異なる言語です。マシンに何をすべきかを指示する XNUMX つの異なるメカニズム。それらはすべて互いに積み重ねられています。

それは何ですか?なぜこれほど多くの言語があるのでしょうか?実際、iPad、PDP-8、C、Lua、その他すべてのことは忘れてください。なぜこれほど多くの言語があるのでしょうか?

##なぜこれほど多くの言語があるのでしょうか?

考えてみてください!あなたはプログラミング言語をいくつ挙げることができますか?ここで、ちょっとしたリストをご紹介します。

  • FORTRAN
  • アルゴール
  • COBOL
  • スノーボル
  • LISP
  • BCPL
  • B
  • C
  • シミュラ
  • 雑談
  • エッフェル
  • C + +
  • JAVA
  • C#
  • パイソン
  • ルビー
  • LOGO
  • LUA
  • BASIC
  • PL / 1
  • ジャバスクリプト
  • GO
  • DART
  • プロローグ
  • 前方へ
  • SWIFT
  • ML
  • オッカム
  • OCAML
  • ADA
  • アーラン
  • エリクサー
  • 焦点

もちろん、私が言及していない他のものについても考えることができます。問題は、なぜこれほど多くのものが存在するのかということです。この質問に対する答えは実際には 1 つしかありません。コンピューター言語が非常に多く存在する理由:

私たちは彼らが好きではありません。

まあ、それは強すぎる表現かもしれません。おそらく次のように言うべきでしょう。

私たちはハリウッドにいました。
私たちはレッドウッドにいました。
私たちは黄金の暗号を求めて海を渡りました。
私たちは正気を失っていた
それはとても紙一重だ。
これにより、ゴールデンコードを探すことになります。

そして私たちは年をとっていきます。

分かった、私は自分自身のことを話したほうがいいかもしれない... ニール・ヤングに文句を言うのをやめて、素敵な女の子を見つけて一緒に暮らすように叫びたいだけではないですか?黄金の心を探すのは無駄だと彼に言いたかったのではありませんか?教えてください、もし彼がそれを見つけたらどうするでしょうか?

そして、理想的な言語を見つけたらどうするでしょうか?

8 年に高校生が書いた「Lunar Lander」をプレイするために、PDP-1969 と FOCAL エミュレータを作成しました。

それが私の考えです。

それに対処してください。探すのはやめてください。完璧な言語はありません。私たちはあらゆる場所を探しました。上と下から見てみました。私たちは中を覗いたり外を覗いたりしました。

私たちは言語を両面から見ていきました。
内外
そして今でも何らかの形でそうしています。
これらは言語上の幻想であることを思い出しましょう。

私たちは言語について本当に何も理解していません...
…まったく。

はい、今日は珍しい日です。

しかし、それにもかかわらず、ポイントは次のとおりです。

他の言語は必要ありません。
私たちは帰り道を知る必要はありません。
私たちが望んでいるのは、人生を超えていくことだけです。
SQL

そう、奇妙な日だ。

そこで、一つ考えてみましょう。新しい言語を作成するのをやめて、落ち着いて本当に優れた言語を 1 つか 2 つ選ぶ必要があるかもしれません。これで生活がかなり楽になりますね。

そして、不思議に思われた方のために付け加えておきますが、76.43844461 を指定すると、時速 2.23 マイルでかなり良い着陸が可能になります。

出所: habr.com

コメントを追加します