自学编程 自上而下,先入门再深入学习

crazyjin · 2019年03月28日 · 222 次阅读

虽然,自下而上,系统学习是学习计算机和编程的最好方法。但是,从计算机底层开始层层向上学习将会是一个很长(2年以上)的学习周期,对于很多时间比较少的自学者来说是难以接受的。先入门,找到一份儿工作、进入软件开发这个行业,则是这类自学者更好的选择。入行并不意味着学习的结束,持续学习才能有更好的职业发展,甚至才能在行业技术变化后获得新的工作机会。

计算机系统分层

计算机技术总体来说有两个发展方向,纵向和横向。在纵向发展中,上层技术通过对下层的抽象和封装,使得对计算机的操作变得更直观、对其编程更方便。在横向发展中,计算机的性能更好,功能更多、更强。对技术人员来说,学习下层技术有两个好处:能更好地理解上层技术;能更轻松应对上层技术的变化。此外,虽然上层对下层进行了抽象和封装,但很多时候还是需要一些下层的技术知识才能解决问题。这里推荐一些值得深入学习的知识和书籍:

操作系统

操作系统掌管着计算机的一切软硬件资源,包括运行在其中的程序。推荐书籍:《现代操作系统》

现代操作系统

计算机网络

计算机网络是程序间沟通最常用的媒介。之所以现在被成为互联网时代、移动互联网时代就是因为网络的高度发达。推荐书籍:《计算机网络:自顶向下方法》

计算机网络

C语言

现在流行的编程语言中有很多都是由C语言发展而来,比如C++/Java/C#/Go。还有很多语言继承了C语言的一些基因,比如:PHP/Python/Ruby/Rust等等。可以说C语言是命令式语言中最具代表的一门编程语言。有C语言做为基础,学习大部分流行语言都会轻松很多。推荐书籍:[《C程序设计语言》](https://book.douban.com/subject/1139336/)。

C程序设计语言

计算机组成

不管计算机技术有多少层、上层对下层如何抽象,计算机的功能最终都由硬件来实现。推荐书籍:《计算机组成:结构化方法》

计算机组成:结构化方法

数据结构及算法

数据结构和算法并不是计算机哪一个层面的知识,而是所有层面都需要的知识。任何一门编程语言都会涉及到数据结构,好的数据结构能让程序更直观更高效。算法则关系到如何以最快的速度解决一个问题,在处理大量数据时尤其重要。常用算法通常都有各种语言的实现,只需要了解它们使用方法即可。当然,有些时候也需要开发者自己设计算法以解决特定问题。推荐书籍:《算法导论》

算法导论

共收到 0 条回复
crazyjin 内容不符合版规屏蔽此话题 04月02日 23:38
crazyjin 如何自学编程? 中提及了此贴 04月24日 01:33
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册