从菜鸟到专家(转载Mark Lassoff & tcjiaan)

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

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

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

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

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

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

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

3.更进一步

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

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

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

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

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

5.让程序运行

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

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


和我的理念比起来,本文所说的只是一小部分。

我对自己的要求除了文章中说到的,还有:

1、兴趣广泛,哲学,艺术,武术,经济管理常识,各种知识相互渗透丁互优化;2、天人合一的编程哲学,回归自然;3、高手的境界是编程思想第一,高效开发的技巧第二,技术第三,写程序只不过是将我的思想翻译为可执行逻辑的过程罢了,不是核心,因此,思想与灵感很重要;4、拒绝任何公司的洗脑,打破定势,多套路多思路综合发挥,不局限于传统的模式;5、任何架构思想与设计模式都是纸上谈兵的,每一行业每种项目都是截然不同的开发模式,因此,我自创了OTC模式——对象->目标->控制,对象是对大型项目的单元分割,目标就是最后我的程序能干什么,控制就是在开发过程先做什么后做什么,如何安排。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值