编程的一些想法
软件编程一门大的学问,可大可小,万变离不开基础。计算机组成,计算机网络,编程语言的语法(编译原理),算法和数据结构,图形数据几何。编程的抽象思想很重要,将现实中的现象或者建模思想用程序代码来实现是一件非常困难的事情。
各种算法,递归,排序,分而治之,动态规划,这些其实是数学问题。调度算法,分布式,网络通讯中的滑动窗口。大数据分析,根据建模结果预测未来这是统计,和概率学问题。
编程是一个归纳总结的过程,同时也是迷茫走向清晰的过程。从学习各种编程语言,学习各种框架之后渐渐的明白了这些语法糖不过是编译原理的产物,Tokenizer 和 Parser。各种协议不过是我们 C/S 端之间的约束罢了,根据一定的规则进行数据通讯。
并发、协程、多线程、多进程不过是用户态、系统之间调度的解决方案。这也是现实生活中的问题。同步排队拿东西,异步预约等结果。
既然知道了计算机这么学科就这些东西,为何不系统的学习这些底层的至少,逐一击破,细化归纳总结精进呢?