javascript - 哪些语言内核最小最干净?
PHPz
PHPz 2017-04-10 17:55:01
[JavaScript讨论组]

哪些内核最小,最干净的编程语言会存在于进化的主干上。
一种语言内核设计的越小,越干净,它的生命力就越顽强 - 《黑客与画家》

那现在什么语言内核设计的小而且干净呢?

PHPz
PHPz

学习是最好的投资!

全部回复(22)
黄舟

其实Graham言外之意就是指LISP了吧,他对这门语言真的非常喜爱,在黑客与画家之中多次对其高度赞扬。

按照他对语言的内核小和干净的定义,我觉得咱们现在可能没有一门编程语言(我是指至少TIOBE排名前二十)能达到这个标准的。

Graham所指的语言内核小而干净,在我看来,主要是指语言的rule较少,较为compact,而并非指语言之上的上层建筑(工具链,函数库,设计思想等等)。LISP是满足这个定义的,如果学过一点LISP便会知道,LISP的语言核心几乎可以在一个下午学会,这显然是担得起简洁,小,干净这些词语的。

我们都知道,无论你用的什么语言,虽然他们提供了不同的特性不同的功能,但实际上这些语言的表达能力是完全一样的,即他们都是图灵完备的语言。表达能力一样归一样,但不同的语言提供了不同的抽象层次,继而表现为语言的易用性不同。作为一款给人类使用的语言,显然是抽象层次越高,对common patterns提供的支持越多,就越好用,开发效率也就越高。而现代的开发语言多是工程用途,因此如果以简内核作为设计思想的话很一个显而易见的结果就是重复发明的轮子众多,开发效率不高,容易出错等等。所以,从工程的角度考量,我们会加入许多非核心的“调料”,所以从这个意义上来讲,现代语言大多面向工程需求,因此往往不会具备这个特点

另外如果题主对这类“干净”的语言感兴趣的话,可以看看一些学术界的语言
这里面有许多挺好玩儿的语言,可能能满足你的好奇心 :-)

阿神

Lua Programming Language

黄舟

并不清楚这本书是如何定义编程语言的内核这个概念的。
如果单纯只内存分配机制、堆栈管理策略等高级语言的基础配置,那这几门语言说起来并没有太大差别。
但是如果牵扯上运行环境、解释器等全方位的比较,那显然C、golang等要比其他需要运行环境的语言干净很多。

怪我咯

我是觉得写起来越贴近自然语言,就越顽强

阿神

Lua +1.

巴西人不光足球厉害,Lua让我们脸红。

巴扎黑

就现阶段来说,Python应该最接近自然语言吧

PHP中文网

IO
IO
IO

一个仅有5条BNF的语言

黄舟

一门编程语言可能包括编译器、虚拟机、垃圾回收(GC)等,如果这些都加一起的话,那么C语言最简单了。

ringa_lee

严肃点的话,Scheme的正式的语言标准(R5RS)只有50页。好像最新的R7RS有80页。
我用Haskell写过的scheme解释器大概四百行,虽然不是完全按照标准,但是拿来做SICP前三章的习题(第四章我还没看)是够了。

不严肃的话,Brainfuck,WhiteSpace等奇葩语言吧。

曾经写过的拿来练手的Brainfuck和WhiteSpace语言解释器:https://github.com/Alaya-in-Matrix/Anjelica

PHP中文网

10100010101001011101

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号