有关学编程的探讨

作者 Haojen Ma 日期 2016-07-21
有关学编程的探讨

友人对编程的印象和困惑

问:印象中,它太像数学,本科的学习,C语言的课时最长,考试往往是做题式,感觉有无穷多的经典例题等着我

答:在严谨性上的确和数学类似,但学编程需要的不是数学多厉害,而是需要逻辑和根据其代码语言规范的书写,我数学就不行,但依然可以写代码。我倒觉得学编程兴趣和坚持有一个探溯的心态比懂不懂数学更重要 : )

问:也有可能没有与周边的软件结合起来,光是运行C,只是得出一个数字结果,没有任何有趣之处

答:这个问题问得非常好,当所学却无法解决身边的问题或者说短期内能见到成效,的确非常打击学习兴趣。这也是我喜欢 HTML 前端的原因之一,不过刚学某一门新语言的基础的时候,真的无法避免不知道自己在干嘛的状态,这个时候你应该清楚的认识到:你是在为编写出产品级的 app 打基础,且需要你在宏观的角度上明白代码只是一种解释给机器运行的工具,而你正在学习这门工具语言。要想做出 app ,你首先需要搞明白它,其实跟我们小时候学习汉字是一样的,你想想看。

问:本科学了四年计算机,觉得学得够够的,毕业以后并不能用它来做一些自己想做的东西(也许是能力欠缺,只是跟着老师学,并没有自学的部分),因此没有成就感 答:我能想到的有两点,一:编程入门,很多人就被其一坨坨的代码瞎的不轻,再加上教学方式上再不够生动,也就更没兴趣接触编程了,另一方面是你可能没有真的学会,没有作品。但是一旦写出一些自己的东西来,逐渐你就开始有成就感形成良性循环了,万事开头难,一旦做出一个成熟的 app ,我相信你会爱上编程的感觉,尤其是配着咖啡 :)

问:本科的学习太欠缺,毕业之后觉得自己其实什么都不会,很多常见、简单的东西,我不会,例如CS,做个动画,剪辑视频,连局域网,自己做系统等等都觉得有困难

答:CS 你都会,红色警戒也没少玩儿吧?我不认为本科的学习后,你能掌握上述软件工具,正如你所说学校里兜售的只是很基础的东西(上述软件随便拿出一个来,都是吃饭的家伙,需要长年累月的学习积累呢)但实则非常重要,正所谓万变不离其宗。 有关这个问题,我认为是一个伪问题不成立。