Alan Kay 和 Marvin Minsky:计算机科学已经有了“语法”。 需要“文学”

Alan Kay 和 Marvin Minsky:计算机科学已经有了“语法”。 需要“文学”

左一是马文·明斯基,左二是艾伦·凯,然后是约翰·佩里·巴洛和格洛丽亚·明斯基。

问题: 您如何解释马文·明斯基的“计算机科学已经有了语法”的想法。 她需要的是文学。”?

艾伦·凯: 录音中最有趣的一点 肯的​​博客 (包括评论)的一个问题是,在任何地方都找不到对这个想法的历史参考。 事实上,50 多年前的 60 年代,对此有很多讨论,据我记得,有几篇文章。

我第一次从鲍勃·巴顿 (Bob Barton) 那里听说这个想法是在 1967 年,当时他还在读研究生,当时他告诉我,这个想法是唐纳德·高德纳 (Donald Knuth) 撰写《编程的艺术》时的动机的一部分,该书的章节已经广为流传。 鲍勃当时的主要问题之一是关于“设计用于人类和机器阅读的编程语言”。 这是 60 年代初期部分 COBOL 设计的主要动机。 而且,也许更重要的是,在我们主题的背景下,这个想法可以在非常早期且设计相当精美的交互式语言 JOSS(主要是 Cliff Shaw)中看到。

正如弗兰克·史密斯(Frank Smith)所观察到的,文学始于值得讨论和写下的想法; 它经常部分地生成表示并扩展现有的语言和形式; 它带来了关于阅读和写作的新想法; 最后产生不属于最初动机的新想法。

“文学化”的一部分想法是阅读、写作和参考其他可能感兴趣的文章。 例如,马文·明斯基的图灵奖演讲是这样开头的: “当今计算机科学的问题在于过分关注形式而不是内容。”.

他的意思是,计算中最重要的是意义以及如何查看和表示它,而不是 60 年代关于如何分析编程和自然语言的大主题之一。 对他来说,硕士生 Terry Winograd 的论文最有趣的地方可能在于,虽然它在英语语法方面不是很正确(但非常好),但它能够理解所讲的内容,并能证明所讲内容的合理性。说使用这个值。 (这是对 Ken 在 Marvin 博客上的报道的回顾)。

以一种平行的方式看待“无处不在的语言学习”。 无需更改语言甚至添加字典即可完成很多工作。 这类似于使用数学符号和语法很容易编写公式。 这部分就是马文的意思。 有趣的是,马文的书《计算:有限和无限机器》(我最喜欢的书之一)中的图灵机是一台相当典型的计算机,有两条指令(寄存器加 1,寄存器减 1,如果寄存器小于,则分支到新指令) 0 - 有很多选项。)

它是一种常见的编程语言,但要注意其中的陷阱。 “普遍学习”的合理解决方案还必须具有某些可能需要更多时间来学习的表达能力。

Don 对所谓的“文学编程”的兴趣导致了一个创作系统(历史上称为 WEB)的创建,该系统允许 Don 解释正在编写的程序,其中包括许多允许程序的某些部分被编写的功能。提取用于人类研究。 这个想法是,WEB 文档是一个程序,编译器可以从中提取已编译和可执行的部分。

另一项早期创新是动态媒体的想法,这是 60 年代末的一个流行想法,对于我们许多人来说是交互式 PC 计算的重要组成部分。 这个想法的几个动机之一是拥有类似“牛顿原理”的东西,其中“数学”是动态的,可以运行并与图形等相关联。这是 1968 年推广 Dynabook 想法的动机的一部分。 当时开始使用的术语之一是“活跃论文”,人们在论文中期望的写作和论证类型通过交互式程序得到增强,交互式程序是一种新型文档的多种媒体类型之一。

Ted Cuyler 本人在 80 年代末和 90 年代初在 Hypercard 中制作了一些非常好的例子。 Hypercard 并未直接为此进行配置 - 脚本不是卡片的媒体对象,但您可以做一些工作并让脚本显示在卡片上并使它们具有交互性。 一个特别具有挑衅性的例子是《黄鼠狼》,这是一篇积极的文章,解释了理查德·道金斯的《盲人钟表匠》一书的一部分,允许读者尝试一个使用一种培育过程来寻找目标句子的框架。

值得考虑的是,虽然 Hypercard 几乎完美地适合新兴的互联网及其在 90 年代初的广泛采用,但创造互联网的人们却选择不接受它或恩格尔巴特早期的更大想法。 苹果公司的研究部门有很多 ARPA/Parc 人员,但拒绝听取他们关于互联网重要性以及 Hypercard 如何擅长启动对称读写系统的意见。 苹果公司拒绝生产浏览器,而此时一款真正优秀的浏览器将是一项重大发展,并且可能在互联网“公众形象”的形成过程中发挥巨大作用。

如果我们再往前几年,我们会发现没有真正的开发系统的网络浏览器是绝对荒谬的——甚至近乎淫秽(想想维基开发应该是多么愚蠢的工作),作为许多简单的例子之一,维基百科文章像 LOGO 一样,它可以在计算机上运行,​​但不允许文章的读者尝试从文章中编程 LOGO。 这意味着对计算机重要的内容对用户来说是被屏蔽的,以保护旧媒体的不同实现。

值得考虑的是,维基百科一直是思考、发明、实施和编写所需的“计算文学”的主要类型(这当然涉及多种形式的多媒体形式的阅读和写作,包括编程)。

更值得思考的是,在2017年的这个Quora答案中,我无法在这里编写程序! - 这将有助于展示我到底想解释什么,尽管交互式媒体这个薄弱的想法背后有巨大的计算机能力。 重要的问题是“发生了什么?” 这里完全被忽略了。

为了了解这个问题,这里有一个 1978 年的系统,几年前我们复活了它,部分是为了向 Ted Nelson 致敬,部分是为了好玩。

(请观看2点15分)


整个系统是我现在所说的40多年前的早期尝试。

一个典型的例子可以在 9:06 看到。


除了“动态对象”之外,这里的关键考虑因素之一是“视图”(页面上可见的媒体)可以独立于其内容进行统一处理(我们称之为“模型”)。 一切都是一个“窗口”(有些有明确的边界,有些不显示边界)。 所有这些都在项目页面上编译。 另一个见解是,由于您必须组合和组合某些内容,因此请确保所有内容都是可组合的和可组合的。

我认为不成熟的用户无法批评糟糕的设计是可以原谅的。 但是,那些为用户制作交互式媒体的程序员,以及那些不关心了解媒体和设计,尤其是他们自己领域的历史的程序员,不应该如此轻易地逃脱惩罚,也不应该因此而获得奖励。他们是“弱者”。

最后,一个没有真正文学的领域几乎就等于这个领域不是一个领域。 文学是一种在新的流派以及该领域当前和未来的思考中保存伟大思想的方式。 当然,这在计算中并没有任何有用的程度。 与流行文化一样,计算仍然最感兴趣的是无需大量培训即可完成的工作,以及执行力比结果的后果更重要。 文学是一种媒介,可以让你从简单、直接的内容转向更大、更重要的内容。

我们需要!

关于GoTo学校

Alan Kay 和 Marvin Minsky:计算机科学已经有了“语法”。 需要“文学”

来源: habr.com

添加评论