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

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

时间: 欣怡1112 分享

  编程语言种类繁多,用途各异,然而一旦掌握其中之一,其他的也就迎刃而解。那么如何才能高效的学习编程语言?以下是学习啦小编分享给大家的高效的学习编程语言的方法,希望可以帮到你!

  高效的学习编程语言的方法

  1、确定目标

  Learn a Programming Language Step 1 Version 2.jpg

  学习编程语言既充满乐趣,又充满挑战。有些花费多年时间学习一门编程语言的大学生到最后也无法确定自己的方向到底是什么,所以,在你开始前,最好先想清楚,你是想成为一名程序员,还是游戏开发者,还是机器人专家?

  2、选择一种编程语言

  Learn a Programming Language Step 2 Version 2.jpg

  初学者一定要从主流语言开始学习,比如中级语言C和C++。这两种语言是任何一名合格、专业的程序员都必须掌握的,因为它们称得上是软件开发界的主流。但是最好不要从高级语言开始学,如Java,因为这些语言对于初学者来说难度未免太高(高级语言可以以后再学,但是C语言和C++应该作为你的基础)。然而对于完完全全的门外汉的来说,可能C和C++都有点困难,那么你也可以从Python开始学,这种语言被大家广泛认为是适合初学者的。

  此外,每一种语言都要学习至少一年。要熟悉编程范式,尤其是面向过程及面向对象这两种;要广泛阅读,多用编译器及IDE(网上有许多免费的)练习编程。

  掌握一种语言后,先不要急着运用,而要去多买些数据结构方面的书来看,学习搜索、分类、二叉树及链表创建等概念。因为无论你是要制作游戏还是开发软件,数据结构都是必须要考虑的。

  随后,你就可以开始学习更加高难度的语言,如Java。对于进阶学习者来说,可能还需要学习分而治之(Devide-and-conquer)、贪婪算法(Greedy Method)及回溯(Backtracking)等计算机算法,这又要花上至少一年的时间。

  3、热爱数学

  Learn a Programming Language Step 3 Version 2.jpg

  许多人都由于这样那样的原因而对数学颇不感冒,而作为一名优秀的程序员,却要整天与一箩筐的数学问题打交道。正如你所见,学编程真的是说起来容易做起来难,而它的难并不在于你对一种语言的了解程度,而在于这种语言牵扯到的数学问题。编程中的大多数问题都能在数学模型(如斐波那契数列、弗洛伊德算法、傅立叶级数等等)中找到端倪,更不用说数学公式在解决编程问题中的广泛应用了。所以,现在开始,去学习各种公式及其特性吧,还要仔细钻研算术及微积分,因为不懂数学,就好比巧妇难为无米之炊。

  4、要保持内在的动力

  Learn a Programming Language Step 4 Version 3.jpg

  记住,罗马建成非一日之功,所以不要在短时间里给自己填压太多知识。学习编程语言并不容易,因为这是一门需要时常调用逻辑思维的知识。你要做的,就是理解程序背后的逻辑,然后不断练习,直到熟能生巧为止。如果你只是死记硬背一些程序,那么你就错过了学习过程中的乐趣,而且一些概念你也未必真的理解。所以,学习编程需要不断地挑战自己,但也不要操之过急。

  5、要有耐心

  Learn a Programming Language Step 5 Version 3.jpg

  有时,即使是卓有成就的程序员也会被简单的小问题难住,所以,遇到问题时,一定要让自己放松下来。找张草稿纸,想想有什么现成的公式可用,或者自己想一个公式出来。你看,这就是你为什么要学习数据结构和数学。在成为熟练的程序员以前,一个人往往需要花费大把的时间来构思用于解决特定问题的程序。这一过程中,你可以去Project Euler或者Codecademy这样的网站上看看,上面有简单的编程作业及教程,可以用以练习并提高技能。

  6、绝不轻言放弃

  Learn a Programming Language Step 6 Version 2.jpg

  如果你在编程过程中经常粗心犯错,那么整个过程就会变成一场旷日持久的折磨,然而一旦问题解决,所有的沮丧都会烟消云散。在学习各种算法(傅立叶级数、向量、边界问题、线性代数、矩阵)的同时,也要注意休息。在解决特别复杂的问题时,要按时放松大脑,让困扰在心头的难题暂时转移到潜意识中。另外要有合理的工作计划,当你编程编到倦怠的时候,就可以小憩一会儿,或者出去散一会儿步,但是永远不要说放弃。

  高效的学习编程语言的建议

  明确目的,外部模型,内部型型

  任何时候你学习使用新工具,明确学习的目的,外部模型和内部模型都是十分有用的。

  当你了解了工具的目的时,你的大脑会加载有用的上下文细节,使你更容易吸收新知识。这就好比拼图:当你看到完整拼图之后,更容易把各部件拼到一起。这个道理适用于语言本身及及语言库。

  工具的外部模型就是它呈现出来的接口以及它想让你思考问题解决的方式。Clojure 的外部模型就是一个Lisp,它想让你把编程当做大部分以数据为中心,不可变的转换过程。Ansible 希望你把服务器的整备工作想成定义最终状态,而不是定义抵达那种状态所要采取的步骤。

  工具的内部模型就是如何将输入到其接口转换成一些底层的抽象。Clojure 把 Lisp 转换成 JVM 的字节码。Ansible 把任务定义转换成了 shell 命令。在一个理想国中,你不需要理解工具的内部模型,但事实上,理解内部模型总是有用的,因为在某些看上去迷惑或者矛盾的部分它可以让你有个一致的视图。举个例子,当 DNA 双螺旋模型被发现的时候,它帮助科学家们了解更高级的现象。从我的角度来讲,当然,这篇博文也是历来所有伟大科学成就之一。

  很多教程经常混淆工具的外部和内部模型,使学习者感到困惑。意识到这点可以帮你轻松辨别何时你会感到沮丧。

  间隔重复帮助记忆

  间隔重复被证明是长期记忆中新信息编码的最佳方法之一。 这个想法是以不断增加的时间间隔来测验自己,以使用最少重复次数最小化记忆衰减。 卫报写了一篇很好的介绍性文章。

  睡眠和练习

  保重身体!身体可不仅仅是你脑袋的载体。如果你想保持专注和高效的学习,就要足够的睡眠和练习,而不是(beats the pants off)狂饮咖啡因和能量饮料。

  学习编程语言的误区

  误区1:啃完几本书,就能系统的学会编程了

  是什么让你相信买一本书就能学会编程?是幻觉。

  编程方面的书一般挺厚的,拿在手里,感觉知识沉甸甸的,翻开一看,感觉讲的很系统很详细。你会觉得自己已经下定决心要学好编程了。但你绝对不会读完超过五章的内容。

  不是因为你太懒惰,而是因为刚开始学习就深入到细枝末节中并不是一个好的选择,练习是学习一门技能最重要的环节,而如果不上手练习,你会把书里教的知识忘得一干二净。

  误区2:先学别的语言做铺垫,再学你想学的语言

  总有人会告诉你,「打好基础很重要,你得先学 C 语言。」

  或者是,「直接学编程语言太难了,你可以先学 Scratch 培养感觉。」

  这简直是人为加长学习路径。

  误区3:看着源码学编程,对着敲一遍

  这种观点说,github 上不是有很多好的开源项目嘛,你照着敲一遍代码,然后就能领悟了。

  这应该是受了应试教育时背课文的迫害吧……对于初学者,这样学习效率太低了,因为每一行你都看不懂,而且没有思考的模仿只是机械运动而已,除了提升打字速度应该不会有其他任何效果。

  好了,说了这么多误区,那么对的是什么呢?如果你学习编程是为了做出点东西出来,而不是为了做科研去研究各种编程语言语法之间的细微差异,那么上手做项目是最快的学习路径。

  但是,如果没有选择正确的学习方法,这其中的痛苦,足以让一个初学者没办法坚持下去。编程是即时反馈的,当你学其他技能,不会有人对着你大喊「你错了!」,但是程序会向你持续报错。而当你尝试了几小时,用了各种方法,程序却在说,「你还是错的!」,你会很沮丧甚至很愤怒。

  那么,从写出第一句 hello world,到能上手做一个真实的项目,到底需要怎么学?

  结合了学习的认知模型,我们总结了一套适用于初学者的编程学习方法,也是实战课程体系的核心思路:

  1、循序渐进:把一个真实项目拆解成若干阶段,分阶段学习、练习,逐渐提升难度

  2、杠杆知识:学习和项目最相关的核心知识,借用能提升开发效率的工具框架,让最少的投入获得最大的杠杆产出

  3、建立连接:人脑是通过突触相连接的,学习的过程就是在强化已有的连接,建立新的连接。而根据已经掌握的知识点拓展、用生活中的例子去类比,能让你更快的学会。

  4、持续反馈:通过老师或者是搜索,掌握独立解决排错的方法,最终掌握自学的方法。

  当然,这些只是很简要的概述,想要真正应用这套方法去制定自己的学习计划,需要一个系列连载来详细介绍具体的执行方法才行。掌握这套学习方法之后,你可以根据自己的情况去选择适合自己目标的学习材料,从而少走弯路。

猜你喜欢:

1.如何才能快速的学习编程技术

2.c语言学习心得6篇

3.有效学习的十大方法

4.编程语言用什么方法学习

5.设计编程需要什么语言

3749425