編程的術與道之辯

 

新版三國上映好長時間了,,但是一直由於種種原因沒能得看,作爲一個三國迷不可不謂之遺憾也,真好這學期事情挺少,於是乎在學校的ftp站點上下下來(學校的網速真是相當給力啊),總體來說拍的還不錯,,陸毅扮演的諸葛孔明相比唐國強而言也算是有所突破吧。電視劇中印象最深的一段對白莫過於孔明與姜維的術道之辯,孔明曰:凡兵法戰陣,變換萬千,但是道纔是根本,術乃表象也,,感覺此番言論及其真切也。

最近一年來一直在用業餘的時間進行編程的學習,,感受頗多,,前段時間終於拜讀完了Bruce Eckle的經典鉅著《Thinking in Java》,中文譯名爲《Java編程思想》我想譯名中的最關鍵的字應該是思想二字吧,,的確作爲一門優秀的編程語言Java自從推出後得到了極大的發展,一些書籍也基本上是以Java的語法爲重點,是教你如何利用Java語言去寫程序,但是你可能根本體會不到這門語言的精髓所在,或許你能利用Java的GUI編寫一些小程序,但是我想你可能不會認識到程序的內部的運行原理,如果對多態,動態綁定,繼承,反射,動態代理等技術有着深刻的體會的話我想你根本沒有認識到Java的精髓所在,,或許你可以熟練的運用一些開源框架進行開發,但是如果你對那些開源框架沒有足夠的認識,當面對一大堆的異常的時候我想你也許會手足無措吧,,這或許就是編程中的術與道吧,當你對面向對象的思想有着深刻的瞭解認識,無論什麼那一種面嚮對象語言我想給你半個月的時間你都能學習個大概,再給你一些類庫你應該就可以進行簡單的開發了,古人云形而上者謂之道,形而下者爲之器也,我想其中所包含的內在道理不言自明瞭,

由此聯繫到其他知識的學習,就像是操作系統的學習,有的人覺得很難學習,,但是當你剖開操作系統外面那層shell,系統的內部或許原理都類似,,進程,線程的概念,內存管理,文件系統,進程之間的通信與調度,我想無論是linux還是windows亦或是uniux亦或是vxworks等等,,這些基本的原理我想大概都是相通的,而這些原理一般都是建立在一些數據結構與算法的基礎之上,我想這或許也就是一些大公司招聘的時候對應聘者的基本知識,數據結構與算法很看重的很重要的一個原因吧,因爲從計算機發展的歷史來看無論什麼系統我想都是在已有的一些技術積累的基礎上進行的改進,如果沒有伽利略,開普敦等科學先驅的工作,我想牛頓或許也不會獲得如此成就的吧。

關於編程的術與道之辯,我想金庸的武俠小說也給出了更爲詳盡的比喻,在武俠小說中,華山兩位前輩嶽肅和蔡子峯因時機巧合,得以一窺當世無上武學密籍,但卻又因見解不同,一人主張以修氣爲本,教導弟子重修氣,另一人卻以爲因當以劍法爲主而教導弟子重劍法,華山派至此竟分裂爲劍、氣二宗。二宗各持己見,終於水火不容,兄弟鬩牆,同門操戈!我想一開始的時候三五年之內或許練氣士肯定非練劍士的對手,但是八年九年之後,練劍士肯定非練氣士的對手,,因爲有根基所在,無論什麼招式都可以進行心隨所動,這或許就是獨孤求敗到最後的時候可以用柳條爲劍得緣故吧,由此而及到編程的學習,,我開始的時候一直覺得在java編程領域裏學習那些框架,struts,hibernate,spring等這些框架可以達到事半功倍的效果,的確這些框架帶來了無與倫比的開發的簡易性,但是卻忽略了java語言的精髓的學習,對於java的多線程,持有對象的容器等不知云云,雖然是會用了很多東西,但是這些東西,如果有兩個月的時間不去碰它,可能再去用的時候就會覺得相當的生疏,到頭來還是不知云云,什麼都沒學會。。。

所以我想學習的曲線應該是這樣的,先學會基礎的東西,不要覺得自己寫了一個小程序就很了不起,自己連java的多線程是什麼都不知道就吹噓自己是java編程高手的是肯定只是在吹噓,,然後對於一些設計模式有着深刻的理解,然後再去接觸那些框架就是件很輕鬆的事情了,雖然這篇文章沒有講太多編程的事情,反而更多的是武俠,電視劇的臺詞,但是我想理解的人應該都會知道我要表達的意思,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章