编程随想——从基础开始,顺其自然

突然又回想到这个话题,学编程,为什么英语和数学对其大有裨益。

有些道理,的确是亲身体会过后才能有深刻的认识。因此,阅历,眼界,思维等等,都是在不断地思考与实践中变得更好,慢慢的就会发现,自然二字非常重要。

不同的人对这个道理的阐述不同,但几乎可以确定的是,自然规律不因为我们的主观意志而改变。以足够长远的角度来看,从不同的地方出发,最终一定会向着同一个方向前进。例如生命从诞生走向死亡,事物的发展总是在经历着大同小异的生命周期。客观的对待现实,就能发现规律。

拿编程来说。程序其实像一种语言,人类用这种语言和机器对话,让机器能够完成各种精妙复杂的运算,能够为我们完成工作。到今天,虽然发展不过100多年,但由于凝聚着人类现代文明智慧的结晶,已经是一个集大成者。这个时代是多么伟大,我们能够轻松的从互联网上获取知识,开源文化记录了软件层面从无到有,再到飞速发展的全部过程。无论是古老的系统内核,还是最先进的云服务,每个人都能轻松的获取那些代码。

但并不是每个人都能像Linus一样,创造一个时代。计算机领域非常显著的一个特点就是,人力在机器面前的渺小。技术差距无法用人数和时间来弥补,一百个平庸的程序员工作一个月所做出来的产品,可能被一个架构师一周的成果秒杀。这毫不夸张。计算机会把思想和技术上的优势几何倍的放大。

如果说编程的本质是解决问题,那么这种能力的提高必然关系到许多方面。刚开始要处理的问题,复杂度低,数据量小,没什么精度要求,不用考虑问题本身以外的其他地方。但随着问题逐渐变得复杂,深入和多样化,每一个点上都会变得值得深究,很多地方需要以不同的标准重新考虑。在这个过程中,技术得到发展,其难度也随之上升。

得益于时代的红利,如今一个程序员并不需要多少数学和英语能力就能生存下去。最基础的编程通过调用和简单的逻辑就能完成,大量的API让一些复杂的东西也能轻松的用几行代码实现。看起来很美好,其实并非如此。如果只有这样的能力,那么太容易被代替了。甚至于,已经有机器开始代替我们做这些搬砖的工作。

人的价值取决于其的不可代替性。如果你懂英语,你本身就已经理解了代码的一半。在此基础上,你还能免费接触到最好的文档,最好的社区,以及最好的书籍和搜索引擎。这意味着在学习和实践的道路上,你几乎可以找到所有问题的答案,可以避免绝大多数坑,这种效率跟不懂英语的人完全不在一个水平上。长期以往,在思想和方法上也会有质的差距。而数学,对世间万物的本质抽象,以及它所附带的数理逻辑与思维,其实就是解决问题的能力最核心的东西。

《原则》里说,越接近事物的本质,就越容易实现目标。如果我们不断的迭代自己对于编程的理解,不断优化自己的思想与方法,坚持实践,从积累中反思,建立良好的循环,能力的提升应该是自然而然的。

当然,编程只是一种能力,或者说特种知识。虽然可以大讲特讲,但在人生之中不过也是一叶扁舟罢了。

原文地址:https://www.cnblogs.com/NeroSong/p/9171388.html