如何开始编程?我也不知道,我只知道我高中毕业时还没怎么接触过计算机,感觉那玩意儿很厉害,什么都可以干!大学选了计算机专业,然后逼自己一把,就慢慢会了,如今也是个全职程序员了(光阴似箭啊)。这期间,有懵逼,痛苦,迷茫,欣喜……艾玛,五味杂陈啊!所以珍爱生命,内心经不起波澜就不要轻易尝试了,编程这种事还是交给那群“非生物”——程序员吧。
现在仔细想想,编程其实还是有套路的,对心脏的要求也没那么高!
编程的重要性
我们知道,计算机是执行程序的机器。离开程序,计算机就是一堆废铁,啥也干不了,那程序哪里来?答案是人使用某种计算机语言编写的。要想真正理解计算机的运行机制并让其乖乖地为你服务,编程是最好的方法,没有之一。编程让你深入理解计算机的几大部件是如何协同工作的;编程让你知道如何让CPU高效地为你服务;编程让你理解计算机的存储系统为什么要设计为金字塔结构,以及如何高效利用这种结构;编程让你快速从Internet上面get到自己想要的东西;编程让你感性体验大数据、云计算和人工智能是怎么回事,而不是只知道一大堆干巴巴的概念;最重要的是,编程可以充分发挥你的创造力,轻松为自己创造一个崭新的世界。
那么,如何开始这项富有创造力的活动呢?
第一步,准备台PC
当今的笔记本已经相当先进,市面上随便买一台即可开始编程之旅。那编程对计算机的配置要求高吗?答案是不高,根本不需要玩大型游戏那么夸张的配置。当然,配置高一点体验会好些。
第二步,选择门语言
编程语言发展到今天,其种类之多完全不亚于地球村的方言。但是,如此多的语言中,流行的也就几十种(点这里一探究竟),而适合入门的就几种。我推荐选择Python或者Java这种高级语言来入门,因为他们很简单,屏蔽了很多计算机底层的东西,可以快速上手。如果一开始就去使用C、C++这种偏底层的语言,可能会处处碰壁,大大降低自己编程的兴趣,当然,基础扎实者例外。
可喜的是,计算机语言是真正可以触类旁通的语言,它不像人类语言,英语、法语、德语和汉语之间没什么大的相似点,因为它们是不同地域的人使用的语言。人类语言有不同的文化,不同的价值观,不同的表达方式(语言学家还可以列出更多不同)。然而,计算机语言不一样。所有的计算机语言都是面向计算机的,所有语言的目的都是让计算机乖乖地为人所用,因此,它们之间有非常大的相似度,学会一门计算机语言,再去学另一门将非常容易。
第三步,开始写代码
如果你选择Python(Java一样),那就去看相关的教程,网上或者图书馆有很多的教程。重要的不是纠结于那个教程好,而是自己把代码一行一行地输入计算机,然后运行,获得自己想要的结果。“纸上得来终觉浅,绝知此事要躬行”,这句话概括得太精辟了!
第四步,步入正轨
如果已经可以独立仿照教程输入代码,运行拿到自己想要的结果,你已经入门了!否则就找个人指导下,或者网上看视频教程,看人家是怎么操作的,跟着敲代码。运行自己敲的代码,拿到想要的结果后,你成功一大半了!接下来,你安心思考一些问题就好了。你敲入的每行代码是想让计算机干嘛?背后是什么原理?换种方式实现可以不?再深入一点,思考一下我在“编程的重要性”那里提到问题。
补充,该死的B-U-G
写代码这一步,是编程中最重要的一步,也是最难的一步,会遇到很多问题,绝大多数学编程的人都是在卡在这一步,寸步难行,苦不堪言。其实,再厉害的编程人员,也会遇到错误,专业名词叫bug,bug就是编程的家常便饭,哪个写代码的要是敢保证自己不会遇到bug,我可以直播做任何事!所以,小白千万不要怕!有很多方法可以解决自己遇到的困难,网上百度,问别人都可以,实在没人问,简信找我(大神的问题我解决不了啊)。众多方法中,我觉得最有效的莫过于单步调试(专治bug,叫debug),当然代码可以debug的前提是没有语法错误,不过语法错很好发现。在自己觉得可能出问题的地方打个断点,然后一步一步地debug,跟踪一下每个变量是怎么变化的,很快就会定位到该死的B-U-G来自哪里。debug可是专杀bug的一大利器啊,务必掌握!
最后,祝所有想学编程的和正在学编程的早日从菜鸟蜕变为大神!