如何正确地学习编程? (入门版)

科技 2019-12-31 18:51 阅读:60

本文不仅仅适合自学编程的朋友,也同样适用于报考该专业的大学新生,看完本文,你可以不需要在购买专栏或者花钱去培训机构。只需要一台电脑,几本书。

如果你是准备填报该专业的学生,在这漫长又炎热的暑假,不愿意去学车,旅游的话,不妨在家学学编程,反正大学也是要学的,哈哈哈哈哈。该专业必须要买电脑的哦~如果你现在在纠结买什么电脑的话,可以看看我主页的笔记本电脑推荐文章

好了,下面开始上干货!!

前言—编程到底是什么?

我理解的编程并不是所谓编程语言,而是一种是将实际问题抽象为一种模型,再用一种高度逻辑化的语言,用特定的算法进行描述与实现。也就是说,编程的真正内涵是一种思维,我们使用这种思维和计算机能够理解的语言去写出程序。

如果你是计算机专业学生,务必先学习计算机基础知识,明白计算机原理,推荐书籍《计算机科学导论》该专业一般都会学习这门课程,感兴趣的朋友也可以学习

一、选择学习方向

众所周知,编程语言有很多种,但是比较实用、热门的却为数不多,例如:JAVA、C和C++、C、python、PHP、JavaScript、SQL、Ruby等,那么我们该如何选择呢?

为了让大家更好地了解并选择所要学习的语言,我特地找来了几张热门语言的介绍图:

看完上面的语言介绍,可能你已经懵了,这么多!我该选哪个呢?那么我给你个建议吧。入门语言请从,PHP、C语言里面二选一,进阶之后再去掌握其他更高级的语言。

小编是从c语言入门的,就我个人感受而言,c语言入门后,可以更快地掌握其他编程语言。因为c++、java等高级流行语言其实都是基于c语言的基础上的。

所以你要是想更快地入门其他高级语言,那么掌握C语言无疑是更好的选择。

三、调整学习心态

如果你现在还是很坚定要学习编程,那么我要给你点个赞,也希望你能一直坚持下去,并把这种意志力用在未来的任何事情上。

三、学习的方式与方法

通用的学习方法:

1.使用度的方法结合学习

我喜欢把书和网课两者结合学习,并不是边看网课边看书。课少的时候我基本都是早上看书,下午看网课和敲代码。看书时预习,网课是复习,敲代码是实战。

2.切忌只用脑不用手

许多自学编程的朋友都喜欢把看个不停,这样是没有效果的,所谓编程肯定要自己敲代,如果没有实战,一切都是纸上谈兵,理论再强都写不出来好的程序。

3.敲代码请尽量使用电脑

手机上有许多编程软件,但都是非常鸡肋的,用来敲一敲“hello world”没问题,但是用来大型项目或者作为长期的工具,还是请选择电脑。所以初学者也尽量使用电脑作为上手工具。

相关专业的校学生,请务必:

1.学好所有相关的专业课程,无论它多么枯燥乏味。

你若不学计算机组成原理,你便不知道一个int型数据类型占4个字节是何物理意义,更不会透彻理解变量声明和变量定义的区别;你若不学数据结构,你便不知究竟该如何用最优的算法进行最优的深度优化。基础是重中之重,打好基础在工作后能让你甩开大部分同行一条街。

我曾经对这样的学习方式一度十分嗤之以鼻,自负地认为简直不可理喻,但事实证明,你老师终归是你老师,这种做法一定有其存在的合理性。你能看懂的和你能写下的绝非是同种东西,一旦落笔便能知道,你很可能连静态局部变量和动态局部变量都没有彻底搞清。

给自学编程朋友的提议:

1.不要盲目报读培训机构

现在许多自学编程的朋友都喜欢去培训机构,但是我想说的是,培训机构能教你的永远是浅层,而自学得来的往往比培训机构交给你的要深得多,要稳固的多。

关于编程的教学资源其实非常丰富,没必要去购买收费的教学资源,在大学mooc网,公开课等等都有非常优质的教学资源。

四、学习路线

转行或该专业学生:计算机导论(部分数据结构知识)→入门编程语言→数据结构→高级语言

感兴趣或自学编程玩玩:入门编程语言→数据结构(可跳过)→高级语言

我想了很久到底该不该区分这两个,因为自学编程是不需要太牢固的计算机基础知识的,而作为该专业的学生必须掌握计算机基础知识。但主要还是看个人的选择,这并不意味着如果你是因为感兴趣学编程就不能去学习计算机导论,只是在我个人看来,没多大必要。

五、成长路线

看书,看,看博客,听课等等

对着书敲代码

脱离书自己敲代码

自己实现一些小DEMO

进项目看代码

在别人指点下写代码

自己独立在别人搭建好框架内填写代码

自己独立负责别人设计好的模块的实现

自己独立负责一个软件模块的设计和实现

负责较大软件模块,拆分模块,分子任务给他人

负责一个小项目,设计,拆分,分派任务

做较大的软件的架构设计

结语

路漫漫其修远兮,吾将上下而求索。

附录

最后说一个比较特殊的“编程语言”HTML&css3,因为严格来说他不属于编程语言,但是他是用来编写网页框架的,也是web前端的必学课程。

如果想学习web的朋友请根据这个学习路线:

HTML&css3→JavaScript→jQuery(后面的就暂时不说了,先把这三个按顺序学好吧)

答疑

问:现在自学编程可以找到工作吗?

答:自学编程能不能找到工作的直接关系是你自己的编程能力,我见过高中学历的大牛,也见过博士学历的大牛,他们之间除了学历,在专业能力上甚至没有差别。

问:编程要学多久才是精通啊?

答:学无止尽,有些使用了十几年的c++程序员都不敢说自己精通,只能说是熟练使用。

问:编程会疯狂脱发吗?

我一直觉得这是外界的一种过分误解,虽然确实会掉发,但是我也见过许多大牛仍然毛发旺盛。

本文相关词条概念解析:

编程

编程是编写程序的中文简称,就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到相应结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。编程:设计具备逻辑流动作用的一种“可控体系”【注:编程不一定是针对计算机程序而言的,针对具备逻辑计算力的体系,都可以算编程】例子:①比如编写一段代码程序②编写一个控制设备体系。