其实学计算机,关键学的不是语言。而是学思维方式。
比如,变量、判断、循环、递归、封装、调用、面向对象等等等等。
语言(c、c++、c#、basic、pascal、java、python等等)是最表象的。
但还是要学,因为能借假修真。
学到一定程度,你看世界都会不一样了,会开始相信,上帝是一个程序员。
然后,就会很快遇到瓶颈。进步越来越小。
这时一定要学算法和数据结构。堆栈,先进先出,后进先出,链表(学到这里,你讨论区块链时才不会像一个哲学家) 加密算法、sha、rsa、公钥 私钥、拜占庭问题、七桥问题等等。 要求高一点的,重学数学里的数论。
然后,再回来学编程。会上一个台阶,真正用编程解决难题。否则语言就是花架子。
如果还想深入,就要学习网络。这部分软硬结合,需要很强的抽象思维能力。透彻搞明白tcp/ip、dhcp、mac、路由器、交换机、协议、dns、sam、http、javascript、smtp、imap等等。
这时,如果你对互联网时代的编程真的感兴趣了,想干这件事,你可以看看mac编程、ios编程、android编程、鸿蒙编程打通这些东西。当你发现他们区别很小,甚至出来个新东西,你看看资料,就能上手编程了,就贯通了。
如果还想深入,就要往后端走了。也就是往所谓"鄙视链"前端走。
数据库是要学的。系统架构是要学的。
安全、分布式、防火墙、冗余、灾 备、failover、最好补一补拓扑学。 操作 系统感兴趣的话,也 可以学一些。
不一定能写出高稳定性的数据库,分布式计算架构,优秀的操作系统,但 至少能理解,使用,调试,并基于开源代码继续开发。
如果再想深入,就几乎全是数学了。人工智能的深度学习,神经网络,进 化算法,几乎全是数学。 这需要比较深的数学基础。看你能到什么程度 了。
到了你的最深处,剩下的就是磨刀了。从此github深似海。你的代码宇宙的英雄,都是github这个开源社区里从来没有见过的大神。
你在膜拜大神,和成为大神的路上,终其一生。