[转载]学习Java,是一条漫长的道路——蔡学镛

原创 2006年06月22日 07:19:00
 

我在Java 1.0正式问世前就开始学习Java,这么多年过去了,到现在我的Java学习历程还没有停过。我阅读原文书,研究原始码,撰写程序,自认为走得扎实,不奢望一步登天。像我这样老式的学习方式,显然和现在的快餐主义背道而驰。从许多读者的来信和学生的反应中,我发现大多数的人对于Java的学习历程都差不多是:因为公司需要使用Java来进行服务器的计画,所以急急忙忙地学习Java语言,然后就开始使用J2EEAPI,开始写起程序来了。如此急就章的学习方式,程序员基础能力根本就不够,对于对象导向精髓不能掌握,对于Java语言内部的运作机制毫无所悉,对API的整体连贯性懵懵懂懂。

当然,我们也不好因此责怪程序员,毕竟软件技术变动得太快。公司不可能给程序员足够的训练之后才开始做计画。程序员一下子被指派使用A技术,还没弄懂A技术是怎么回事,又被指派使用B技术,而且都是缝缝补补的方式边学边用,每次都像是全新的开始,遑论技术能量的累积。

我很庆幸的是,我不太有这样的困扰。因为我是资讯工程系出身(而且我大学时上课一向很认真),所以理论基础稳固,学习新技术对我来说不是难事。我就读大学时,周遭许多同学都瞧不起数据结构、程序语言、操作系统这些所谓「学院派」的课程,以为这些课程一点都不实用。他们认为到了外面公司,这些信息科系所学的一切都派不上用场,「只要会Visual Basic和数据库就够了」。这种偏差的心态,恐怕会使得他们在知识经济时代吃足了苦头。

另外还有一派同学很瞧不起程序设计工作,他们告诉我,像我这样会写程序的人,未来进了社会「还不是被他们这些走管理的人踩在脚下」。所以,他们很轻忽理工课程的学习,甚至还有人相当热衷「成功学」,认为这是迈向成功的快捷方式,却因此把学校的课业弃之不顾。我不敢相信有人竟然如此地本末倒置。

前一类的人太过于短视近利,后一类的人太过于好高骛远。我一直很不能理解这些人的想法为什么会这样,或许是因为社会环境的风气使然。我很庆幸我到目前还没被社会的大染缸给玷污了(最好这辈子都不要)。我不认为我的学习方式是一种典范,但是一路走来,倒也颇有进展。许多读者来信问我的学习历程,虽然我个人的学习方式不见得适用于每个人,但或许还有一些参考价值(特别是对于那些有志进入信息行业的年轻学子),我想透过本文简短地叙述一下。

我一向是采用先深后广(也称为Bottom-UpDeep-First)的学习方式。比方说,当我在学A技术的时候,学到一半发现需要B技术的基础,我会到书局找出一两本B技术的书,然后把A先搁着,开始看起B技术的书。甚至,我在技术书籍上看到不太熟悉的英文句构时,我会找出一本英文文法书详细读过。这种先深后广的学习方式,适合学生时代全面地自我能力提升,但不适合业界人士。试想,老板要你开发的ERP系统已经延迟了,你怎有空研究J2EE原文书中的英文文法。先深后广的好处是,学习很扎实;缺点是有时候会偏离主题太多。有一次我发现我原本是要学某软件技术,几次「先深后广」下来,我居然看起老子的道德经了。

在技术上,我一直都是一个喜新厌旧的人,很少有软件技术能让我持续研究半年以上,我几乎每隔几个月就要换一次领域。Java 能让我持续这么久,也正是因为Java的领域广。透过Java,我的技术视野变开阔了。这些年来,我换过的 Java 相关领域包括了:虚拟机器、数据库、企业运算、多媒体、2D/3D图学、网络...

我的学习完全是兴趣导向的,所以压力并不大。因为有兴趣,所以我会很想充分理解一切细节。又因为理解,所以许多原本片片断断的知识都可以渐渐互相融会贯通,累积技术能量,理论和实务之间的藩篱被打破了,学习效率倍增。

我多年来的学习触觉很敏锐,我常常会抢先一步学好有前瞻性的技术。比方说,Java还在beta时、UML还在0.8时、XML还在draft时,我都已经透过网络下载技术文件回来每天抱着猛读了。而在JavaUMLXML当红之后,我已经差不多把这些技术都摸熟了。

