为什么大学里要学习编程?

曾经有位同学问我一个问题:大学毕业还不会编程是很可怕的事情吗?

我的回答是:非常可怕!

随着云计算、大数据和人工智能等技术的快速发展,“效率”越来越成为人类关注的焦点。如何更快地计算,如何更快地数据处理,如何更快地做出决策,逐渐占据了科技行业的头条。

那有人要问了,对于非IT行业从业者,会不会编程又有什么关系呢?举个简单的例子,Excel软件基本每个行业都要用到吧,对于会使用Excel函数和VBA宏编程的同学来说,在效率上会高出不会编程同学的N倍。做事的效率的差距,慢慢地就转化成职位、薪水上的差距,然后回到我们开头的问题中,你说可怕不可怕?

有一次,一个刚开始学编程的朋友问我:我想快速学习编程,你有什么好的方法吗?

我上大学的时候读的也不是计算机类专业,编程也是纯自学。等到读研时,认识实验室的大神们之后,才发现之前是在用最困难的方式去学习编程,本来我完全可以用更快的速度去学习。在回顾过去两个阶段的学习过程后,我总结了这些年来关于如何自学编程的一些方法。

1. 读代码>写代码>改代码>debug 循环渐进

关于如何高效学习编程,我认为最重要的是在读代码、写代码和修改代码之间的循环渐进。

读代码(如看书,教程贴,项目源码)将帮助你查看解决方案,了解功能实现的基本方法,并大致了解项目框架和语法结构。

在完成上述过程后,你需要自己动手去写代码和改编别人的代码,可以是最简单的程序段,或者一个框架demo,但确保你能实现预期的功能,并用各种方式用上你读代码时学到的东西。有时候读代码觉得别人实现起来很容易,等到你自己动手时,你就会发现此过程需要很强的逻辑能力。

在改别人的项目源码时,我们有时候会遇到很多莫名其妙的问题,导致无法编译通过,这时候需要我们去一段一段,甚至逐行进行debug调试,这个过程比读代码更能掌握新知识。通过debug,你能掌握很多教程贴中或者书上根本没有说明的问题,通过分析和解决这些问题,完美编译通过,你的编程学习就能达到一个很高的效率。

读代码和写代码是从框架和宏观角度去认识一个项目,改代码和debug是从技术和细节上掌握一门语言,相互结合循序渐进,比你单纯把一本工具书从头翻到尾再去实践,要高效的多得多!

2. 遇到问题不要逃避,学会求助

很多人在卡住的时候,要么从头往后捋一遍问题出在哪,要么直接选择放弃了。其实很多问题在debug时都能看到具体的报错信息,关键就是如何把系统反馈给你的错误信息转化为解决问题的思路。

第一个办法就是上网查,一般你遇到的这个坑,90%的编程者都可能遇到过,所以很多时候都能直接找到解决方法,比如字符的强制转换问题,内存溢出的问题,数据库编码的问题等;然后有些棘手问题可能并不是有很多人遇到过,这些难题也可以在专业论坛和社区上发帖求助,很多论坛和社区版主都是技术大神的。

第二个办法就是找身边的大神求助。大神是怎么炼成的?大神一般都是通过不断刷怪练级成长起来的,对于他们而言,一方面比你们多更多的问题解决经验,另一方面在基础知识的运用上比你更加成熟。是想学好技术,还是脸皮薄不好意思问,随你挑咯~

3. 项目驱动性

在我的经验中,把学习当成一种兴趣还是一项工作来完成,会直接影响你学习的效率。用项目的驱动力来带动学习的过程,就成为了快速学习编程的一个方法。记得研究生期间,为了完成一个项目,一周内掌握Java的基本语法,一周后开始进入项目开发阶段,那段时间是我学习效率最高的时候。

项目与兴趣不一样,兴趣有的时候学一点,没兴趣的时候就放放,估计一放就再也拾不起来了;而项目有明确的项目计划,to do list和time table,这种驱动力去push你完成一项任务,往往能激发你的潜能。

所以,对于想快速学习编程的同学来说,首先可能给自己布置一个任务,然后把这个任务当成项目去完成。

4. 小结

其实学习的过程是一个逐渐完善的过程,从开始的一无所知,到过程中的越来越感觉自己无知,再到后面才慢慢理解和逐渐掌握,所以希望大家在学习的时候一定要沉得下心,耐得住寂寞,不要轻言放弃,否则死在了感觉自己越来越无知的过程,也是一件很痛苦的事情!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180715B0O1NO00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券