突然很想开一个系列,专门用自然哲学原理解释编程里的很多学问。
首先,为什么要有编程?
在古代,人们就已经在从事各种各样的行业,提供各种各样的服务。有专门捕鱼的、有专门种田的,还有专门管仓储、管邮差的。
蒸汽动力、电力的出现使得人类可以用机械来捕鱼,用机械来种地,从全方位改变了我们的生产模式,所以说是工业“革命”。
为什么计算机被称为第三次工业革命,因为计算机使得人类可以用计算机来管仓储(数据库),用计算机来管邮差(消息中间件)。
在我看来,编程的实际用处就是把原来要用人力完成的服务,搬到计算机上,用电子的庞大计算能力加速我们的服务,降低成本,创造效益。
可以预见的是,随着计算机技术的应用越来越广泛,越来越深入到生产活动中。与之适配的编程思想也要越拟合现实,也就是自然哲学的规律。
为什么数十年来,从面向过程编程到面向对象编程,从单机架构到微服务,从MVC到DDD,一代代崭新的架构不断发布?
因为在时代潮流下,编程思想被需求推着走,必须走向更符合自然哲学的形态,才能将更多更复杂的原来要用人力完成的服务全部搬到计算机上。
我已经被不停的重构搞烦了。
前文已经得出,最终形态的编程思想应当是完全符合自然哲学原理的,那么只要完全了解自然哲学原理,就能创造完美的编程思想,直接一步到位创造最终形态的架构。
这听起来很不现实,都能完全了解自然哲学原理了,跟神有什么区别,还来写代码干什么?
其实,我无意破解大统一场论、黎曼猜想,只是想把很多更浅显的自然哲学原理(比如人类社会运作的底层逻辑)搬到编程思想上而已。
不说一劳永逸地设计出最终形态的架构,起码也想要未雨绸缪,让这个架构尽可能地先进,这样以后即便要重构,也能简单一点。