javascript - 哪些语言内核最小最干净?
哪些内核最小,最干净的编程语言会存在于进化的主干上。
一种语言内核设计的越小,越干净,它的生命力就越顽强 - 《黑客与画家》
那现在什么语言内核设计的小而且干净呢?
回复内容:
哪些内核最小,最干净的编程语言会存在于进化的主干上。
一种语言内核设计的越小,越干净,它的生命力就越顽强 - 《黑客与画家》
那现在什么语言内核设计的小而且干净呢?
其实Graham言外之意就是指LISP了吧,他对这门语言真的非常喜爱,在黑客与画家之中多次对其高度赞扬。
按照他对语言的内核小和干净的定义,我觉得咱们现在可能没有一门编程语言(我是指至少TIOBE排名前二十)能达到这个标准的。
Graham所指的语言内核小而干净,在我看来,主要是指语言的rule较少,较为compact,而并非指语言之上的上层建筑(工具链,函数库,设计思想等等)。LISP是满足这个定义的,如果学过一点LISP便会知道,LISP的语言核心几乎可以在一个下午学会,这显然是担得起简洁,小,干净这些词语的。
我们都知道,无论你用的什么语言,虽然他们提供了不同的特性不同的功能,但实际上这些语言的表达能力是完全一样的,即他们都是图灵完备的语言。表达能力一样归一样,但不同的语言提供了不同的抽象层次,继而表现为语言的易用性不同。作为一款给人类使用的语言,显然是抽象层次越高,对common patterns提供的支持越多,就越好用,开发效率也就越高。而现代的开发语言多是工程用途,因此如果以简内核作为设计思想的话很一个显而易见的结果就是重复发明的轮子众多,开发效率不高,容易出错等等。所以,从工程的角度考量,我们会加入许多非核心的“调料”,所以从这个意义上来讲,现代语言大多面向工程需求,因此往往不会具备这个特点
另外如果题主对这类“干净”的语言感兴趣的话,可以看看一些学术界的语言
这里面有许多挺好玩儿的语言,可能能满足你的好奇心 :-)
Lua Programming Language
并不清楚这本书是如何定义编程语言的内核
这个概念的。
如果单纯只内存分配机制、堆栈管理策略等高级语言的基础配置,那这几门语言说起来并没有太大差别。
但是如果牵扯上运行环境、解释器等全方位的比较,那显然C、golang等要比其他需要运行环境的语言干净
很多。
我是觉得写起来越贴近自然语言,就越顽强
Lua +1.
巴西人不光足球厉害,Lua让我们脸红。
就现阶段来说,Python
应该最接近自然语言吧
IO
IO
IO
一个仅有5条BNF的语言
一门编程语言可能包括编译器、虚拟机、垃圾回收(GC)等,如果这些都加一起的话,那么C语言最简单了。
严肃点的话,Scheme的正式的语言标准(R5RS)只有50页。好像最新的R7RS有80页。
我用Haskell写过的scheme解释器大概四百行,虽然不是完全按照标准,但是拿来做SICP前三章的习题(第四章我还没看)是够了。
不严肃的话,Brainfuck,WhiteSpace等奇葩语言吧。
曾经写过的拿来练手的Brainfuck和WhiteSpace语言解释器:https://github.com/Alaya-in-Matrix/Anjelica
lisp
wiki
lisp
吧,严格来说只有九条语法规则,其他的都是语法糖。Haskell
也不多,具体多少我也不清楚,因为还只是一个初学者,只是看到后面发现前面定义的好多东西也只是语法糖以及对这些糖的优化而已。
显然是lisp
编程语言里的文艺青年非lisp莫属了。
脚本:lua
Lua Programming Language +1
说到内核,没有见过比 Lua 更简洁的。
可以看看 Lua 的源码,写的非常棒。仅仅 24000 行,就实现了一个功能强大的扩展语言。
scheme+1
我觉得 C 的内核足够小,因为它几乎没啥内核。
上面有一些同学认为 scheme 内核小,我觉得这是只看到了表面现象。不能根据 scheme 标准有多少页来衡量其内核规模。不说别的,仅内存回收这一点事,就可以让它的内核不小也不干净。
10100010101001011101
难道不是汇编语言??
最干净的莫过于01了,或者更深入的是二极管的开关了,没有之一
什么语言我不知道 linux内核肯定是很干净的

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP仍然流行的原因是其易用性、靈活性和強大的生態系統。 1)易用性和簡單語法使其成為初學者的首選。 2)與web開發緊密結合,處理HTTP請求和數據庫交互出色。 3)龐大的生態系統提供了豐富的工具和庫。 4)活躍的社區和開源性質使其適應新需求和技術趨勢。

Golang在並發性上優於C ,而C 在原始速度上優於Golang。 1)Golang通過goroutine和channel實現高效並發,適合處理大量並發任務。 2)C 通過編譯器優化和標準庫,提供接近硬件的高性能,適合需要極致優化的應用。

Golang適合快速開發和並發場景,C 適用於需要極致性能和低級控制的場景。 1)Golang通過垃圾回收和並發機制提升性能,適合高並發Web服務開發。 2)C 通過手動內存管理和編譯器優化達到極致性能,適用於嵌入式系統開發。

IIS和PHP可以兼容,通過FastCGI實現。 1.IIS通過配置文件將.php文件請求轉發給FastCGI模塊。 2.FastCGI模塊啟動PHP進程處理請求,提高性能和穩定性。 3.實際應用中需注意配置細節、錯誤調試和性能優化。

Golangisidealforbuildingscalablesystemsduetoitsefficiencyandconcurrency,whilePythonexcelsinquickscriptinganddataanalysisduetoitssimplicityandvastecosystem.Golang'sdesignencouragesclean,readablecodeanditsgoroutinesenableefficientconcurrentoperations,t

多次調用session_start()會導致警告信息和可能的數據覆蓋。 1)PHP會發出警告,提示session已啟動。 2)可能導致session數據意外覆蓋。 3)使用session_status()檢查session狀態,避免重複調用。

golangisidealforperformance-Critical-clitageAppations and ConcurrentPrompromming,而毛皮刺激性,快速播種和可及性。 1)forhigh-porformanceneeds,pelectgolangduetoitsefefsefefseffifeficefsefeflicefsiveficefsiveandconcurrencyfeatures.2)fordataa-fordataa-fordata-fordata-driventriventriventriventriventrivendissp pynonnononesp

AI可以幫助優化Composer的使用,具體方法包括:1.依賴管理優化:AI分析依賴關係,建議最佳版本組合,減少衝突。 2.自動化代碼生成:AI生成符合最佳實踐的composer.json文件。 3.代碼質量提升:AI檢測潛在問題,提供優化建議,提高代碼質量。這些方法通過機器學習和自然語言處理技術實現,幫助開發者提高效率和代碼質量。
