我们已经拥有了十余年的编程教育经验,期间发现,大多数学习编程的同学,并
不是因为编程知识太难,而导致学不会或者放弃,更多的,是因为心态的问题。
心态和思想真的很重要,它往往会决定一个人对某一事物的态度。初中时,你应
该听到过这么一个故事:
两名农民进城务工,因为长时间赶路,口都渴了,他们各自去超市买了一瓶2
元的矿泉水。心态就决定了他们的命运。
一名农民一见水那么贵,就想:“天啊,城市里一瓶水都要2元,其他东西得贵
成什么样。”于是他便回到了农村。
另一名农民的想法却完全相反,他认为,一瓶水都能卖出2元,那卖其他东西,
肯定赚得更多。
后来,一个没有任何的改变,一个成了这座城市的破烂大王。
这个故事很老套,但学编程,就像是进城一样,你做出了进城务工的决定,可因
为消极的心态退缩了,也就没有任何的改变。
至于思想,就更重要了,它可以让希特勒成为恶魔,也可以诞生像马克思这样的
伟人。
这就是我们用了很大篇幅,用来调整大家心态的原因。
工欲善其事,必先利其器,刀已经磨好了,不干实事自然也不行。我们已经教会
您如何以一个正确的心态来学习编程,接下去就是一些学习相关的内容。
1.编程语言的选择
我该选择学什么语言呢?
你完全不需要担心选错一门语言,往后再转其他语言太难。编程界有一个著名的
公式:
学习第n门编程语言的难度,是第(n-1)门的一半
所以,你就会看到某一程序员的简历上,写着掌握xxx、xxx、xxxx等多门语言,
熟悉xx技术,一大堆见都没见过的专有名词,估计会把自己吓得半死。
当然,这并不意味着可以随便选。比如语文老师和数学老师,虽然都是老师,但
语文老师要想教数学,这一转变还是有一定成本的。
那么,我该怎么选择一门适合自己的语言呢?
遵从自己内心的想法吧,这是唯一的选择标准,千万别去考虑前景、钱途之类的,
这一点,北大青鸟上海校区已经强调多次。
如果你想开发安卓软件,那么就学习Java;
想开发游戏,C++是最好的选择;
想做爬虫、数据分析,亦或是人工智能,Python 是最佳选择;
如果你想做个网站,JavaScript(前端)、PHP、Java、Python都可以;
要特别提醒一下,任何编程语言,都有其擅长的领域,并不代表它只有一种用途。
比如Java,安卓软件和Web是它的两个主要的应用领域,但不代表它只有这两
种用途。如果你愿意,大可以用来开发游戏、做爬虫等等,几乎什么都能干。
但是,企业招聘大型游戏的开发时,都会选择C++,而不是Java,因为它不擅长
这个,不是一个最优解。
2.踏实从基础开始
万事开头难,刚接触编程时,也是最难的时候,可能一个语法,学了几遍还是会
忘掉。不过不用担心,大家都一样。
北大青鸟上海校区为同学提供了三种学习方式:文档、微课和视频。
文档较为系统,可以按照自己的节奏学,但对于初学者而言,看文字学习,有一
定的难度。
微课把学习编程变得更简单了,短时间内可以学到非常多的知识,也因为如此,
摄取过多的知识,比较容易忘。
而视频对新手很友好,但学习时间较长。
我们建议,最好选择两种以上的方式学习,互补不足,才能达到最好的学习效果。
但无论你选择哪一种学习方式,一定要记住,基础是最重要的部分,一定要学得
扎实一些,可以避免今后的许多麻烦。
对症下药
想学习编程该如何入门?
北大青鸟上海校区可以肯定,没人能回答这个问题,因为它太宽泛了。就好像你
向一个大厨请教“菜该怎么做?”向一名医生问“病该怎么治?”一样,很难回
答。
很多同学带着这个问题,一直百度,就是找不到满意的答案,也是因为这个原因。
那么,是不是就无解了呢?并不是。
假如你这么提问:
我刚学习炒菜,想吃甜一点的西红柿炒蛋,怎么做呢?
医生说我得了鼻炎,我想把它彻底治好,该怎么治疗呢?
自身水平+目的+问题,就可以得出适合你自己的,且较为准确的答案。
比如:
我是一名网站编辑,想看懂网页代码,我要怎么学呢?
我没有任何的基础,平时工作都用不上电脑,就想转行当程序员,我从哪里开始
学?
自身水平不同、目的不同,入门的方法也大不一样。
因此,我们没办法一一道来,否则可能100万字都未必说得完。但任何东西,都
是有主流人群的存在的,他们的目的,也是出奇的相似的。只要能让大多数人,
知道编程怎么入门,本文的价值也就得到了体现。
北大青鸟上海校区将目前想完成编程入门的人群,分为两大部分,一是非程序员
的职场人士,二是非计算机专业的大学生。
程序员不会问编程怎么入门,计算机专业的大学生也是同样的道理。而一些非主
流的编程学习人群,也被我们过滤了。如有必要,我们会单独开一个章节来讲。
编程的入门
自古以来,学习编程分为两个派别。
理想派认为,学习编程前,一定要懂得一些基础的知识,比如计算机原理、线性
代数、离散数学、程序设计语言等等,如果不学习这些理论课程,那么学习编程,
也是学了个空壳子而已。
而实战派则认为,学习编程一定要尽快应用,等到达到瓶颈之后,再进修补充理
论即可。
那么,这两种派别,哪一个是对的呢?作为编程初学者的我们,该如何选择呢?
实战需要理论的指导,而理论需要实战来体现它的价值,两者是相互依存的关系,
北大青鸟上海校区认为,如果你不是计算机相关专业的学生,走理想派路线,是
十分不现实的。
一来,你没有足够多的时间,二来,学了一大堆诸如计算机原理、离散数学这类
东西,在刚进入程序员这一行业的时候,你根本用不到,别说这些,甚至连英语,
用得都极少。
学完这些,你会写代码了吗?并不会。也就是说,花了几年的时间学习这些,到
头来根本用不了。
最好的方法,就是单刀直入,选择一门合适的编程语言,在最短的时间内,让自
己学做写代码,做程序。有了反馈,才能坚持下去。
等到成为了一名程序员,像计算机原理这类知识,再回头来学,才是最优解。
后记
有一个积极乐观的心态,再加上学习基础知识,就已经算完成入门了。因为这时
候的你,已经不再是一个门外汉,至于今后的路怎么走,也一定会明朗很多。
对于初学者而言,对未来的充满着未知,更容易出现担忧、焦虑的心情,于是希
望了解成为一名合格程序员,需要掌握的所有知识,这可以理解。但我们想说的
是,不要给自己徒增负担了,船到江桥头自然直,当你学完整个基础课程时,你
就知道接下去的路怎么走了。
等您掌握了基础知识,再查看对应的学习路径,才是最佳的选择。