自学编程 如何自学编程?

crazyjin · 2019年03月07日 · 716 次阅读

请先阅读《什么是计算机?》、《什么是编程?》

学习编程需要学习计算机和编程语言。计算机是编程的对象;通过编程语言程序员才能告诉计算机如何完成数据处理

学习计算机--编程的对象

为了通过编程来让计算机完成一些任务,那么就需要先了解计算机是否有能力做到。毕竟不可能对一台家用电脑编程就可以让它为人端茶倒水。所以学习编程首先要了解计算机。

在《什么是计算机?》中讲到过:操作系统管理着计算机硬件资源。但是对于程序员来讲,了解计算机的组成、结构和基本工作原理依然对编程有很大的帮助。此外,操作系统做了很多管理工作,而为此就需要了解操作系统是如何工作的。比如:如何通过操作系统访问硬件资源;程序之间如何通信;如何管理运行中的程序;如何通过操作系统打开、关闭一个窗口。一定程度上来讲对计算机编程就是对操作系统编程。

有些计算机没有完整的操作系统,或者根本没有操作系统。比如:硬件功能有限不足以运行完整操作系统的计算机;没有操作系统的单片机。这种情况下就需要更多地学习计算机的工作原理,以便在操作系统有限的帮助下甚至没有操作系统的帮助下对其编程。

此外还有稍微特殊一点的情况:对程序进行编程。最常见的例子就是网页编程。你现在看到的这个网页也是一个程序,它是对浏览器编程的结果。所以网页编程需要更多地学习浏览器的工作原理。

虽然这里统一把计算机称作编程的对象,但实际上有多选择:在windows或者苹果电脑上编写桌面应用程序、在运行Unix、Linux或者Windows Server操作系统的服务器上编写服务程序、在运行Android或者iOS的移动设备上编写App、网页编程等等。

学习编程语言

编程语言是一种规则明确的、和计算机对话的语言。通过学习编程语言,才能地告诉计算机如何去完成一件事情。计算机世界里有非常多的编程语言,多达600多种。每种语言都有各自优点和缺点。有些语言已经有些老旧了,用的人少,资料也少。有些语言现在现在正流行,有很多人在使用,书籍资料也很多。有的语言适合编写运行在操作系统之上的应用程序,有的语言适合直接操作硬件。有的语言性能好,适合编写计算量大的程序。有的语言表达能力强,适合快速编写计算量少的程序。下图是2019年3月份全世界编程语言市场份额排行榜:

2019年3月编程语言排行榜

可以看出,Java依然是使用得最多的编程语言,有14.88%人在使用。古老而强大的C语言,几年来一直屈居第二。万金油Python排名第三,合情合理。怎么样?有中意的编程语言吗?

先入门再深入学习

对于很多已经工作了的自学者来说,时间比较有限,学习周期不能太长。可以选择一个容易入门的细分领域,看看这个领域需要什么编程语言和相关技术知识,然后逐一学习即可。

很多初学者都会犯一个错误,那就是一上来就抱着一门编程语言学。却并不知道这门编程语言擅长的领域适不适合自己。比如,很多自学者将C语言当作自己的入门语言。其实C语言所擅长的领域基本上都需要非常多的编程语言之外的知识,并不适合大多数非计算机专业的自学者。学完C语言才发现找不到出路,很多人就因此放弃了。正确的做法应该是先选择一个适合自己的细分领域,然后再去学擅长这个领域的编程语言和相关知识。在选择细分领域时,不仅要考虑自己的兴趣,还要考虑这个领域的学习难度、学习周期、工作机会。 目前来看,比较适合(不考虑专业背景、工作经验)非计算机专业的自学者入门的细分领域有:前端网页应用开发、移动端应用开发、服务器端开发。

在选择细分领域时,要尽量选择和自己专业知识、工作经验相关的领域。有效利用自己专业知识和工作经验对学习和工作都有极大的帮助。比如:数学专业的自学者可以考虑人工智能、数据分析/处理之类的方向;有金融工作经验的自学者可以考虑服务器后端开发,将来可以从事金融系统的研发。

即便是一个比较容易入门的细分领域,学习周期也会有半年到一年不等。因此,将长期目标规划成一个一个短期目标就很重要。

此外,要注意的是,在入门、入行以后还需深入学习,才能进一步提高自己的技术能力、获得更好的职业发展空间。

系统学习计算机和编程

对于时间比较多、可以拿出2年以上的自学者,系统学习计算机和编程则是更好的选择。特别是大学在校的跨专业自学者,最适合系统学习。

现在IT行业中有很多从业者,特别是培训机构出来的,缺少相应基础知识。他们常常在碰到到下层技术问题时束手无策,为用人单位诟病。要想获得扎实的基础知识,系统学习是唯一的办法。

另外,由于计算机技术发展的历史原因,自下而上地学习是最学习计算机和编程的最佳方法。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册