编程到底难在哪里?

各种语言就好比文字,编程的过程就是用文笔书写诗篇,假设对于语言的应用已经十分透彻了,那么编程的难点在哪里? 在使用的思路,还是各种算法,还是以人脑却用电脑的方式思考问题?
关注者
10544
被浏览
1666212
从专业性的角度出发,我们尊敬建筑师远远高于尊敬程序员,毕竟软件每天都在崩溃,而桥梁鲜有坍塌。

然而建筑师修一座桥时,不会在修到一半时被告知河比预期的宽了两百米;不会在修到四分之三时被告知河岸不是泥土而是花岗岩;不会在修到百分之九十九时被告知这座桥不应该是公路桥而是人行桥。而这一切在软件开发行业里似乎是司空见惯的。

编程,或者说软件开发更像是一个在瞬息万变的大环境下保持一个小系统稳定发展并具有更新能力的事。这有点像城市规划,其难度来自于人类社会本身的复杂度。人人都想去解决类型理论或超越冯诺伊曼模型之类的问题,但我认为这些问题属于数学或狭义上的计算机科学,而不是编程。