嘿哈布尔!
我提请您注意这篇文章的翻译“
我把时间花在玩一款 1969 年的老游戏《Lunar Lander》上。 它是由高中生吉姆·斯托勒(Jim Storer)写的。 他在 FOCAL 的 PDP-8 上写下了它。 该程序如下所示:
这是 FOCAL 的源代码:
吉姆·斯托勒是一位相当有才华的高中生。 看看这段代码。 他有一些非常有趣的泰勒表达式。
基本上,我会进行二分搜索来确定 K 的值,如果一致使用该值,将使船完美着陆。 所以我修改了程序,使其只接受一个值,然后多次应用它,直到船着陆或坠毁。 当我写这篇文章时,我知道答案位于 76.40625 和 76.4453125 之间,我将尝试 76.4257813。 我开始觉得在找到答案之前我已经没有时间了。
与此同时,我突然想到我在模拟器上运行了这个程序
那么,好吧,让我们考虑一下这个问题。
- 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
- 基本
- PL/1
- 爪哇脚本
- GO
- DART
- 序言
- 向前
- SWIFT的
- ML
- 奥卡姆
- 奥卡莱
- ADA
- 二郎
- ELIXIR
- 焦点
当然你还可以想到我没有提到的其他的。 问题是,为什么会有这么多人? 这个问题实际上只能有一个答案。 计算机语言之所以有这么多的原因:
我们不喜欢他们。
好吧,也许这个说法太强烈了。 也许我应该说:
我们在好莱坞。
我们在雷德伍德。
我们漂洋过海寻找黄金密码。
我们疯了
这是一条非常细的线。
这促使我们寻找黄金密码。我们正在变老。
好吧,也许我应该为自己说话……难道你不想对尼尔·杨大喊大叫,让他停止抱怨,找个漂亮的女孩和她住在一起吗? 你难道不想告诉他,寻找一颗金子般的心是徒劳的吗? 告诉我,如果他找到了,他会怎么处理?
如果我们找到了一种理想的语言,我们会用它做什么?
我们创建了 PDP-8 和 FOCAL 模拟器来玩“Lunar Lander”,这是一位高中生在 1969 年写的!
那就是我所想的。
处理它。 停止搜索。 没有完美的语言。 我们到处寻找。 我们从上面和下面看。 我们进进出出。
我们从双方的角度研究了语言。
内外
无论如何,现在仍然如此。
让我们记住,这些都是语言错觉。我们真的不懂语言……
……根本没有。
是的,今天是不寻常的一天。
但无论如何,重点是:
我们不需要另一种语言。
我们不需要知道回家的路。
我们想要的只是超越生活。
SQL
是的,奇怪的一天。
所以这是一个想法。 也许我们需要停止创造新的语言,冷静下来,选择一两种真正好的语言。 这会让生活变得更加轻松,不是吗?
而且,如果您想知道的话,76.43844461 可以让您以 2.23 英里每小时的速度着陆。
来源: habr.com