Rob Pike: 面向对象不是一切

Rob Pike 对面向对象方法的评论 其实也没有什么新意,无非说没有让人一劳永逸的东西,一个鞋子不能穿在所有人的脚上云云。不过真理往往隐藏在老生常谈里面,所以也不妨看看他的评论。看得出Rob Pike仍然是老牌Unix hacker,对使用多种工具协同工作,每个工具尽量漂亮地解决一个问题的哲学深信不疑:“It's that last point - different languages for different subproblems - that sometimes seems lost to the OO crowd," Pike said. "In a typical working day I probably use a half dozen languages - C, C++, Java, Python, Awk, Shell - and many more little languages you don't usually even think of as languages - regular expressions, Makefiles, shell wildcards, arithmetic, logic, statistics, calculus - the list goes on.” 呵呵,Unix这种哲学让程序员的世界变得精彩无比。如果世界上只有OO(或者其它什么方法),我们的生活岂不是异常无趣?

话说回来,OO多多少少提供了一个相对清晰高效而且大多数程序员能够理解的抽象机制,使得一个开发队伍能够在不同的人员配备下平稳地进行开发(是的,我会泛函编程,也会逻辑编程,但相信我,能用这些范式写出高质量的人不多。我当助教时就深有体会了。) 没有几个公司指望他们的程序员通晓多个编程范式吧?而且用单一语言也使得公司对程序员的依赖减小。不管怎么说,找Java程序员总比找会Java+C+Python+Awk+Shell的人多吧 ?

你可能感兴趣的:(编程,c,python,unix,OO)