编程的下一步

经由TheServerSide.Com上看到Sun公司的Janice J. Heiss对该公司的高级IT架构师,曾是立陶宛女子国际象棋冠军的Victoria Livschitz的采访以及一些谈论(12),很值得一读:

The Next Move in Programming: A Conversation with Sun’s Victoria Livschitz

关于OO,她说,Object (对象)只是基本的抽象而已,很多东西并不能完全由OO句法来描述,特别是跟进程或时间有关的东西都没有被很好地处理,象“前后”,“因果”,甚至“系统状态”等构造都应该成为编程语言本身的一部分:

“…Processes are extremely common in the real world and in programming. Elaborate mechanisms have been devised over the years to handle transactions, workflow, orchestration, threads, protocols, and other inherently “procedural” concepts. Those mechanisms breed complexity as they try to compensate for the inherent time-invariant deficiency in OO programming. Instead, the problem should be addressed at the root by allowing process-specific constructs, such as “before/after,” “cause/effect,” and, perhaps, “system state” to be a core part of the language….”

她对开发人员的忠告是,不要人云亦云,要保持怀疑的态度,寻找更直觉的方案:

“…Don’t take everything you’ve been told about good software engineering as gospel truth. Don’t be bamboozled. Maintain your sense of skepticism and look for more intuitive metaphors. …”