学习啦>学习方法>通用学习方法>学习经验>

如何才能有效的学习编程语言

时间: 欣怡1112 分享

  学习编程语言需要的一种技巧与方法,只有找到了学习方法才能更快速的学习。以下是学习啦小编分享给大家的有效的学习编程语言的方法,希望可以帮到你!

  有效的学习编程语言的方法一

  持续测试自己以抵抗胜任力错觉

  最不济的学习方法中的一种就是重读或者重看材料。这种重复会给你一种感觉——似乎不用花什么气力,你就理解了话题所涵盖的内容。研究者们把这种现象称作胜任力错觉。

  更好的一种方式(你可以掌握的最佳技巧之一)则是持续地测试自己。不要重读一个函数、类或者一个对象是什么,而是让自己定义这些概念或者把它们用到短小的程序当中——强迫你用某种方式显示自己的理解。这一过程常常很不舒服的,但是对形成长期记忆非常有效。更进一步,你可以在阅读材料之前先去行测试,举个例子,尝试在阅读一个章节之前做做练习。值得一提的是,这也被证明有助于记忆的形成。

  测试对于学习的显著影响被称为测试效用,下面是一些具体方法可以利用:

  在阅读章节或者看视频之前,尝试猜测你将要学习的东西,并写下来。

  在阅读章节之前先做做这个章节的练习题。

  一直做练习,即使是最难的那些。暂时(永远)放弃一个练习也是可以的,不过至少要尝试一遍。(下个章节会详细谈到)

  阅读短小的程序并且尝试不看源码重新写一个。或者,再小一些,写个函数也行。

  在学习了对象、类、方法或者高阶函数等新概念之后,立即编码做示例。

  创建阐述这些概念的图示,以及这些概念之间的区别和联系。

  把你刚刚学到的概念写成博客。

  尝试把概念解释给非技术的朋友听。(在写《Clojure for Brave and True》的时候,我常常这么干。这样能够以外行的话阐述一个想法,进而迫使你深入理解想法本身。)

  这些技巧的大部分都要规约到编写代码上!说到编程,由于程序都是重文本和概念性的,所以很容易以为我们仅仅通过阅读(代码)就在学习。但同时它也是一门手艺,就像其它手艺一样你得操练才能娴熟。编码是露露你对程序作有错误假设的最佳方式。你越快地这么做,就会越快地纠正错误和提升技能。

  如果你想了解更多测试效应的事情,敬请查看坚持:成功学习的科学(make it stick: The Science of Successful Learning)。

  有效的学习编程语言的方法二

  花时间放空自己

  如果你纠结在一个问题上,或者对刚才读到的东西不能理解,就去散散步甚或洗个澡 —— 只要能进入一种舒缓、放空的状态就行。解除障碍的最佳方式之一就是歇一会儿,这可能听上去有点反直觉,但确实如此。

  问题是,当全神贯注解决问题时,我们很容易陷入思维障碍(mental blinder)。我的意思是,这差不多就是“关注”(字面上)的意思。不过,全神贯注会导致我们只能一直探索解决方案空间的一小部分。一旦放空,我们的潜意识就可以探索并联结我们经验中的广泛领域。

  对我来说,这就像当你试图在纸质地图上找到一个目的地(是否还记得吗?)。你不用刻意就确信你想抵达的城市应该就在这里!在地图的左上角的区域,所以你看了一遍又一遍,都没有成功。然后你放下地图,做了深呼吸并让目光游离了一会儿。当你重新看地图时,确切的地点立马映入眼帘。

  我们曾经都有过这样的经验,在洗澡的时候突发灵感。现在你对于为什么这么做有了更好的了解,那么也就能刻意地使用这个技巧。个人来讲,如果纠结住某事,我真的会洗个澡,这个技巧的功效显著,而且我是多么干净(注:洗澡这件事)。

  如果你想多学一些关于思考的关注和分散模式,敬请查看A Mind for Numbers: How to Excel at Math and Science (Even If You FLunked Algebra)

  有效的学习编程语言的方法三

  别浪费时间沮丧

  和上一个章节相关:别浪费时间为代码沮丧了。沮丧会让我们做一些愚蠢的事情,比如重新编译或者重刷浏览器,期望这次会有所不同。

  把沮丧看作你的知识有差距的信号。一旦你意识到自己沮丧了,它可以帮你后退一步,清晰地识别问题。如果你写的代码不起作用,坦率地向自己或者别人说明你期望的结果。使用科学的方法,就非预期行为的根因提出一个假说。然后测试你的假说。再次试验后,如果依然解决不了,就把这个问题放到一边,待会儿回来。

  在一些似乎没法解决的问题上,我不知有多少次恼怒地扔掉了自己的笔记本电脑。隔天再看,一个显而易见的解决方案立马跳入脑海。甚至上周就发生过。

  有效的学习编程语言的方法四

  确认你正在处理语言的哪个方面

  个人观点,我觉得记住这些是有用的——当学习一门编程语言的时候,你实际上正在学四件事情。

  怎么写代码:语法、语义以及资源管理

  语言的范式:面向对象,函数式,逻辑等

  产物的生态圈:如何构建、运行可执行文件以及如何使用库

  工具:编辑器,编译器,调试器,代码质量检测器(linter)

  这四项很容易搞混,不幸的结果是,当你遇到问题最终完全找错了地方。

  举个例子,某些完全的编程新手,可能准备开始构建iOS应用。他们可能会试着让自己的应用运行在朋友的手机上,只能看到有关需要开发人员证书或其他信息的消息。这是产物生态圈的一部分,不过小白可能将此视为编写代码的问题。他们可能会浏览自己写的每行代码来尝试解决问题,尽管问题和代码没有半毛钱关系。

  如果我系统地处理这些方面,我会发现学习一种语言会更加容易。我将在其它的博客文章中罗列一些待回答的宽泛问题的列表,应该能帮助你学习任何语言。

猜你喜欢:

1.程序设计基础学习心得体会

2.c语言学习心得6篇

3.学习编程的时间以及方法

4.程序员学习工作计划

5.程序员学习心得体会

3749424