关于编程学习的一些思考!学编程真的很难吗?

很久以来,我一直都有这样一个困惑:

    ☞统计专业学习编程应该系统学习还是遇到问题再找答案

最近我才把这个问题彻底想清楚,而且这个问题的根源写在这里和大家分享一下。

关于编程学习的一些思考!学编程真的很难吗?

首先我来回答一下这个问题:

    ☑第一,其实系统学习和现查都是可以的,两条路径都可以成为大神,并没有哪条路径是捷径的说法,just do it!!

    ☑第二,无论哪一条路都是可行的,都取决于个人原因,前提是都需要“自律努力”!

       为什么是这个答案呢?因为编程语言掌握的好不好,完全在于你付出的时间多不多,会不会思考总结,而不在于你学习的途径。只有解决了足够多的报错,并进行总结归纳,你对这个编程语言才会有基本的直觉,这个直觉比任何显式的知识都重要,但却常常为人所忽略

关于编程学习的一些思考!学编程真的很难吗?

系统学习还是遇到问题再找答案,我相信这个困惑是比较普遍的

●●●●●●

       ★对于主张系统学习的人来说,他们没有掌握这个用法是不敢直接去做项目的,总会觉得心里没底,遇到什么bug解决不了怎么办,所以他们总会在做之前先对这个东西有一个比较系统的认识,我就是这样。

       但是这又会带来一个问题,那就是系统了解要花费大量的时间,而且学过的东西很容易忘记;最重要的是,即使系统学习过,做项目的时候还是会遇到之前没想过的问题。

       ★对于主张遇到问题再找答案的人来说,他们会遇到找不到答案的情况,当你在毫无了解的情况下,在搜索时有时连该输入什么关键词都不知道。还有一种情况是,明明有现成的方法,你却不知道,自己造*还造不出来,陷入绝望中。

       两种人都羡慕对方的优势,同时又畏惧按照对方那么做而产生的弊端,于是陷入迷茫。

       这时,我们如果能意识到下面这点,就不会有迷茫的感觉了。

       要想成为其他人眼中的编程高手,无论走哪一条路,都是行得通的,但是都有两个前提:要花费大量时间精力、要思考总结。

       相信更多的人会主张边做边查,所以先说这一点。我见过这样做成为大神的人,也见过因为这样而被一个小bug卡住半天的人,他们的区别在哪里?在编程上花的时间精力不一样,对编程的兴趣不一样。

▓▓大神遇到bug会搞清楚它产生的原因,保证以后不会再犯,每遇到一个bug都积累一次经验。甚至他们会通过这个问题思考出一些新的问题,完善这方面的知识体系,积土成山。长此以往,他们的知识体系也会非常完整,对待bug有自己的一套解决方案。

▓▓而小白则只要能跑出结果不报错就满足了,他们甚至不知道结果是不是自己想要的,更不会去深究、扩展这方面的技术细节。编程对他们来说是噩梦,没有bug就谢天谢地,无论做了多少项目,他们依然是小白(而且他们可能会逃避这种项目,做的也没有大神多)。

☀☼☀☼☀☼☀

▁▁我们可以看到,大神良性循环,小白恶性循环,逐渐走到两个极端。生活中的编程大神几乎不会问编程问题,而小白问的问题你只要百度一下就能帮他找到答案了。这是肯不肯思考总结的差别、肯不肯花时间精力的差距。所以只要肯思考总结花精力,边做边查的弊端是可以完美解决的。

▁▁在我们敲代码的时候,掌握的并不只是当前代码的知识,而且还有一些潜移默化的、你自己可能都没有意识到的收获。可以这么说,我们看教程、看帮助文档学习一个个函数、语法、数据类型的时候,收获最大的不是了解了这些东西,而是你写代码调试的过程。所以如果你只是在看,或者复制粘贴运行,冲着那些具体的“知识”去的,那就完全失去了这段时间学习的意义。

▁▁系统学习对于建立信仰非常有帮助,因为这个时候不像做项目有个截止时间催着你,你可以尽情享受各种报错和找答案的过程,逐渐培养自己的信仰。信仰也是一种直觉,是潜移默化的收获,也是我们在讨论竞争力时常常忽略的一点。但是获得信仰的前提也是要主动去查、主动去试,花费时间精力思考总结。

关于编程学习的一些思考!学编程真的很难吗?

总结

       看完上面的论述后,再回过头来看边做边查和系统学习的困惑,应该豁然开朗了。无论哪种方式,要想在编程方面达到很高的水平,都需要付出大量的精力,没有捷径可以走,只有一直在写代码,一直总结,才可以成为大神。区别只在于这个人是不是想成为大神了。

而边做边查和系统学习这两种学习方法则是因人而异,首先看你习惯哪一种,其次看你能不能接触到项目。

☾〇☽还有一个是知识分享的问题

       以我自己写博客的经历来看,写博客能极大促进自己思考,解决以往会回避的问题。因为我以前学习可能会糊弄自己,但是现在我不能糊弄读者,这应该算是一种责任。

       以前我看别人博客学习的方式是,跟着博客的思路学习那些函数、用法等;而且学了一篇我就觉得掌握了80%的东西,就认为自己已经掌握了。

       而现在我看别人的博客从来不跟着他的思路,我会按照自己要写的文章的思路进行学习。一个知识点我要写成一篇文章,需要进行下面这些步骤

☾1☽首先模棱两可的概念我需要查清楚了才能写下来

☾2☽然后我会思考关于这个知识点我曾经遇到过的所有有关的问题,全部列出来

☾3☽对于我列出来的点,可能有一些东西只是处于知道的层次我要查资料搞清楚

☾4☽然后关于这个知识点,我要看网上的文章都写了哪些东西,是否有一些我之前没有接触到的点

☾5☽整理好所有的点之后,我要排列先后顺序、组织哪些点放在一起讲、用什么样的示例等,还要用通俗易懂的语言讲出来。

————————▁▂▃▅▆

       可以看到,我通过写博客来掌握知识,就会力求掌握该领域100%的知识。这样做我很明显发现,我学过的东西真的没有那么容易忘记,而且复习起来很快,这应该也是跑那些困难的程序带来的信仰。

所以说写博客对自己编程水平的提升是非常显著的。当然,写那种复制粘贴官网代码,毫不重新组织思路的博客是没有什么帮助的。

我是一名从事了10年开发在退休边缘垂死挣扎的高龄程序员,最近我花了一些时间整理了一个完整的学习C语言、C++的路线,项目源码和工具。对于想学习C/C++的小伙伴而言,学习的氛围和志同道合的伙伴很重要,笔者推荐一个C语言/C++编程爱好者的聚集地> > >

欢迎初学和进阶中的小伙伴。希望你也能凭自己的努力,成为下一个优秀的程序员。工作需要、感兴趣、为了入行、转行需要学习C/C++的伙伴可以一起学习!” 

关注我,带你遨游代码世界!

下面这些是C/C++能做的 :

服务器开发工程师、人工智能、云计算工程师、信息安全(白客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等!