如果您从未听说过艾伦·凯,您至少听说过他的名言。 例如,1971 年的这句话:
预测未来的最好方法是发明它。
预测未来的最好方法就是创造未来。
艾伦在计算机科学领域的职业生涯非常丰富多彩。 他收到了
在我们的
关于软件开发
艾伦·凯认为计算机革命尚未到来(
问题在于薄弱、可扩展性差的想法和工具、懒惰、缺乏知识等。
很好地描述了这种情况
安迪给予的,比尔拿走的
安迪给予,比尔索取
英特尔首席执行官安迪·格罗夫和微软时任首席执行官比尔·盖茨。
改善当前的发展状况是该研究项目的目标
在他令人大开眼界的报告中
Alan 考虑了互联网、TCP/IP 协议、LISP 解释器、
他称互联网(TCP/IP)是为数不多的正确设计的大型软件项目之一,其复杂程度与复杂程度保持平衡(复杂性与复杂性)。 该项目代码不到 20 行,是一个活跃的动态系统,能够支持数十亿个节点,并且自 1969 年 XNUMX 月首次启动以来从未离线过。 我们只是不再将互联网视为人们创建的普通软件项目:
互联网如此发达,以至于许多人将其视为一种自然资源,就像太平洋一样,而不是人类劳动的产物。 我们最后一次看到如此稳定、清晰、无错误的技术是什么时候? 相比之下,网络就是无稽之谈。 网络是由业余爱好者创建的。
关于面向对象编程
首先让我感兴趣的是他
我认为物体就像生物细胞和/或网络上的单个计算机,只能通过消息进行通信。
和数学经验:
我的数学经验使我意识到每个对象可以有多个代数,它们可以组合成族,这非常有用。
LISPa 后期绑定和强大元功能的想法:
第二阶段是理解 LISPa 并利用这种理解来创建更简单、更小、更强大的结构以及随后的绑定。
很快艾伦开始支持动态语言的观点
后期绑定允许将开发过程中后期出现的想法以更少的努力合并到项目中(与早期绑定系统(如 C、C++、Java 等相比))
以及动态更改和更快迭代的潜力:
关键想法之一是系统应该在测试期间继续运行,尤其是在进行更改时。 即使是重大的改变也应该是渐进的,并且不要超过一瞬间。
这是缺少的
如果您像大多数人一样使用早期绑定语言,那么您就会将自己锁定在已经编写的内容中。 将不再可能轻易地重新制定它。
令人惊讶的是,他对 OOP 的想法仅限于此:
对我来说,OOP 是消息、本地保留和保护、状态隐藏以及所有内容的后期绑定。 这可以在 Smalltalk 和 LISP 中完成。
也没有任何关于继承的事情。 这不是面向对象编程
我希望我很久以前就在这个主题中使用了“对象”这个术语,因为它导致许多人关注较小的想法。
现代静态类型 OO 语言所缺乏的大思想:
最重要的想法是“消息”
他相信应该关注消息、松散耦合和模块交互,而不是对象的内部:
创建良好的可扩展系统的关键是确定模块之间的通信机制,而不是确定其内部属性和行为。
静态类型语言对他来说似乎
我并不反对类型,但我不知道有哪个类型系统不会引起痛苦。 所以我还是喜欢动态打字。
如今一些流行的语言使用了 Smalltalk 的消息传递思想、后期绑定和
摧毁一切并创造更好的东西
艾伦对计算机科学的发展有一个有趣的理论:
在我看来,计算机科学只有一种类型,而科学就像建造桥梁。 有人搭建桥梁,有人摧毁桥梁并创造新的理论。 我们需要继续搭建桥梁。
关于 LISP
艾伦·凯相信 Lisp
有史以来最好的编程语言
每个计算机科学专业的毕业生都应该学习它:
大多数攻读计算机科学学位的人并不了解 Lisp 的重要性。 Lisp 是计算机科学中最重要的思想。
关于正确的氛围和背景
他常常回忆起那里独特的氛围。
观点值 80 IQ 分。
艾伦·凯 说:
ARPA/PARC 的故事展示了愿景、适度的资金、正确的环境和流程的结合如何神奇地催生新技术,这些技术不仅影响文明,而且为社会创造巨大价值。
这是事实。
- 激光打印机
- 面向对象编程/Smalltalk
- 个人电脑
- 以太网/分布式计算
- GUI / 电脑鼠标 / 所见即所得
PS
来源: habr.com