不要只是空谈技术,大一的编程新手如何提高编程能力?
编程学习,就像是跳进一个又大又深的游泳池,你既要有潜游的勇气,也得掌握浮在水面的技巧。
年年都有成群的新生,跟你一样,怀着憧憬踏入大学的大门,结果却是一门C语言让人头疼。学校分发的C语言书籍,可能连纸张质量都让人提不起兴趣,老师在课堂上念PPT,讲些浮点型啊,内存分配啊,你要是认真听了,也许能懂一些;要是玩手机了,那就啥也没捞着。结果就是,不管你懂没懂,写起代码来总是一脸懵。一些同学可能会觉得自己不适合这行,想要转专业;有的人则是觉得书不好,跑去书店买了一大堆书,最后那些书只能当做摆设。
我想说,这个问题要具体分析。计算机这东西,应该怎么学才能既省心又高效呢?如果是学物理,我会建议你按照物理学的发展顺序学,从牛顿的经典物理学开始,一步一步往后走。但计算机,真的适合这么学吗?比如说,先弄懂电路,再来搭个冯诺依曼结构的计算机,然后学汇编语言,再学写操作系统,最后再上升到高级语言编程。这路子走下来,不是一般人能承受的。
其实,学计算机最好是反过来,从上往下学。有人会说,C语言已经够高级了,从这学起就好。但要是我来教,我第一节课肯定不教C语言,我会先教你们怎么用Github,怎么用Stackoverflow,让你们知道全球的程序员是怎么协作的。我还会教你们用云服务,教你们用Visual Studio Code,而不是那种老掉牙的VC6。如果可能的话,我还会教你们习惯英文编程环境,用Google而不是百度。
你可能会听到有人说,“这些东西还用教?”但我觉得,有时候,一点点的指导就能让人走上正轨。国内的计算机专业的学生,真的挺不容易的。现在VScode越来越好用,但很多人还在用那古老的VC6。你用百度,连stackoverflow都找不到。你去问问,有多少大一的学生没上过stackoverflow,不知道github是怎么回事。他们的视野打不开,学什么都难。
有人会说,如果一开始就学了Python这样的简单语言,以后遇到C语言不是得吓跑了?其实不是这样。当你发现Python有性能问题的时候,你才会去了解,为什么C语言会更快,为什么要学C。当你接触到“原子性”、“同步”、“异步”、“线程”、“进程”、“内存分配”这些概念的时候,你会产生很多疑问,然后去学操作系统,这个过程很有趣。
我希望大家能明白,说“我会什么”其实没什么用。你说你会Java,Python,C,然后呢?你怎么证明?写个hello world?但如果你说你是某个著名项目的作者,那就真的很厉害了,也不需要证明什么了。
总之,我希望大家不要只是空谈技术,而是真正去做些什么。有了实际的经验和作品,那才是最有说服力的。关于3D游戏开发/游戏虚拟引擎/游戏美术/游戏建模/动漫CG/开发相关等。V我都在线 betabot2