ruby语言有什么样的美学特点?


Author: Kimmy

ruby语言有什么样的美学特点?

知乎链接


泻药。

第一点是复杂。
其实如果不是Ruby这么复杂的话并不会吸引我去爱上它。

当然因为它复杂到可以做各种事情,反过来设计出来给终端用户用的时候就能做一套简单的DSL了。

比如有些答案提到的Sinatra,很好用嘛。简洁方便,表达能力超强。
但是你想去实现或者去扩展他,就知道我说的复杂在哪儿了。

不过Ruby的复杂不是不着边际,而是倾向于用利用自身复杂的特性去简化复杂的逻辑。Matz设计的时候就是要给所有人都可以玩的语言,所以即便你不去了解这么复杂的Ruby,希望能够开心地玩。

第二点就是整洁。
不是简洁整洁

比如把?和!作为notation,来表示是一个predicate或者是有side-effect;比如Enumerable配合block流畅的使用方法;比如convention over configuration;比如媲美Perl的正则表达式。

第三点就是,融合得完美,可以用多种风格编程。
这里的融合指的是LISP和Smalltalk。除了没有宏之外,能有的都有了,而且一点都不显得意外。(当然你还可以用黑魔法来模拟宏。
在动态语言里面,Ruby的这套对象模型的应该是业界标杆了。

暂时只想到这些。
以上。

创建时间:2016-01-19 最近更新时间:2023-11-03