标题: 我们如何才能更好地编程? [打印本页] 作者: 滔哥 时间: 2014-5-5 16:35 标题: 我们如何才能更好地编程? 本文作者 Chris Grainger 是开源 IDE Light Table 的开发者,之前在微软 Visual Studio 开发团队效力。本文是 Chris 根据他自己的演讲《Finding a way out》改写而成。
编程本来是用来解决问题的,却变成了解决问题的问题(一个工程师朋友喜欢称之为“自舔冰淇淋”)。“胶水工厂”肯定不是我想要的答案,所以我一直在想一些可以行得通、说得过去的答案。到目前为止,我最喜欢的一个是:programming is our way of encoding thought such that the computer can help us with it. 编程是把我们思想转成代码,并让计算机可以帮助我们实现它的方式。当一天结束的时候,我们试图做的是构建一个新东西,并能够实现它——编程恰好是实现它的最好方式而已。
编程的问题在哪呢?
这个问题的答案也是我不想再问人(约400人)的原因。他们往往分为两类:他们要么随大流,并没有提供任何有用的信息,要么非常有个性的回答(当得到这些“死锁”时,我相当无语)。但总体而言,对于“编程的问题在哪?”这个问题的数百条答案,我提炼出了三类答案:不可察,非直达 和不简单。(unobservable, indirect, and incidentally complex)
编程是不可察
我们越多探讨过这个问题,就越会意识到,通过修复了这些问题我们在编程更加普遍的路上已经走了很远了。因此,如果这个有趣的问题的答案是肯定的,那大约有十亿人可以拥有现代超能力。试想一下,如果每个人都用电脑做到80%如今的程序员的工作。这样对什么的影响会最大?我不知道,但我认为它这将是我们人类作为一个集体的根本性转变,而且肯定是一件非常棒的事情。从长远来看,我相信操纵电脑将成为一项基本技能,但不像大多数的“编程是识字”(programming is literacy!)运动,我认为这将与能否写出’ if ‘语句无关。未来编程将会是大多数人都可以做到的事。任何以我们现在这样做事的方式,是注定要失败的。事实上“受虐狂”一点也不受欢迎。
文化差异