Java 学习之路:不走弯路,就是捷径
0.引言
软件开发之路是充满荆棘与挑战之路,也是充满希望之路。Java 学习也是如此,没有捷径可走。梦想像
《天龙八部》中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的。每天仰天大叫"天神
啊,请赐给我一本葵花宝典吧",殊不知即使你获得了葵花宝典,除了受自宫其身之苦外,你也不一定成
得了"东方不败",倒是成"西方失败"的几率高一点。
"不走弯路,就是捷径",佛经说的不无道理。
1.如何学习程序设计?
Java 是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于 Java,对 C++等其他程序
设计语言也一样管用。有编程高手认为,Java 也好 C 也好没什么分别,拿来就用。为什么他们能达到如
此境界?我想是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通。如何学习
程序设计理所当然也有许多共通的地方。
1.1 培养兴趣
兴趣是能够让你坚持下去的动力。如果只是把写程序作为谋生的手段的话,你会活的很累,也太对不起
自己了。多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,但人要是没有了梦想,你觉得有
味道吗?可能像许多深圳本地农民一样,打打麻将,喝喝功夫茶,拜拜财神爷;每个月就有几万十几万
甚至更多的进帐,凭空多出个"食利阶层"。你认为,这样有味道吗?有空多到一些程序员论坛转转,你
会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。
1.2 慎选程序设计语言
男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要谨慎对待。软件开发不仅仅是掌握一门编程语
言了事,它还需要其他很多方面的背景知识。软件开发也不仅仅局限于某几个领域,而是已经渗透到了
各行各业几乎每一个角落。
如果你对硬件比较感兴趣,你可以学习 C 语言/汇编语言,进入硬件开发领域。如果你对电信的行业知识
及网络比较熟悉,你可以在 C/C++等之上多花时间,以期进入电信软件开发领域。如果你对操作系统比
较熟悉,你可以学习 C/Linux 等等,为 Linux 内核开发/驱动程序开发/嵌入式开发打基础。
如果你想介入到应用范围最广泛的应用软件开发(包括电子商务电子政务系统)的话,你可以选择
J2EE 或.NET,甚至 LAMP 组合。每个领域要求的背景知识不一样。做应用软件需要对数据库等很熟悉。
总之,你需要根据自己的特点来选择合适你的编程语言。
1.3 要脚踏实地,快餐式的学习不可取
先分享一个故事。
有一个小朋友,他很喜欢研究生物学,很想知道那些蝴蝶如何从蛹壳里出来,变成蝴蝶便会飞。有一次,
他走到草原上面看见一个蛹,便取了回家,然后看着,过了几天以后,这个蛹出了一条裂痕,看见里面
的蝴蝶开始挣扎,想抓破蛹壳飞出来。 这个过程达数小时之久,蝴蝶在蛹里面很辛苦地拼命挣扎,怎么
也没法子走出来。这个小孩看着看着不忍心,就想不如让我帮帮它吧,便随手拿起剪刀在蛹上剪开,使
蝴蝶破蛹而出。 但蝴蝶出来以后,因为翅膀不够力,变得很臃肿,飞不起来。
这个故事给我们的启示是:欲速则不达。
浮躁是现代人最普遍的心态,能怪谁?也许是贫穷落后了这么多年的缘故,就像当年的大跃进一样,都
想大步跨入***主义社会。现在的软件公司、客户、政府、学校、培训机构等等到处弥漫着浮躁之气。就
拿我比较熟悉的大连大工 IT 职业培训来说吧,居然打广告宣称"20 多年的计算机职业教育,辽宁省十佳
学校",殊不知中国计算机发展才几年,软件发展才几年,居然去报名的学生不少,简直是藐视天下程序
员。培训出来的“程序员”大多不知道 OO,OP 为何物?社会环境如是,我们不能改变,只能改变自己,闹
市中的安宁,弥足珍贵。许多初学者 C++/Java 没开始学,立马使用 VC/JBuilder,会使用 VC/JBuilder 开
发一个 Hello World 程序,就忙不迭的向世界宣告,"我会软件开发了",简历上也大言不惭地写上"精通