語言層

嘿哈布爾!

我提請您注意這篇文章的翻譯“語言層» 羅伯特·C·馬丁(羅伯特·C·馬丁)(鮑伯叔叔)。

語言層
我把時間花在玩一款 1969 年的老遊戲《Lunar Lander》上。 它是由高中生吉姆·斯托勒(Jim Storer)寫的。 他在 FOCAL 的 PDP-8 上寫下了它。 程式如下所示:

語言層

這是 FOCAL 的源碼:

語言層

吉姆·斯托勒是一位相當有才華的高中生。 看看這段程式碼。 他有一些非常有趣的泰勒表達式。

基本上,我會進行二分搜尋來確定 K 的值,如果一致使用該值,將使船完美著陸。 所以我修改了程序,使其只接受一個值,然後多次應用它,直到船著陸或墜毀。 當我寫這篇文章時,我知道答案位於 76.40625 和 76.4453125 之間,我將嘗試 76.4257813。 我開始覺得在找到答案之前我已經沒有時間了。

同時,我突然想到我在模擬器上運行了這個程序 等離子8,他用 Lua 為 iPad 編寫了程式碼。

那麼,好吧,讓我們考慮一下這個問題。

  • iPad有晶片 A8X,三個核心運行在千兆赫左右。
  • Lua 用 C 寫成並編譯成 A8X。
  • 我的 PDP8 模擬器是使用 Lua 套件編寫的 科迪亞 來自《還剩兩條命》部分。
  • FOCAL 是在 1960 世紀 8 年代末在 PDPXNUMX 上編寫的。
  • Lunar Lander 是用 FOCAL 寫的。

這些是 A8X、C、Lua、PDP8 和 FOCAL。 這是五種不同的語言。 五種不同的機制告訴機器要做什麼; 它們都堆疊在一起!

這是什麼? 為什麼有這麼多語言? 事實上,忘記 iPad、PDP-8、C、Lua 和其他一切。 為什麼有這麼多語言?

##為什麼有這麼多語言?

想一想吧! 你能說出多少種程式語言? 在這裡,讓我為你列一個小清單:

  • 語言
  • 阿爾戈
  • COBOL
  • 斯諾博爾
  • LISP
  • BCPL
  • B
  • C
  • 模擬
  • 短暫聊天
  • 埃菲爾
  • C + +中
  • JAVA
  • C#
  • 蟒蛇
  • 紅寶石
  • 的LOGO
  • LUA
  • BASIC
  • PL/1
  • 爪哇腳本
  • GO
  • DART
  • 序言
  • 向前
  • SWIFT
  • ML
  • 奧卡姆
  • 奧卡萊
  • ADA
  • 二郎
  • 靈丹妙藥
  • 焦點

當然你還可以想到我沒有提到的其他的。 問題是,為什麼會有這麼多人? 這個問題其實只能有一個答案。 計算機語言之所以有這麼多的原因:

我們不喜歡他們。

好吧,也許這個說法太強烈了。 也許我應該說:

我們在好萊塢。
我們在雷德伍德。
我們漂洋過海尋找黃金密碼。
我們瘋了
這是一條非常細的線。
這促使我們尋找黃金密碼。

我們正在變老。

好吧,也許我應該為自己說話……難道你不想對尼爾楊大喊大叫,讓他停止抱怨,找個漂亮的女孩和她住在一起嗎? 你不想告訴他,尋找一顆金子般的心是徒勞無功的嗎? 告訴我,如果他找到了,他會怎麼處理?

如果我們找到了一種理想的語言,我們會用它做什麼?

我們創建了 PDP-8 和 FOCAL 模擬器來玩“Lunar Lander”,這是一位高中生在 1969 年寫的!

那就是我所想的。

處理它。 停止搜尋。 沒有完美的語言。 我們到處尋找。 我們從上面和下面看。 我們進進出出。

我們從雙方的角度研究了語言。
內外
無論如何,現在仍然如此。
讓我們記住,這些都是語言錯覺。

我們真的不懂語言…
……根本沒有。

是的,今天是不尋常的一天。

但無論如何,重點是:

我們不需要另一種語言。
我們不需要知道回家的路。
我們想要的只是超越生活。
SQL

是的,奇怪的一天。

所以這是一個想法。 也許我們需要停止創造新的語言,冷靜下來,選擇一兩種真正好的語言。 這會讓生活變得更輕鬆,不是嗎?

而且,如果您想知道的話,76.43844461 可以讓您以每小時 2.23 英里的速度著陸。

來源: www.habr.com

添加評論