《黑客与画家》摘抄

原文转载自 「lucifer的网络博客」 ( https://lucifer.ren/blog/2020/05/21/hacker-drawer/ ) By lucifer

预计阅读时间 0 分钟(共 0 个字, 0 张图片, 0 个链接)

14. 梦寐以求的编程语言

让我们试着描述黑客心中梦寐以求的语言来为以上内容做个小结。

这种语言干净简练,具有最高层次的抽象和互动性,而且很容易装备,可以只用很少的代码就解决常见的问题。不管是什么程序,你真正要写的代码几乎都与你自己的特定设置有关,其他具有普遍性的问题都有现成的函数库可以调用。

这种语言的句法短到令人生疑。你输入的命令中,没有任何一个字是多余的,甚至用到 shift 键的机会也很少

这种语言的抽象程度很高,甚至你可以快速写出一个程序的原型。然后,等到你开始优化的时候,它还提供一个真正出色的性能分析器,告诉你应该重点关注什么地方。你能让多重循环快得难以置信,并且在需要的地方还能直接嵌入字节码。

这种语言有大量优秀的范例可供学习,并且非常符合直觉,你只需要花几分钟阅读范例就能领会应该如何使用此种语言。你偶尔才需要查阅操作手册, 它很薄,里面关于限定条件和例外情况的警告寥寥无几。

这种语言内核很小,但很强大。各个函数库高度独立,并且和内核一样经过精心设计,它们都能很好地协同工作。语言的每个部分就像精密照相机的各种零件一样完美契合,不需要为了兼容性问题放弃或者保留某些功能。所有的函数库的源码都能很容易得到。这种语言能很轻松地与操作系统和其他语言开发的应用程序对话。

这种语言以层的方式构建。较高的抽象层透明地构建在较低的抽象层上。如果有需要的话,你可以直接使用较低的抽象层。

除了一些绝对必要隐藏的东西。这种语言的所有细节对使用者都是透明的。它提供的抽象能力只是为了方便你开发,而不是强迫你按照它的方式行事。事实上,它鼓励你参与它的设计,给你提供与语言创作者平等的权利。你能够对它的任何部分加以改变, 甚至包括它的语法。它尽可能让你自己定义的部分与它本身定义的部分处于同等地位,这种梦幻般的编程语言不仅开放源码,更开放自身的设计。

more_vert