其实我们争论编程语言优劣的时候,有一层意思比较隐晦,但却很重要,就是编程语言的约束力强不强。比如我确确实实就是有那么多条条框框,来约束你把代码编写成我期望中的代码风格,即使你瞎写,也不会差到离谱,比如Java就是这方面的强力支持者。

另一个编程语言设计哲学则是,我给你提供灵活性,以满足你的快速开发要求,我也能写出好代码,但你必须是个良好程序员,你如果想捏泥人,那也成,但不能怪我。动态语言多是如此,比如PHP、JS。

我心中的编程语言则是两者的结合及平衡,同时希望语法层面最小集+函数第一性,具备Lambdas/Pattern Matching/Generics,保持一定的规范度,又不失灵活性,比如现在日益普及的类型声明及自动推导兼而有之的选项。

总之,语言层面简单清晰化,类库层面功能丰富且调用间简单直接。
展开
2