至于该学什么技术,我的判断方式是以技术的优劣来决定。优秀而有独到之处的技术是我的最爱,虽然这类的技术不见得会在市场上胜出,但学习这些技术所得到的启发,对于技术能量的累积与能力的提升会有相当大的助益。至于技术差,但市场需求甚殷者,我还是懒得碰。(好吧!我承认我曾因为市场需求的缘故而学过MFC。越清楚MFC的技术细节,越是讨厌它,这真是个不堪回首的经验。)

我通常只看英文技术资料,毕竟大部分第一手的技术信息都是以英文来传播。所以我很早就开始阅读英文技术资料。读英文技术资料的好处是,就算没有学到书中的专业知识,至少也累积培养了英文阅读能力,我一直都是抱着这样的态度。一开始是正襟危坐的看英文技术书籍,字典、翻译机随侍在侧;几年下来,现在是躺着看、趴着看、很随性地看英文技术书籍,因为看英文技术书籍变成一种习惯了。现在,我可以用很快的速度吸收英文技术书籍的知识(有人叫我「吃书的机器」,我把这称号当作是一种恭维)。 

近年来,我花在写程序的时间不多,因为时间对我来说很宝贵,而写程序很浪费时间。对初学者来说,大量地写程序是必要的,但过了某个阶段之后,写程序所带来的技术能力成长已经到了极限,还不如多花一点时间看书,学新技术和新观念。 

我从国小时期开始学习写程序,迄今已有近十八年的时间;采取上述的方式密集学习,迄今也有近十年的光景。迩来数年,我接触的领域越来越广,而且学习速度正在加快,我认为是以前那些努力植下的根苗开始成长了。看看现在的我,或许你会觉得羡慕,但回顾这段学习的岁月,何尝不是一条漫长的道路。

相关文章推荐

JAVA学习,是一条漫长的道路

  • 2011年09月21日 19:40
  • 6KB
  • 下载

JAVA学习,是一条漫长的道路(转)

我在Java 1.0正式问世前就开始学习Java,这么多年过去了,到现在我的Java学习历程还没有停过。我阅读原文书,研究原始码,撰写程序,自认为走得扎实,不奢望一步登天。像我这样老式的学习方式,显然...
  • zaqiao
  • zaqiao
  • 2011年03月29日 20:54
  • 448

java蔡学镛的文章

  • 2007年10月08日 17:21
  • 187KB
  • 下载

如何进入程序设计的领域 (转自蔡学镛老师的一篇文章)

工作已经一年多了,回想过去的一年,感慨颇多;迷茫过,沮丧过,悔恨过,不过很幸运的是没有放弃,下面转载一篇蔡学镛老师之前写过的一篇关于编程的文章,为前路指明方向,以此鞭笞自己。 本文作者:蔡学...
  • yhawaii
  • yhawaii
  • 2012年08月29日 13:12
  • 3005

采访:蔡学镛谈复杂事务处理(CEP)

蔡学镛,台湾清华大学硕士,曾任程序员、技术经理、技术总监。除了将技术知识用于软件开发相关的工作之外,他也担任过培训班讲师、研讨会讲师、技术图书翻译与编辑、技术专栏作家等工作。他撰写的《Java夜未眠》...
  • wxzfox
  • wxzfox
  • 2011年03月31日 17:18
  • 651

SDCC讲师专访:创新工场蔡学镛为何看好Dart

CSDN年度技术盛宴2012 SDCC中国软件开发者大会将于2012年9月8日-9日在北京 • 国家会议中心举行。软件研发频道将采访一些与会讲师,谈谈他们将在会上分享的内容。 本期我们采访的讲师...

技术讲座:蔡学镛之架构师相关培训

今天上午去听了蔡学镛的架构师培训,PPT的题目没认真看,给忘了~ 在昨天下午通知前,我对蔡学镛那是一丁点儿都不了解,下面是我搜索到的一些他个人资料~,现场来看,人确实很年轻。 蔡学镛,担任过创新工场首...
  • Linoi
  • Linoi
  • 2014年07月19日 13:22
  • 2049

蔡学镛软件架构入门

  • 2017年06月29日 22:59
  • 3.49MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[转载]学习Java,是一条漫长的道路——蔡学镛
举报原因:
原因补充:

(最多只允许输入30个字)