最近在看一些文學書籍,把自己的感想寫出來,希望能給大家一些啟發(fā)。
看書的過程中,越來越發(fā)現自己在這幾年感覺到不足的地方是什么,原來一直阻礙我在計算機能力方面發(fā)展的因素竟然是文學修養(yǎng),這是意料之中也是意料之外,說是意料之中是因為自己一直有這個感覺,只是不敢承認,說是意料之外是因為自己果然猜對了,可惜沒有認真對待。
文學修養(yǎng)對計算機能力的影響,最簡單一個就是一個人的文學功底對個人的閱讀和理解能力有極大的影響。拿學生來說,教材是相同的,為什么有些人看一遍就明白,有些人看一遍就融會貫通,而有些人看十遍還不明白,其中排除天賦意外,其中一個就是文學功底的不一樣,文學功底的不一樣直接導致理解能力和吸收能力的不一樣。鑒于此,該如何提高個人的閱讀能力和理解能力呢?很直接很有效的方法:多看好書。至于什么是好書,我以為能給你以啟發(fā)的,不會把你誤入歧途的書都可以算是好書。不要告訴我你不知道什么是好書,因為我肯定你知道什么是壞書,從這個層面來講,不是壞書就是好書。對于好書,我們要多看,不要挑剔太多,可能剛開始你會覺得不耐煩,這個時侯只要你能堅持下來,靜靜的把在網絡上閑逛的時間用來把書看完,我敢肯定你有感覺到一個提高的感覺。其一是你能克制自己上網的欲望,這對自己來說是一個勝利的感覺,很好!其二,通過看書,你能明白一些原來你沒接觸過甚至連想都沒想過的道理和事物,這個給人以啟發(fā)。其三,在你看書的過程中,潛移默化之中會陶冶你的情操,提高你人生的境界。
學計算機的人很多時候并不缺乏專業(yè)知識,可是為什么就達不到自己的效果呢,我們不停的去看,同樣的知識,看了又看,程序寫了又寫,可是為什么就是提高不了呢?最重要一個就是我們的程序缺乏神。而多閱讀文學書籍卻能在這方面得到很好的補充。以前本人也有同樣的誤解,以為學計算機的人只要把專業(yè)知識掌握了,就能寫出好程序??墒菍I(yè)知識學了那么多,代碼,語法,原理都懂了??墒菫槭裁淳涂偸歉鴦e人的腳步走呢?就是因為我們缺乏自己的精神,說到這里,我想大家應該懂了吧?
其實,編程就像學習寫文章,先學習單詞,然后學習語法,再然后學習造句,最后才是學習寫文章。目前我們的學習并沒有遵循這樣一個途徑,學習單詞和語法以后,直接就是寫文章,雖然是先寫小文章再寫大文章,但是畢竟跳過了一步,收效畢竟差了點。而且這個過程中很重要一點就是我們缺乏對“單詞”的足夠認識和理解就迫不及待的想要動手,雖然多動手是好事,但是亂動手未免會形成不良習慣,有時候還會打擊到自己的信心,這可是得不償失啊。所以說耐心是學計算機人的必須。循序漸進,一步一個腳印才是掌握計算機技術不變的真理。
我們寫文章從記敘文開始寫,同樣,我們學習編程也是從“記敘文”開始寫,寫著寫著差別就出來了,有些人的記敘文寫了十幾年還是一樣,而有些人的記敘文卻越來越精彩。其中有一個就是文學功底的不一樣,再過一段時間,寫得好的人就開始學習寫議論文了,論據論點很充分,這個時侯就開始第二階段的分化了:議論文寫得好不好一個就是結構是否嚴謹、論據是否充分、論點是否明確、中心是否突出,就像編程的時候,各個部分的編寫和安排是否合理,代碼是否足夠簡潔高效,別人看起來是否清晰一樣,這兩個分化我暫時稱之為一般的議論文和簡潔有力的議論文,放在計算機編程上面來說就是可運行代碼和高效代碼。我們現在能達到前者的人估計不少,但達到后者的人估計不多,再然后進行第三次的分化,真正的程序員就誕生了,文學上就是真正意義上的作家(不是那些為了錢和迎合潮流而蠱惑大眾的人),就像寫作上的雜文和短篇小說,不要說雜文人人都會寫,雖然說什么文體都不是的文章就叫雜文,但是我怕你寫的雜文什么都不是。一篇好的雜文和一部好的小說,能把一個作家的思想有力的表現出來,讓你讀起來的時候沒有感到一絲一毫的多余,而中心卻又非常的明確,這就是真正程序員的高效代碼。一篇好的小說,短短一千多字或者簡簡單單的幾百字可以比一部長篇小說更感人肺腑,更能令人耳目一新,高效的代碼也是一樣,簡潔但功能齊全 高效而不搞笑,什么叫不搞笑?就是運行的時候不會出差錯,叫人看笑話。這里面就有一個思想在里面,程序以正確高效、簡潔、可見、可顯、可維護為宗旨,龐大臃腫的代碼就像一堆垃圾,怎么挑都挑不出精華??春贸绦蚓拖窨春梦恼?,我們在閱讀別人的高效代碼的時候,又有誰看到了人家的思想?或者只是簡簡單單的看到人家的高效而已?我們看的目的是領悟,而不是看也不是背。當然背比看要好,而領悟又比被要好。更嚴重的一個問題是:你看了嗎?
經??磿娜硕紩羞@種感覺,覺得作者有時候表達不清,覺得有歧義。這個正常,現在的書多如牛毛,質量參差不齊,所以我們更要慎重的選擇自己看的書,主要一個就是防止被傳染,被帶壞了??吹絹y寫一通的不要猶豫,扔了。選書是一個過程,看書是一個過程,看好書是一個漫長的過程,前面兩個過程把握不好,最后一個過程遙遙無期,希望大家慎重??磿春脮?,同樣寫程序也是一樣的,寫程序就要寫好程序,要給自己形成一個寫好程序的習慣。專業(yè)課本上的知識教會你怎么寫代碼,怎么編程才能正確執(zhí)行,這個毫無疑問,而一本好書,能教會你怎么寫好代碼,怎么寫才寫得心情舒暢,到最后連看的人也覺得如沐春風。這兩者的區(qū)別就是:科學與藝術。前者是科學,教你怎么做正確,后者是藝術,教你怎么做好。寫字也有好壞,何況編程呢。
多閱讀一些好文章,能提高一個人的思想修養(yǎng),也能陶冶一個人的性情,編程最忌心浮氣躁,多閱讀好書,培養(yǎng)一個好的性情,營造一個好的氛圍,制造一個好的壞境能讓人心情愉快的工作,把編程變成一個享受的過程而不是任務和壓力。當然,興趣所在就更不一樣。文學修養(yǎng)的提高在于提高一個人的思想水平,一個人的思想水平如何直接影響到一個人的編程習慣如何,這是由內到外的。有人說,多寫些程序就好了,慢慢就會寫出好的代碼了。對于這個觀點,我有不同意見,首先,多寫程序是應該的,但是我認為多寫爛的程序只會讓寫的程序更爛;再一個就是寫出好代碼的問題,我實在想不出在前一個前提的情況下,這個好代碼是從哪里出來的,難道不停的制造普通鋼板就能制造出人造衛(wèi)星了嗎?未必吧,只怕出來的連人造衛(wèi)星的模型都不如,到頭來還是普通鋼板,可能還會因為機器陳舊而制造出質量更次的鋼板。
在培養(yǎng)計算機人員的文學修養(yǎng)方面,我們國家現在的教學目前還是空白的,從這個層面來說,我們國家的學生想在計算機工作方面擺脫代碼工人的困境還是有一定難度的。通過對一些大學4年的課程安排可以看出,教我們怎么寫代碼的課程很多,可以說是太多了。讀過大學的人都知道,我們思考的時間太少,作業(yè)太多,告訴我們要認真學習的話太多,告訴我們要如何學習才能提高我們能力的太少??墒谴蠹液雎粤艘粋€很重要的事實,就是授之以魚不如授之以漁,學習寫代碼是魚,而學習怎么寫好代碼才是漁,那才是真正的精粹所在。對此,我認為,學校應該恰當的安排適量的文學課程是有必要的,原因有二,其一,從思想上提高大家的編程水平;其二,給學生一種文學上的氛圍,我以為,那比同學間比賽寫代碼更重要。為了防止誤解,我解釋一下第一點,我說的思想上的正確引導,不是指毛澤東思想,鄧小平理論三個代表之類的深奧理論,而是活生生的給大家一些好的思想,包括正確的人生觀、價值觀和世界觀。最重要的是這個文學課程是不以提高就業(yè)率而設的,不然肯定會變質!
關于文學修養(yǎng),說了不少,現在說些具體一點例子,編程經典:Unix編程藝術。這本書怎么出名就不用我說了??墒俏覀円此皇且驗樗雒?,要看出名的可以到網上去看當紅的影星歌星。我們要看的是這本書的內容,領會這本書的精神。里面談到很多關于如何寫好代碼的意見,包括作者的很多切身感受,論代碼量,估計我們加起來也比不上人家吧,所以這本書絕對值得大家一看。不知道大家是否看過這本書,是否有所感悟,這本書真正提到代碼的地方很少,但是卻能很正確的指引你怎么寫好代碼,能告訴你什么才是一個好的程序,能告訴你什么才叫藝術,要想從代碼工人上升為程序員,我認為看這本書,理解這本書,并運用這本書的精神去編寫我們的代碼這三個過程絕對是必不可少的。
當然,這是一家之言,僅供參考。