编程语言:功能越强自由越少?
语言总是不断增加新特性以变得更加强大。当它向开发者提供更多的自由时,其是否会变得越来越强呢?Reg Braithwaite深信未必如此,并且认为如果语言适当地限制开发者,其会变得更加强大。
语言总是不断增加新特性以变得更加强大。当它向开发者提供更多的自由时,其是否会变得越来越强呢?Reg Braithwaite深信未必如此,并且认为如果语言适当地限制开发者,其会变得更加强大。
在最近的博文中,Michael Feathers评论说面向对象编程语言提供了一些内嵌的特性可以将测试简单化,和函数式编程相比较,它显得更有利于恢复。然而,函数性编程语言的拥护者却非常不同意他的看法。博客社区因此引发了一场异常激烈的论战。
按照Pragmatic Programmers的说法在OOP中最好避免围绕返回值来设计。Michael Feathers认为最好同时也使用异步消息模型,这样有助于提高适应性和健壮性。这样的做法与Erlang的模型相吻合,虽然违背了一些纯函数式编程的原则。