文档章节

从菜鸟到专家的五步编程语言学习法(转)

猎户座
 猎户座
发布于 2012/12/06 19:41
字数 1164
阅读 33
收藏 4
导读:Mark Lassoff是一位高级技术培训师,从事培训工作已有10余年。他培训的客户包括美国国防部、Lockheed Martin等。在多年的培训生涯中,他总结了些如何快速学习一门语言的技巧。

 

  我已经从事10年的技术培训工作,一直教人如何编程。这些人包括学生、已经走上工作岗位的开发人员。在多年的工作生涯中,我注意到一些正确/错误学习编程语言的方式,下面我分享一些正确学习语言的5种技巧,虽然它们看起来都很浅显,但只要你认真执行,绝对会有很大效果和提升。


 

  1.了解语言背后的“哲学”

  我在初次学习Java时,觉得它即冗长又存在不必要的复杂。那时,我还不是个经验的程序员,并且习惯使用C来编码。Java是一门伟大的语言,但我并不能体会其中的精华——甚至是它的用途,因为我无法理解Java的面向对象原理。

  后来,我在德克萨斯大学奥斯汀分校的Browne博士课堂上理解了面向对象方法,并采用它进行计算机科学编程。这对我更好地理解Java的核心思想以及编程方法起了非常大作用。

  如今已有成千上万个编程语言,不同的编程语言解决和优化不同类型的编程问题,并且在计算机系统中处于不同的级别。而你需要做的是了解你所学语言是什么、目标。理解是至关重要的,然后运用它来解决实际问题。

  2.亲自输入所有的代码实例

  话说,实践是检验真理的唯一标准。学习一门语言,除了知道其中的原理外,最快的学习方法莫过于实践,编写代码,远远大于读书或看视频所产生的效果。输入代码并且让它们运行起来是学习一门语言至关重要的一步。即使你对该们语言是完全陌生的,在编写的时候你也会发现它们的语法结构,渐渐明白其中的含义。

  在编写的过程中,你肯定会犯错,发现错误并纠正它,这个过程也是不可忽视的,错误越多,你就会花更多的心思研究,这样理解就会越加深刻。

  3.更进一步

  无论是做实验还是练习,都尝试着更进一步地了解与学习。经常这样做将会给你带来无穷的收获,驱使你不断查阅所学语言相关资料。这样做有两大优势:第一,学习该语言的文档结构并熟悉它;第二,加深概念,帮你解决一些细小问题。

  例如,你正在听一堂学习如何使用HTML5和JavaScript制作音频的课,那么你应该进一步问问自己:“该如何控制音量呢?”解决这个问题后,你就可以更加深入的掌握代码。

  4.通过许多小例子学习——而不是大项目

  在多年的培训中,我一直把重点放在客户端的网络语言上,比如Java以及后来的移动开发。在课堂上,每节课都会有相应的课件,每个课件都会演示些例子,最后把这些例子组合成一个项目。在早期常会犯这样的错误,没有进行相互隔离。

  其实,采用隔离的方式学习各种语言技能是很重要的。比起学习个人技能,集成是个更复杂的过程。在你对一门语言有了坚实的基础后,集成确实是最好的学习方式,否则很有可能会混淆概念。

  5.让程序运行

  一定要让程序跑起来。即使出现多个bug,也要认真调试,直到能够正确运行。想要打开一扇门,则必须要关闭一扇门。当你学习一门新的语言技能时,肯定希望以后能有较高的技能水平。有时,你很容易放弃或者跳过某个小缺陷,使该问题一直处于悬而未决的状态——这样做很危险。

  除此之外,没有比这个更兴奋的事情了——第一次看到自己编写的应用程序跑起来。

本文转载自:

猎户座
粉丝 4
博文 1
码字总数 0
作品 0
深圳
程序员
私信 提问
快看|程序员的大脑有什么不同?

版权声明:本文为北京尚学堂原创文章,未经允许不得转载。 21世纪是程序员的世纪。对程序员的需求比大部分岗位的需求都要高。那么程序员需要掌握哪些技能呢?程序员的大脑跟一般人有什么不同...

SXTkaifa
2016/10/26
16
0
AngularJS学习七步

七步从Angular.JS菜鸟到专家(1):如何开始 七步从Angular.JS菜鸟到专家(2):Scopes 七步从Angular.JS菜鸟到专家(3):数据绑定和AJAX 七步从AngularJS菜鸟到专家(4和5):指令和表达式...

孟飞阳
2016/07/31
65
0
IT人的学习方法论-1 学习的方向

/*---------------------------------------- 本系列共7篇文章,目前已经完成如下内容: IT人的学习方法论-1,讨论学习的方向 IT人的学习方法论-2,讨论学习的误区 IT人的学习方法论-3,讨论...

yongyu2000
2009/10/08
0
0
朋友问我,你都30岁了学编程来得及吗

导语:“种一颗树最好的时间是十年前,其次是现在”。 去年,A君看我跟一堆代码较劲的时候,忍不住问我:你都30岁了,学编程来得及吗? 我想了半天,最后用了一句知乎上面看到的话来回答:种...

W3Cschool
2018/06/13
0
0
我的Java学习之路

   将近两个月的时间没有更新过博客了,这个东西还是不能断,以后要坚持按时更新。这段时间主要在学习Java编程方面的知识,之前自己主要是通过C++来做图像,技多不压身,学习了一个月,...

u013088062
2016/06/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java常见异常处理

异常是Java程序中经常遇到的问题,一个异常就是一个Bug,就要花很多时间来定位异常。 Java异常 (1)Throwable是Java异常的顶级类,所有的异常都继承于这个类。 (2)Error,Exception是异常...

daxiongdi
18分钟前
2
0
Validator 常用注解

说明 Validator主要是校验用户提交的数据的合理性的,比如是否为空了,密码长度是否大于6位,是否是纯数字的,等等。那么在spring boot怎么使用这么强大的校验框架呢。 常用 [@null](https:...

五彩的颜色
26分钟前
2
0
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。

#1 先把入栈顺序的第一数据入栈, #2 if 入栈的数据==等于出栈的数据,就循环一次看是否新建的栈的数据是否出栈 #3 返回新建的栈是否为空,就是要的结果 public class Solution { public boo...

winkwink
32分钟前
1
0
《JAVA核心知识》学习笔记 (19. 数据库)

19.1.1. 存储引擎 19.1.1.1. 概念 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、 更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧...

Shingfi
38分钟前
4
0
三分钟手操自己的yum源

本文章原创首发公众号:编程三分钟 上次就想手操yum源了,考虑到有的朋友没接触过,直接写成了yum源的科普,活活憋了我一个星期,现在我们快快开始。 什么情况下我们需要搭建一个仓库呢? 记...

编程三分钟
42分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部