小而美的语言

读了c++之父Bjarne Stroustrup的一段话,“如何决定哪些是库,哪些是语言特性是语言设计的艺术。”这种看法是相当平和的做法,但是larry wall(perl之父)比较激进一些,他觉得应该尽可能把所有的“语言特性”当作库。

这两种看法容易带来一个区别,就是小而美和大而全。以我个人的倾向还是小而美更好一些。回想在学习编程语言的时候,很容易被现代编程语言那些繁多的特性搞乱套,而且会误以为学习这些语言特性就是在学习编程。若这样想,那就错失正确的方向了。

现在网上还充斥着很多讲解语言特性的文章,这些东西会给人一种假装技术文章的错觉,真正的技术却避而不谈,我想,所有的初学者无非就是想做点东西,但是看这些玩意只会越来越困惑。对于语言学习,我的态度是“不求甚解”,除非你要自己做一个语言,否则我不太想把精力浪费在语言上。 对我来说,没有什么最好的编程语言,因为我在思考的时候并不用任何编程语言思考。

小而美带来的问题就是分散,降低效率。人们不愿意在一堆杂货铺里寻找合适的东西,觉得这是浪费时间。我也觉得是,但是,还能有更好的方法吗?

大而全带来的问题是控制欲太强,什么东西的添加都得靠语言的作者们,或公司。这种模式会带来利益,同时,也丧失了生命力。

我不知道什么是正确的做法,当然,这个问题跟编程语言没啥关系。