最近对Smalltalk的介绍启发了我对'纯'面向对象风格的应用和好处。我以前在Ruby中看到过这种优点,尽管存在非面向对象 if
, unless
等等构造似乎没有把东西带到一路。
纯粹在这里,我说的是“一切都是一个对象”(包括通过块或类似的东西)和没有程序风格的流控制,而是在布尔和集合上使用流控制方法。
然而,即使在像Smalltalk这样的语言中,有些东西也很突出,因为它们不是面向对象的。例如,如果不使用特殊语法(:=而不是'is:'或类似方法)进行变量赋值似乎不可能,并且从函数返回值似乎需要^运算符,它似乎不属于'对任何物体。
有没有更进一步的语言?