第一篇:IT行業(yè)培訓(xùn)必讀——優(yōu)秀程序員的十個習(xí)慣(本站推薦)
IT行業(yè)培訓(xùn)必讀——優(yōu)秀程序員的十個習(xí)慣
在這個世界上,有數(shù)百萬的人熱衷于軟件開發(fā),他們有很多名字,如:軟件工程師(Software Engineer),程序員(Programmer),編碼人(Coder),開發(fā)人員(Developer)。經(jīng)過一段時間后,這些人能夠成為一個優(yōu)秀的編碼人員,他們非常熟悉如何用計算機(jī)語言來完成自己的工作。但是,如果你要成為一個優(yōu)秀的程序員,你還可以需要有幾件事你需要注意,如果你能讓下面十個條目成為你的習(xí)慣,那么你才能真正算得上是優(yōu)秀程序員。
1.學(xué)無止境。就算是你有了10年以上的程序員經(jīng)歷,你也得要使勁地學(xué)習(xí),因為你在計算機(jī)這個充滿一創(chuàng)造力的領(lǐng)域,每天都會有很多很多的新事物出現(xiàn)。你需要跟上時代的步伐。你需要去了解新的程序語言,以及了解正在發(fā)展中的程序語言,以及一些編程框架。還需要去閱讀一些業(yè)內(nèi)的新聞,并到一些熱門的社區(qū)去參與在線的討論,這樣你才能明白和了解整個軟件開發(fā)的趨勢。在國內(nèi),一些著名的社區(qū)例如:CSDN,ITPUB,CHINAUINX等等,在國外,建議你經(jīng)常上一上digg.com去看看各種BLOG的聚合。
2.掌握多種語言。程序語言總是有其最適合的領(lǐng)域。當(dāng)你面對需要解決的問題時,你需要找到一個最適合的語言來解決這些問題。比如,如果你需要性能,可能C/C++是首選,如果你需要跨平臺,可能Java是首選,如果你要寫一個Web上的開發(fā)程序,那么PHP,ASP,Ajax,JSP可能會是你的選擇,如果你要處理一些文本并和別的應(yīng)用交互,可能Perl, Python會是最好的。所以,花一些時間去探索一下其它你并熟悉的程序語言,能讓你的眼界變寬,因為你被武裝得更好,你思考問題也就更為全面,這對于自己和項目都會有好的幫助。3.理性面對不同的操作系統(tǒng)或技術(shù)。程序員們總是有自己心目中無可比擬的技術(shù)和操作系統(tǒng),有的人喜歡Ubuntu,有的人喜歡Debian,還有的人喜歡Windows,以及FreeBSD,MacOSX或Solaris等等。看看我的BLOG(http://blog.csdn.net/haoel)中的那篇《其實Unix很簡單》后的回復(fù)你就知道程序員們在維護(hù)起自己的忠愛時的那份執(zhí)著了。只有一部分優(yōu)秀的程序員明白不同操作系統(tǒng)的優(yōu)勢和長處和短處,這樣,在系統(tǒng)選型的時候,才能做到真正的客觀和公正,而不會讓情緒影響到自己。同樣,語言也是一樣,有太多的程序員總是喜歡糾纏于語言的對比,如:Java和Perl。哪個剛剛出道的程序員沒有爭論去類似的話題呢?比如VC++和Delphi等等。爭論這些東西只能表明自己的膚淺和浮燥。優(yōu)秀的程序并不會執(zhí)著于這些,而是能夠理性的分析和理心地面對,從而才能客觀地做出正確的選擇。
4.別把自己框在單一的開發(fā)環(huán)境中。再一次,正如上面所述,每個程序員都有自己忠愛的工具和技術(shù),有的喜歡老的(比如我就喜歡Vi編輯程序),而有的喜歡新的比如gedit或是Emacs等。有的喜歡使用像VC++一樣的調(diào)試器,而我更喜歡GDB命令行方面的調(diào)式器。等等等等。程序員在使用什么樣的工具上的爭論還少嗎?到處都是啊。使用什么樣的工具本來無所謂,只要你能更好更快地達(dá)到你的目的。但是有一點是優(yōu)秀程序員都應(yīng)該了解的——那就是應(yīng)該去嘗試一下別的工作環(huán)境。沒有比較,你永遠(yuǎn)不知道誰好誰不好,你也永遠(yuǎn)不知道你所不知道的。
5.使用版本管理工具管理你的代碼。千萬不要告訴我你不知道源碼的版本管理,如果你的團(tuán)隊開發(fā)的源代碼并沒有版本管理系統(tǒng),那么我要告訴你,你的軟件開發(fā)還處于石器時代。趕快使用一個版式本管理工具吧。CVS 是一個看上去平淡無奇的版本工具,但它是被使用最廣的版本管理系統(tǒng),Subversion 是CVS的一個升級版,其正在開始接管CVS的領(lǐng)地。Git 又是一個不同的版本管理工具。還有Visual SourceSafe等。使用什么樣的版本管理工具依賴于你的團(tuán)隊的大小和地理分布,你也許正在使用最有效率或最沒有效率的工具來管理你的源代碼。但一個優(yōu)秀的程序員總是會使用一款源碼版本管理工具來管理自己的代碼。如果你要我推薦一個,我推薦你使用開源的Subversion。
6.是一個優(yōu)秀的團(tuán)隊成員。除非你喜歡獨奏,除非你是孤膽英雄。但我想告訴你,今天,可能沒有一個成熟的軟件是你一個人能做的到的,你可能是你團(tuán)隊中最牛的大拿,但這并不意味著你就是好的團(tuán)隊成員。你的能力只有放到一個團(tuán)隊中才能施展開來。你在和你的團(tuán)隊成員交流中有禮貌嗎?你是否經(jīng)常和他們溝通,并且大家都喜歡和你在一起討論問題?想一想一個足球隊吧,你是這個隊中好的成員嗎?當(dāng)別人看到你在場上的跑動,當(dāng)別人看到你的傳球和接球和搶斷,能受到鼓舞嗎?
7.把你的工作變成文檔。這一條目當(dāng)然包括了在代碼中寫注釋,但那還僅僅不夠,你還需要做得更多。有良好的注釋風(fēng)格的代碼是一個文檔的基礎(chǔ),他能夠讓你和你的團(tuán)隊容易的明白你的意圖和想法。寫下文檔,并不僅僅是怕我們忘了當(dāng)時的想法,而且還是一種團(tuán)隊的離線交流的方法,更是一種知識傳遞的方法。記錄下你所知道的一切會是一個好的習(xí)慣。因為,我相信你不希望別人總是在你最忙的時候來打斷你問問題,或是你在休假的時候接到公司的電話來詢問你問題。而你自己如果老是守著自己的東西,其結(jié)果只可能是讓你自己長時間地深陷在這塊東西內(nèi),而你就更本不可以去做更多的事情。包括向上的晉升。你可能以為“教會徒弟能餓死師父”,但我告訴你,你的保守會讓你失去更多更好的東西,請你相信我,我絕不是在這里聳人聽聞。8.注意備份和安全。可能你覺得這是一個“廢話”,你已明白了備份的重要性。但是,我還是要在這里提出,丟失東西是我們?nèi)松械囊徊糠荩憧偸菚G東西,這點你永遠(yuǎn)無法避免。比如:你的筆記本電腦被人偷了,你的硬盤損壞了,你的電腦中病毒了,你的系統(tǒng)被人入侵了,甚至整個大樓被燒了,等等,等等。所以,做好備份工作是非常非常重要的事情,硬盤是不可信的,所以定期的刻錄光盤或是磁帶可能會是一個好的方法,網(wǎng)絡(luò)也是不可信的,所以小心病毒和黑客,不但使用軟件方面的安全策略,你更需要一個健全的管理制度。此外,盡量的讓你的數(shù)據(jù)放在不同的地方,并做好定期(每日,每周,每月)的備份策略。
9.設(shè)計要足夠靈活。可能你的需求只會要求你實現(xiàn)一個死的東西,但是,你作為一個優(yōu)秀的程序,你應(yīng)該隨時在思考這個死的東西是否可以有靈活的一面,比如把一些參數(shù)變成可以配置的,把一些公用的東西形成你的函數(shù)庫以便以后重用,是否提供插件方面的功能?你的模塊是否要以像積木一樣隨意組合?如果要有修改的話,你的設(shè)計是否能夠馬上應(yīng)付?當(dāng)然,靈活的設(shè)計可能并不是要你去重新發(fā)明輪子,你應(yīng)該盡可能是使用標(biāo)準(zhǔn)化的東西。所謂靈話的設(shè)計就是要讓讓考慮更多需求之外的東西,把需求中這一類的問題都考慮到,而不是只處理需求中所說的那一特定的東西。比如說,需要需要的屏幕分辨率是800×600,那么你的設(shè)計能否靈活于其他的分辨率?程序設(shè)計總是需要我們?nèi)ヌ幚聿煌沫h(huán)境,以及未來的趨勢。我們需要用動態(tài)的眼光去思考問題,而不是刻舟求劍。也許有一天,你今天寫的程序就要移植到別的環(huán)境中去,那個時候你就能真正明白什么是靈活的設(shè)計了。
10.不要搬起石頭砸自己的腳。程序員總是有一種不好的習(xí)慣,那就是總是想趕快地完成自己手上的工作。但情況卻往往事已愿違。越是想做得快,就越是容易出問題,越是想做得快,就越是容易遺漏問題,最終,程序改過來改過去,按下葫蘆起了瓢,最后花費的時間和精力反而更多。欲速而不達(dá)。優(yōu)秀程序員的習(xí)慣是前面多花一些時間多作一些調(diào)查,試驗一下不同的解決方案,如果時間允許,一個好的習(xí)慣是,每4個小時的編程,需要一個小時的休息,然后又是4個小時的編碼。當(dāng)然,這因人而異,但其目的就是讓你時常回頭看看,讓你想一想這樣三個問題:1)是否這么做是對的?2)是否這么做考慮到了所有的情況?3)是否有更好的方法?想好了再說,時常回頭看看走過的路,時常總結(jié)一下過去事,會對你有很大的幫助。
以上是十條優(yōu)秀程序員的習(xí)慣或行為規(guī)范,希望其可以對你有所幫助。
本文來源于網(wǎng)上phil的BLOG,但我在寫作過程中使用了自己的語言和方法重新描述了一下這十條,所以,我希望你在轉(zhuǎn)載的時候能夠注明作者和出處以表示對我的尊重。謝謝!
第二篇:IT行業(yè)培訓(xùn)必讀:優(yōu)秀程序員的十個習(xí)慣
IT行業(yè)培訓(xùn)必讀:優(yōu)秀程序員的十個習(xí)慣
來源:搜狐教育社區(qū) 2010年04月22日09:51我來說兩句(0)復(fù)制鏈接大中小大中小大中小
在這個世界上,有數(shù)百萬的人熱衷于軟件開發(fā),他們有很多名字,如:軟件工程師(Software Engineer),程序員(Programmer),編碼人(Coder),開發(fā)人員(Developer)。
經(jīng)過一段時間后,這些人能夠成為一個優(yōu)秀的編碼人員,他們非常熟悉如何用計算機(jī)語言來完成自己的工作。但是,如果你要成為一個優(yōu)秀的程序員,你還可以需要有幾件事你需要注意,如果你能讓下面十個條目成為你的習(xí)慣,那么你才能真正算得上是優(yōu)秀程序員。
1.學(xué)無止境
就算是你有了10年以上的程序員經(jīng)歷,你也得要使勁地學(xué)習(xí),因為你在計算機(jī)這個充滿一創(chuàng)造力的領(lǐng)域,每天都會有很多很多的新事物出現(xiàn)。你需要跟上時代的步伐。你需要去了解新的程序語言,以及了解正在發(fā)展中的程序語言,以及一些編程框架。還需要去閱讀一些業(yè)內(nèi)的新聞,并到一些熱門的社區(qū)去參與在線的討論,這樣你才能明白和了解整個軟件開發(fā)的趨勢。在國內(nèi),一些著名的社區(qū)例如:CSDN,ITPUB,CHINAUINX等等,在國外,建議你經(jīng)常上一上digg.com去看看各種BLOG的聚合。
2.掌握多種語言
程序語言總是有其最適合的領(lǐng)域。當(dāng)你面對需要解決的問題時,你需要找到一個最適合的語言來解決這些問題。比如,如果你需要性能,可能C/C++是首選,如果你需要跨平臺,可能Java是首選,如果你要寫一個Web上的開發(fā)程序,那么PHP,ASP,Ajax,JSP可能會是你的選擇,如果你要處理一些文本并和別的應(yīng)用交互,可能Perl, Python會是最好的。所以,花一些時間去探索一下其它你并熟悉的程序語言,能讓你的眼界變寬,因為你被武裝得更好,你思考問題也就更為全面,這對于自己和項目都會有好的幫助。
3.理性面對不同的操作系統(tǒng)或技術(shù)
程序員們總是有自己心目中無可比擬的技術(shù)和操作系統(tǒng),有的人喜歡Ubuntu,有的人喜歡Debian,還有的人喜歡Windows,以及FreeBSD,MacOSX或Solaris等等。看看我的BLOG(http://blog.csdn.net/haoel)中的那篇《其實Unix很簡單》后的回復(fù)你就知道程序員們在維護(hù)起自己的忠愛時的那份執(zhí)著了。只有一部分優(yōu)秀的程序員明白不同操作系統(tǒng)的優(yōu)勢和長處和短處,這樣,在系統(tǒng)選型的時候,才能做到真正的客觀和公正,而不會讓情緒影響到自己。同樣,語言也是一樣,有太多的程序員總是喜歡糾纏于語言的對比,如:Java和Perl。哪個剛剛出道的程序員沒有爭論去類似的話題呢?比如VC++和Delphi等等。爭論這些東西只能表明自己的膚淺和浮燥。優(yōu)秀的程序并不會執(zhí)著于這些,而是能夠理性的分析和理心地面對,從而才能客觀地做出正確的選擇。
4.別把自己框在單一的開發(fā)環(huán)境中
再一次,正如上面所述,每個程序員都有自己忠愛的工具和技術(shù),有的喜歡老的(比如我就喜歡Vi編輯程序),而有的喜歡新的比如gedit或是Emacs等。有的喜歡使用像VC++一樣的調(diào)試器,而我更喜歡GDB命令行方面的調(diào)式器。等等等等。程序員在使用什么樣的工具上的爭論還少嗎?到處都是啊。使用什么樣的工具本來無所謂,只要你能更好更快地達(dá)到你的目的。但是有一點是優(yōu)秀程序員都應(yīng)該了解的——那就是應(yīng)該去嘗試一下別的工作環(huán)境。沒有比較,你永遠(yuǎn)不知道誰好誰不好,你也永遠(yuǎn)不知道你所不知道的。
5.使用版本管理工具管理你的代碼
千萬不要告訴我你不知道源碼的版本管理,如果你的團(tuán)隊開發(fā)的源代碼并沒有版本管理系統(tǒng),那么我要告訴你,你的軟件開發(fā)還處于石器時代。趕快使用一個版式本管理工具吧。CVS 是一個看上去平淡無奇的版本工具,但它是被使用最廣的版本管理系統(tǒng),Subversion 是CVS的一個升級版,其正在開始接管CVS的領(lǐng)地。Git 又是一個不同的版本管理工具。還有Visual SourceSafe等。使用什么樣的版本管理工具依賴于你的團(tuán)隊的大小和地理分布,你也許正在使用最有效率或最沒有效率的工具來管理你的源代碼。但一個優(yōu)秀的程序員總是會使用一款源碼版本管理工具來管理自己的代碼。如果你要我推薦一個,我推薦你使用開源的Subversion。
6.是一個優(yōu)秀的團(tuán)隊成員
除非你喜歡獨奏,除非你是孤膽英雄。但我想告訴你,今天,可能沒有一個成熟的軟件是你一個人能做的到的,你可能是你團(tuán)隊中最牛的大拿,但這并不意味著你就是好的團(tuán)隊成員。你的能力只有放到一個團(tuán)隊中才能施展開來。你在和你的團(tuán)隊成員交流中有禮貌嗎?你是否經(jīng)常和他們溝通,并且大家都喜歡和你在一起討論問題?想一想一個足球隊吧,你是這個隊中好的成員嗎?當(dāng)別人看到你在場上的跑動,當(dāng)別人看到你的傳球和接球和搶斷,能受到鼓舞嗎?
7.把你的工作變成文檔
這一條目當(dāng)然包括了在代碼中寫注釋,但那還僅僅不夠,你還需要做得更多。有良好的注釋風(fēng)格的代碼是一個文檔的基礎(chǔ),他能夠讓你和你的團(tuán)隊容易的明白你的意圖和想法。寫下文檔,并不僅僅是怕我們忘了當(dāng)時的想法,而且還是一種團(tuán)隊的離線交流的方法,更是一種知識傳遞的方法。記錄下你所知道的一切會是一個好的習(xí)慣。因為,我相信你不希望別人總是在你最忙的時候來打斷你問問題,或是你在休假的時候接到公司的電話來詢問你問題。而你自己如果老是守著自己的東西,其結(jié)果只可能是讓你自己長時間地深陷在這塊東西內(nèi),而你就更本不可以去做更多的事情。包括向上的晉升。你可能以為“教會徒弟能餓死師父”,但我告訴你,你的保守會讓你失去更多更好的東西,請你相信我,我絕不是在這里聳人聽聞。
8.注意備份和安全
可能你覺得這是一個“廢話”,你已明白了備份的重要性。但是,我還是要在這里提出,丟失東西是我們?nèi)松械囊徊糠荩憧偸菚G東西,這點你永遠(yuǎn)無法避免。比如:你的筆記本電腦被人偷了,你的硬盤損壞了,你的電腦中病毒了,你的系統(tǒng)被人入侵了,甚至整個大樓被燒了,等等,等等。所以,做好備份工作是非常非常重要的事情,硬盤是不可信的,所以定期的刻錄光盤或是磁帶可能會是一個好的方法,網(wǎng)絡(luò)也是不可信的,所以小心病毒和黑客,不但使用軟件方面的安全策略,你更需要一個健全的管理制度。此外,盡量的讓你的數(shù)據(jù)放在不同的地方,并做好定期(每日,每周,每月)的備份策略。
9.設(shè)計要足夠靈活
可能你的需求只會要求你實現(xiàn)一個死的東西,但是,你作為一個優(yōu)秀的程序,你應(yīng)該隨時在思考這個死的東西是否可以有靈活的一面,比如把一些參數(shù)變成可以配置的,把一些公用的東西形成你的函數(shù)庫以便以后重用,是否提供插件方面的功能?你的模塊是否要以像積木一樣隨意組合?如果要有修改的話,你的設(shè)計是否能夠馬上應(yīng)付?當(dāng)然,靈活的設(shè)計可能并不是要你去重新發(fā)明輪子,你應(yīng)該盡可能是使用標(biāo)準(zhǔn)化的東西。所謂靈話的設(shè)計就是要讓讓考慮更多需求之外的東西,把需求中這一類的問題都考慮到,而不是只處理需求中所說的那一特定的東西。比如說,需要需要的屏幕分辨率是800×600,那么你的設(shè)計能否靈活于其他的分辨率?程序設(shè)計總是需要我們?nèi)ヌ幚聿煌沫h(huán)境,以及未來的趨勢。我們需要用動態(tài)的眼光去思考問題,而不是刻舟求劍。也許有一天,你今天寫的程序就要移植到別的環(huán)境中去,那個時候你就能真正明白什么是靈活的設(shè)計了。
10.不要搬起石頭砸自己的腳
程序員總是有一種不好的習(xí)慣,那就是總是想趕快地完成自己手上的工作。但情況卻往往事已愿違。越是想做得快,就越是容易出問題,越是想做得快,就越是容易遺漏問題,最終,程序改過來改過去,按下葫蘆起了瓢,最后花費的時間和精力反而更多。欲速而不達(dá)。優(yōu)秀程序員的習(xí)慣是前面多花一些時間多作一些調(diào)查,試驗一下不網(wǎng)的解決方案,如果時間允許,一個好的習(xí)慣是,每4個小時的編程,需要一個小時的休息,然后又是4個小時的編碼。當(dāng)然,這因人而異,但其目的就是讓你時常回頭看看,讓你想一想這樣三個問題:
1)是否這么做是對的?
2)是否這么做考慮到了所有的情況?
3)是否有更好的方法?想好了再說,時常回頭看看走過的路,時常總結(jié)一下過去事,會對你有很大的幫助。
4)
第三篇:優(yōu)秀程序員必讀書目
面試微軟前必須要讀的十本書:
1、Code: The Hidden Language of Computer Hardware and Software(《編碼的奧秘》)
2、Computer System: A Programmer’s Approach(《深入理解計算機(jī)系統(tǒng)》)/ Windows via C/C++(《Windows核心編程》 / 《程序員的自我修養(yǎng)》
3、Code Complete 2(《代碼大全》)/ The Pragmatic Programmer(《程序員修煉之道》,我也把這本書稱為《代碼小全》)
4、Programming Pearls(《編程珠璣》)/ Algorithms / Algorithm Design / 《編程之美》
5、The C Programming Language6、The C++ Programming Language / Programming: Principles and Practice Using C++ / Accelerated C++
7、The Structure and Interpretation of Computer Programs(《計算機(jī)程序的構(gòu)造和解釋》)
8、Clean Code / Implementation Patterns9、Design Patterns(《設(shè)計模式》)/ Agile Software Development, Principles, Patterns, and Practices10、Refactoring(《重構(gòu)》)
(注:1.以上同一條目下用“/”隔開的表示任選,當(dāng)然你也可以都讀了,相信我,時間是足夠的。2.讀這些書并不意味著逐字逐句從第一頁讀到最后一頁——當(dāng)然你也可以這么做。怎么是聰明高效的讀法,可以參考我之前寫的關(guān)于如何閱讀和查找/鑒別書籍/資料的博文)
注意:以上是我個人認(rèn)為你面試微軟開發(fā)職位前必須要讀的10本書,它不代表我的雇主的觀點。它也只是一個初步的書單,肯定會受到我個人經(jīng)驗和眼界的限制。歡迎大家提意見。
此外,IT不同子領(lǐng)域的必讀書單可能千差萬別,所以在發(fā)布之前我把這篇文章發(fā)給了一些朋友,他們給出了自己的書單(你是不是能看到一些有趣的共同點呢):
――――――――――――――――――――――――――――――――――――――― 云風(fēng)(中國游戲編程先行者,前網(wǎng)易游戲部門資深程序員,簡悅創(chuàng)始人):
如果面試,我會挑以下的我自己讀過的書,讓人選擇他也讀過的部分,再了解他對這些書的理解。這些書其實本質(zhì)上就是兩類,對所面對的東西(程序語言也好,操作系統(tǒng)也好,底層設(shè)施也好)本身的理解程度。以及另一類:對設(shè)計思想和原則的理解:
C++編程思想
Effective C++
深度探索C++對象模型
C++語言的設(shè)計和演化
C專家編程
C陷阱與缺陷
C語言接口與實現(xiàn)
Lua程序設(shè)計
Linkers and Loaders
COM本質(zhì)論
Windows核心編程
深入解析Windows操作系統(tǒng)
程序員修煉之道
代碼大全
UNIX編程藝術(shù)
設(shè)計模式
代碼優(yōu)化:有效使用內(nèi)存
深入理解計算機(jī)系統(tǒng)
深入理解LINUX內(nèi)核
TCP/IP 詳解
――――――――――――――――――――――――――――――――――――――― 馮大輝(丁香園CTO,貝塔咖啡創(chuàng)始人):
軟件隨想錄
黑客與畫家
重來
UNIX編程藝術(shù)
編程人生
洪強(qiáng)寧(豆瓣技術(shù)總監(jiān)):
――――――――――――――――――――――――――――――――――――――― StackOverflow上有一個程序員必讀書單帖子,這里僅列出top10,更多參考這里。
Code Complete 2
The Mythical Man-Month(《人月神話》)
Code: The Hidden Language of Computer Hardware and Software(《編碼的奧秘》)TAOCP(不解釋)
The Pragmatic Programmer(《程序員修煉之道》)
Design Patterns(《設(shè)計模式》)
The Structure and Interpretation of Computer Programs(《計算機(jī)程序的構(gòu)造和解釋》)Refactoring(《重構(gòu)》)
The C Programming Language
Introduction to Algorithms(《算法導(dǎo)論》)
――――――――――――――――――――――――――――――――――――――― 張崢(微軟亞洲研究院副院長):
Algorithms(by Sanjoy Dasgupta, Christos Papadimitriou and Umesh Vazirani)
Data Structure and Algorithms
The C Programming Language
The Design of the UNIX Operating System
Compilers(龍書)
Computer Architecture: A Quantitative Approach
Flow
Outliers(why hard work and luck are both important)
讀好書是如此的重要,因為好書往往帶領(lǐng)你去到更好的書,更大的世界。
第四篇:程序員必讀書目
寫在前面:08年,StackOverflow 網(wǎng)友 Bert F 發(fā)帖提問:哪本最具影響力的書,是每個程序員都應(yīng)該讀的?―如果能時光倒流,回到過去,作為一個開發(fā)人員,你可以告訴自己在職業(yè)生涯初期應(yīng)該讀一本,你會選擇哪本書呢?我希望這個書單列表內(nèi)容豐富,可以涵蓋很多東西。‖很多程序員響應(yīng)推薦書目并附帶自己的評語。之前也有國內(nèi)網(wǎng)友介紹推薦數(shù) Top 10的書,其實推薦數(shù)前30左右的書籍都算經(jīng)典,以下筆者整理編譯該問答帖,同時摘譯部分推薦人評語,按推薦書排列:
1.《代碼大全》 史蒂夫·邁克康奈爾
推薦數(shù):1684
―優(yōu)秀的編程實踐的百科全書,《代碼大全》注重個人技術(shù),其中所有東西加起來,就是我們本能所說的―編寫整潔的代碼‖。這本書有50頁在談?wù)摯a布局。‖ —— Joel Spolsky
對于新手來說,這本書中的觀念有點高階了。到你準(zhǔn)備閱讀此書時,你應(yīng)該已經(jīng)知道并實踐過書中99%的觀念。– esac
2.《程序員修煉之道》
推薦數(shù):1504
對于那些已經(jīng)學(xué)習(xí)過編程機(jī)制的程序員來說,這是一本卓越的書。或許他們還是在校生,但對要自己做什么,還感覺不是很安全。就像草圖和架構(gòu)之間的差別。雖然你在學(xué)校課堂上學(xué)到的是畫圖,你也可以畫的很漂亮,但如果你覺得你不太知道從哪兒下手,如果某人要你獨自畫一個P2P的音樂交換網(wǎng)絡(luò)圖,那這本書就適合你了。—— Joel
3.《計算機(jī)程序的構(gòu)造和解釋》
推薦數(shù):916
就個人而言,這本書目前為止對我影響醉倒的一本編程書。
《代碼大全》、《重構(gòu)》和《設(shè)計模式》這些經(jīng)典書會教給你高效的工作習(xí)慣和交易細(xì)節(jié)。其他像《人件集》、《計算機(jī)編程心理學(xué)》和《人月神話》這些書會深入軟件開發(fā)的心理層面。其他書籍則處理算法。這些書都有自己所屬的位置。
然而《計算機(jī)程序的構(gòu)造和解釋》與這些不同。這是一本會啟發(fā)你的書,它會燃起你編寫出色程序的熱情;它還將教會你認(rèn)識并欣賞美;它會讓你有種敬畏,讓你難以抑制地渴望學(xué)習(xí)更多的東西。其他書或許會讓你成為一位更出色的程序員,但此書將一定會讓你成為一名程序員。
同時,你將會學(xué)到其他東西,函數(shù)式編程(第三章)、惰性計算、元編程、虛擬機(jī)、解釋器和編譯器。
一些人認(rèn)為此書不適合新手。個人認(rèn)為,雖然我并不完全認(rèn)同要有一些編程經(jīng)驗才能讀此書,但我還是一定推薦給初學(xué)者。畢竟這本書是寫給著名的6.001,是麻省理工學(xué)院的入門編程課程。此書或許需要多做努力(尤其你在做練習(xí)的時候,你也應(yīng)當(dāng)如此),但這個價是對得起這本書的。
你還不確信么?那就讀讀第一版的前言或序言。網(wǎng)上有免費的電子版。-Antti Syk?ri
4.《C程序設(shè)計語言》
推薦數(shù):774
這本書簡潔易讀,會教給你三件事:C 編程語言;如何像程序員一樣思考;底層計算模型。(這對理解―底層‖非常重要)—— Nathan
5.《算法導(dǎo)論》
推薦數(shù):671
《代碼大全》教你如何正確編程;《人月神話》教你如何正確管理;《設(shè)計模式》教你如何正確設(shè)計……
在我看來,代碼只是一個工具,并非精髓。開發(fā)軟件的主要部分是創(chuàng)建新算法或重新實現(xiàn)現(xiàn)有算法。其他部分則像重新組裝樂高磚塊或創(chuàng)建―管理‖層。我依然夢想這樣的工作,我的大部分時間(>50%)是在寫算法,其他―管理‖細(xì)節(jié)則留給其他人…… —— Ran Biron
6.《重構(gòu):改善既有代碼的設(shè)計》
推薦數(shù):617
我想我不得不推薦《重構(gòu)》:改進(jìn)現(xiàn)有代碼的設(shè)計。—— Martin
我必須承認(rèn),我最喜歡的編程語錄是出自這本書:任何一個傻瓜都能寫出計算機(jī)能理解的程序,而優(yōu)秀的程序員卻能寫出別人能讀得懂的程序。—— Martin Fowler
7.《設(shè)計模式》
推薦數(shù):617
就我而言,我認(rèn)為四人幫編著的《設(shè)計模式》是一本極為有用的書。雖然此書并不像其他建議一樣有關(guān)―元‖編程,但它強(qiáng)調(diào)封裝諸如模式一類的優(yōu)秀編程技術(shù),因而鼓勵其他人提出新模式和反模式(antipatterns),并運用于編程對話中。—— Chris Jester-Young
8.《人月神話》
推薦數(shù):588
9.《計算機(jī)程序設(shè)計藝術(shù)》
推薦數(shù):542
這是高德納傾注心血寫的一本書。—— Peter Coulton
10.《編譯原理》(龍書)
推薦數(shù):462
我很奇怪,居然沒人提到龍書。(或許已有推薦,我沒有看到)。我從沒忘過此書的第一版封面。此書讓我知道了編譯器是多么地神奇絕妙。-DB
11.《深入淺出設(shè)計模式》
推薦數(shù):445
我知道四人幫的《設(shè)計模式》是一本標(biāo)準(zhǔn)書,但倒不如先看看這部大部頭,此書更為簡易。一旦你了解了解了基本原則,可以去看四人幫的那本圣經(jīng)了。-Calanus
12.《哥德爾、艾舍爾、巴赫書:集異璧之大成》
推薦數(shù):437
如果下昂真正深入閱讀,我推薦道格拉斯·侯世達(dá)(Douglas Hofstadter)的《哥德爾、艾舍爾、巴赫書》。他極為深入研究了程序員每日都要面對的問題:遞歸、驗證、證明和布爾代數(shù)。這是一本很出色的讀物,難度不大,偶爾有挑戰(zhàn),一旦你要鏖戰(zhàn)到底,將是非常值得的。– Jonik
13.《代碼整潔之道》
推薦數(shù):329
雖然《代碼整潔之道》和《代碼大全》有很多共同之處,但它有更為簡潔更為實際的清晰例子。– Craig P.Motlin
14.《》和《》
推薦數(shù):297
在我職業(yè)生涯早期,Scott Meyer的《Effective C++》和后續(xù)的《More Effective C++》都對我的編程能力有著直接影響。正如當(dāng)時的一位朋友所說,這些書縮短你培養(yǎng)編程技能的過程,而其他人可能要花費數(shù)年。
去年對我影響最大的一本書是《大教堂與市集》,該書教會我很有關(guān)開源開發(fā)過程如何運作,和如何處理我代碼中的Bug。– John Channing
15.《編程珠璣》
推薦數(shù):282
盡管我不得不羞愧地承認(rèn),書中一半的東西我都沒有理解,但我真的推薦《編程珠璣》,書中有些令人驚奇的東西。– Matt Warren
16.《修改代碼的藝術(shù)》by Michael Feathers
我認(rèn)為沒有任何一本書能向這本書一樣影響了我的編程觀點。它明確地告訴你如何處理其他人的代碼,含蓄地教會你避免哪些(以及為什么要避免)。-Wolfbyte
同意。很多開發(fā)人員討論用干凈的石板來編寫軟件。但我想幾乎所有開發(fā)人員的某些時候是在吃其他開發(fā)人員的狗食。– Bernard Dy
17.《編碼:隱匿在計算機(jī)軟硬件背后的語言》
我推薦Charles Petzold的《編碼》。在這個充滿工具和IDE的年代,很多復(fù)雜度已經(jīng)從程序員那―抽取‖走了,這本書一本開眼之作。– hemil
18.《禪與摩托車維修藝術(shù) / Zen and the Art of Motorcycle Maintenance》 對我影響最大的那本書是 Robert Pirsig 的《禪與摩托車維修藝術(shù)》。不管你做什么事,總是要力求完美,徹底了解你手中的工具和任務(wù),更為重要的是,要有樂趣(因為如果你做事有樂趣,一切將自發(fā)引向更好的結(jié)果)。– akr
(編注:關(guān)于這本書,也可以看看阮一峰的讀后感。)
19.《 / 人件集:人性化的軟件開發(fā)》
Demarco 和 Lister 表明,軟件開發(fā)中的首要問題是人,并非技術(shù)。他們的答案并不簡單,只是令人難以置信的成功。第二版新增加了八章內(nèi)容。– Eduardo Molteni
20.《Coders at Work / 編程人生》
一本非常有影響力的書,可以從中學(xué)到一些業(yè)界頂級人士的經(jīng)驗,了解他們?nèi)绾嗡伎疾⒐ぷ鳌(C Jahanzeb Farooq
21.《Surely You’re Joking, Mr.Feynman!/ 別鬧了,費曼先生!》
雖然這本書可能有點偏題,但不管你信不信,這本書曾在計算機(jī)科學(xué)專業(yè)課程的閱讀列表之上。一個優(yōu)秀的角色模型,一本有關(guān)好奇心的優(yōu)秀書籍。– mike511
22.《 中文版》
此書第二版教你如何編寫漂亮并高效的代碼,雖然這是一本Java書,但其中有很多跨語言的理念。– Marcio Aguiar
23.《Patterns of Enterprise Application Architecture / 企業(yè)應(yīng)用架構(gòu)模式》 很奇怪,還沒人推薦 Martin Fowler 的《企業(yè)應(yīng)用架構(gòu)模式》-levi rosol
24.《》和《》 nmiranda
這兩本是LISP的英文書,尚無中文版。美國東北大學(xué)網(wǎng)站上也有電子版。
25.《交互設(shè)計之路》英文名:《The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity》該書作者:Alan Cooper,人稱Visual Basic之父,交互設(shè)計之父。
本書是基于眾多商務(wù)案例,講述如何創(chuàng)建更好的、高客戶忠誠度的軟件產(chǎn)品和基于軟件的高科技產(chǎn)品的書。本書列舉了很多真實可信的實際例子,說明目前在軟件產(chǎn)品和基于軟件的高科技產(chǎn)品中,普遍存在著―難用‖的問題。作者認(rèn)為,―難用‖問題是由這些產(chǎn)品中存在著的高度―認(rèn)知摩擦‖引起的,而產(chǎn)生這個問題的根源在于現(xiàn)今軟件開發(fā)過程中欠缺了一個為用戶利益著想的前期―交互設(shè)計‖階段。―難用‖的產(chǎn)品不僅損害了用戶的利益,最終也將導(dǎo)致企業(yè)的失敗。本書通過一些生動的實例,讓人信服地講述了由作者倡導(dǎo)的―目標(biāo)導(dǎo)向‖交互設(shè)計方法在解決―難用‖問題方面的有效性,證實了只有改變現(xiàn)有觀念,才能有效地在開發(fā)過程中引入交互設(shè)計,將產(chǎn)品的設(shè)計引向成功。
本書雖然是一本面向商務(wù)人員而編寫的書,但也適合于所有參與軟件產(chǎn)品和基于軟件的高科技產(chǎn)品開發(fā)的專業(yè)人士,以及關(guān)心軟件行業(yè)和高科技行業(yè)現(xiàn)狀與發(fā)展的人士閱讀。
他還有另一本中文版著作:《About Face 3 交互設(shè)計精髓》
26.《 》
如果你不是程序員,閱讀此書可能會很有趣,但如果你已經(jīng)是個程序員,可能會有點乏味。
27.《》
It is useful regardless operating system you use.– J.F.Sebastian
不管你使用什么操作系統(tǒng),這本書都很有用。– J.F.Sebastian
28.《Practices of an Agile Developer / 高效程序員的45個習(xí)慣:敏捷開發(fā)修煉之道》
45個習(xí)慣,分為7個方面:工作態(tài)度、學(xué)習(xí)、軟件交付、反饋、編碼、調(diào)試和協(xié)作。每一個具體的習(xí)慣里,一開始提出一個謬論,然后展開分析,之后有正隊性地提出正確的做法,并設(shè)身處地地講出了正確做法給你個人的―切身感受‖,最后列出幾條注意事項,幫助你修正自己的做法(―平衡的藝術(shù)‖)。
29.《Test-Driven Development by Example./ 測試驅(qū)動開發(fā)》
前面已經(jīng)提到的很多書都啟發(fā)了我,并影響了我,但這本書每位程序員都應(yīng)該讀。它向我展示了單元測試和TDD的重要性,并讓我很快上手。– Curro
我不關(guān)心你的代碼有多好或優(yōu)雅。如果你沒有測試,你或許就如同沒有編寫代碼。這本書得到的推薦數(shù)應(yīng)該更高些。人們討論編寫用戶喜歡的軟件,或既設(shè)計出色并健壯的高效代碼,但如果你的軟件有一堆bug,談?wù)撃切〇|西毫無意義。– Adam Gent
30.《Don’t Make Me Think / 點石成金:訪客至上的網(wǎng)頁設(shè)計秘笈》
取決于你所追求的目標(biāo)。我喜歡《代碼大全》是因純編程,《點石成金》是一本有關(guān)UI設(shè)計的卓越書籍。– Justin Standard
最后,除了上述的書單以外,也有微博網(wǎng)友推薦《一些經(jīng)典的計算機(jī)書籍》,大約在50本左右,希望這些搜集總結(jié)能對程序員同學(xué)有所提點和幫助吧。
第五篇:必讀的十個寓言故事
班主任必讀的十個寓言故事
一、班主任工作就和交朋友的道理一樣
先看一個故事:一只烏鴉打算飛往南方,途中遇到一只鴿子,一起停在樹上休息。鴿子問烏鴉:“你這么辛苦,為什么要離開這里呢?要飛到什么地方去呢?”烏鴉嘆了口氣,憤憤不平地說:“其實我不想離開,可是這里的居民都不喜歡我的叫聲,他們看到我就攆我,有些人還用石子打我,所以我想飛到別的地方去。”鴿子好心地說:“別白費力氣了。如果你不改變你的聲音,飛到哪兒都會不受歡迎的。”
許多人總喜歡責(zé)怪別人,怪別人不喜歡他不歡迎他,怪環(huán)境不好,卻總不愿意反省自己的為人舉止是否值得他人尊重及歡迎。一個不經(jīng)常反省自己而只會責(zé)怪別人和環(huán)境的人,不正和這只烏鴉一樣嗎?
由此看來,不被人討厭是結(jié)交朋友的最好辦法。做班主任也一樣,學(xué)生不討厭的班主任就是好班主任。
其實,做個好班主任并不難。可為什么很多班主任感覺難呢?主要是評價標(biāo)準(zhǔn)的問題,班主任工作是否成功,我看重一點:當(dāng)遇見學(xué)生時,學(xué)生是否會微笑著向你走來。
二、做個無憂的班主任
有這樣一個故事:一天,見一老農(nóng)趕著驢子,驢欲啃路邊的小麥,農(nóng)夫喊:“盡想好事。”隨手輕輕地給了驢一鞭。驢慢悠悠繼續(xù)前行。見此情景,心羨老農(nóng)——他太幸福了。
“盡想好事”,好事成真當(dāng)然是幸福的。要是我們的學(xué)生都聽話,按照我們的“吆喝”前行多好啊。“盡想好事”說出了驢的心聲,人又何嘗不是這樣呢?有點好事想總比沒有的好。只有心中有夢才會有前行的目標(biāo),才會有前行的動力。那就做個夢吧,做個有夢無憂的班主任。
三、班主任不做雕刻家,做個欣賞家
過去同一座山上,有兩塊相同的石頭,三年后發(fā)生了截然不同的變化,一塊石頭成為雕塑,受到很多人的敬仰和膜拜;一塊石頭卻成為路邊石,被人搬來搬去,還經(jīng)常受到踐踏、污損。路邊石極不平衡地說道:“老兄呀,三年前,我們曾經(jīng)同為一座山上的石頭,今天卻發(fā)生了這么大的差距,我心里特痛苦。”雕塑石頭答道:“老弟,你還記得嗎?三年前,曾經(jīng)來了一個雕塑家,你不愿意改變,更害怕割在身上一刀刀的痛,你告訴它只要把你簡單雕刻一下就可以了。而我那時想著未來模樣,樂于改變,也不懼割在身上一刀刀的痛。于是,雕刻家在你身上只是簡單地處理了一下,而我身上呢?錘子砸,鋼鋸鋸,刻刀刻,紗布磨??我經(jīng)受的改變是你的數(shù)倍,我忍受過的痛苦比你多得多,這才產(chǎn)生了今天的不同啊!”路邊石聽了這一席話,既慚愧,又后悔。
看完這個故事,千萬不要認(rèn)為我們想成為學(xué)生的“雕刻家”,對學(xué)生“錘子砸,鋼鋸鋸,刻刀刻,紗布磨??”事實上,每個學(xué)生都是一件值得欣賞的“藝術(shù)品”,學(xué)生想成為什么樣的人,完全取決于學(xué)生自己的選擇,我們無法也不應(yīng)盲目改變他們,只有學(xué)生自己能改變自己。我們要做的事就是放大他們美好的一面,積極上進(jìn)的一面。當(dāng)他們受到污染時,為他們除去污汁,鼓勵他們積極地面對人生。一方面,我們是欣賞家,欣賞學(xué)生的每一個亮點;一方面,要引導(dǎo)、鼓勵學(xué)生做自己命運的雕刻家。
四、追尋學(xué)生幸福的象征和感覺
一位國王總覺得自己不幸福,就派人四處去找一個感覺幸福的人,然后將他的襯衫帶回來。
尋找幸福的人碰到人就問:“你幸福嗎?”回答的總是說:不幸福,我沒有錢;不幸福,我沒親人;不幸福,我得不到愛情??就在他們不再抱任何希望時,從對面被陽光照著的山崗上,傳來悠揚的歌聲,歌聲中充滿了快樂。他們隨著歌聲找到了那個“幸福人”,只見他躺在山坡上,沐浴在金色的暖陽下。
“你感到幸福嗎?”
“是的,我感到很幸福。”
“你的所有愿望都能實現(xiàn)?你從不為明天發(fā)愁嗎?”
“是的。你看,陽光溫暖極了,風(fēng)兒和煦極了,我肚子又不餓,口又不渴,天是這么藍(lán),地是這么闊,我躺在這里,除了你們,沒有人來打攪我,我有什么不幸福的呢?” “你真是個幸福的人。請將你的襯衫送給我們的國王,國王會重賞你的。” “襯衫是什么東西?我從來沒見過。”??
每個人都在追尋幸福,每個人對幸福的詮釋各有不同。這個故事告訴我們幸福其實是一種象征,是一種自我感覺,關(guān)鍵是如何把握這種象征和感覺。
同樣的道理,班主任的育人目標(biāo)就應(yīng)該去追尋學(xué)生幸福的象征,追尋學(xué)生幸福的感覺。這種象征、感覺是什么?這難以用一兩句話說清楚。但我們知道,學(xué)生幸福的象征、學(xué)生幸福的感覺都寫在學(xué)生的臉上。這需要班主任的萬能定律“呵護(hù)那一點點光”解讀。
班主任育人目標(biāo)就是——學(xué)生幸福的象征,學(xué)生幸福的感覺。
五、適合自己的教育就是最好的教育
有一則《井蛙歸井》的寓言故事:井里的青蛙向往大海,請求大鱉帶它去看海。大鱉平生第一回當(dāng)向?qū)В浅8吲d,便欣然同意。一鱉一蛙離開了井,慢慢前行,來到海邊。青蛙見到一望無際的大海,驚嘆不已。它“呱呱”大叫,急不可待地扎進(jìn)大海的懷抱,卻被一個浪頭打回沙灘,措手不及喝了幾口咸水,還被摔得暈頭轉(zhuǎn)向。大鱉見狀,就叫青蛙趴在自己的背上,帶著它游海。一蛙一鱉漂浮在海面上,樂趣無窮,青蛙也逐漸適應(yīng)了海水,能自己游一會兒了。就這樣,它倆玩得很開心。過了一陣子,青蛙有些渴了,但喝不了又苦又咸的海水。它也有些餓了,卻怎么也找不到一只它可以吃的蟲子。青蛙想了想,對大鱉說:“大海的確很好,但以我的身體條件,不能適應(yīng)海里的生活。最要命的是,這里沒有我能吃的食物。看來,我還是要回到我的井里去,那里才是我的樂土。”于是,青蛙向大鱉告別,回到了自己的井中,過著平安快樂的生活。
原來,適合自己的才是最好的,同樣,適合自己的教育才是最好的教育。馬爾比·D·馬布科克說:“最常見同時也是代價最高昂的一個錯誤,是認(rèn)為成功有賴于某種天才、某種魔力、某些我們不具備的東西。”其實,成功的要素就掌握在我們自己手中。
成功的教育方法是不容易學(xué)不到的,假如容易學(xué)得到的話,我想領(lǐng)導(dǎo)們就會不惜一切代價讓我們出去學(xué)習(xí),專攻“點金之術(shù)”,那教育就簡單了。故事給我們很好的啟示,適合自己的教育就是好的教育,不必太在意與名家的不同。可能你會說:“井底之蛙,見識少,才會這樣說。”或許你說得也沒錯,我們生活的世界真的是很有趣,任何事情都有兩面性,“善與惡”、“積極與消極”等等,就看你看到哪一面。我看還是努力把別人的教育方法內(nèi)化為自己的,不斷提高自身的教育能力,使自己的教育行為具有鮮明的個性。須知,適合自己的教育就是最好的教育。
六、以積極的態(tài)度面對教育難題
拿破侖·希爾曾講過這樣一個故事,對我們每個人都極有啟發(fā)。
塞爾瑪陪伴丈夫駐扎在一個沙漠的陸軍基地里。丈夫奉命到沙漠里去演習(xí),她一個人留在陸軍的小鐵皮房子里,天氣熱得受不了——在仙人掌的陰影下也有華氏125度。她沒有人可談天——身邊只有墨西哥人和印第安人,而他們不會說英語。她非常難過,于是就寫信給父母,說要丟開一切回家去。她父親的回信只有兩行,這兩行信卻永遠(yuǎn)留在她心中,完全改變了她的生活:
兩個人從牢中的鐵窗望出去。一個看到泥土,一個卻看到了星星。
塞爾瑪一再讀這封信,覺得很慚愧。她決定要在沙漠中找到星星。
塞爾馬開始和當(dāng)?shù)厝私慌笥眩麄兊姆磻?yīng)使她非常驚奇,她對他們的紡織、陶器表示興趣,他們就把最喜歡但舍不得賣給觀光客人的紡織品和陶器送給了她。塞爾瑪研究那些引人入迷的仙人掌和各種沙漠植物、物態(tài),又學(xué)習(xí)了有關(guān)土撥鼠的知識。她觀看沙漠日落,還尋找海螺殼,這些海螺殼是幾萬年前的,這沙漠還是海洋時留下來的??原來難以忍受的環(huán)境變成了令人興奮、留連忘返的奇景。
是什么使這位女士內(nèi)心發(fā)生了這么大的轉(zhuǎn)變呢?
沙漠沒有改變,印第安人也沒有改變,但是這位女士的念頭改變了,心態(tài)改變了。一念之差,使她把原先認(rèn)為惡劣的情況變?yōu)橐簧凶钣幸饬x的冒險。她為發(fā)現(xiàn)新世界而興奮不已,并為此寫了一本書,以《快樂的城堡》為書名出版了。
同一個學(xué)校,班主任的知識水平應(yīng)該說沒有明顯的差異,但這種很小的差異卻往往造成了教育效果的懸殊。積極的教育心態(tài)容易使教育成功,消極的教育心態(tài)必導(dǎo)致教育失敗。于此,我們都有切實的體會。
七、教育行為開始之前一定要換位思考
有一位作母親的很喜歡帶著5歲的女兒逛商店,可是女兒卻總是不愿意去,母親覺得很奇怪,商店里琳瑯滿目五顏六色的東西那么多,小孩子為什么不喜歡呢?直到有一次,孩子的鞋帶開了,母親蹲下身子為孩子系鞋帶,突然發(fā)現(xiàn)了一種從未見過的可怕的景象:眼前晃動著的全是腿和胳膊。于是,她抱起孩子,快步走出商店。從此,即使是必須帶孩子去商店的時候,她也是把孩子扛在肩上。
真是一位細(xì)心的母親!
“蹲下身來看看孩子的世界”,與學(xué)生換位,反思我們的教育,真的有點可怕。學(xué)生犯了錯時,經(jīng)常采取一些責(zé)問、訓(xùn)斥、罰站等做法。這樣的做法學(xué)生根本不會有安全感,設(shè)想一下沒有安全感的教育怎么會有效呢?難怪很多老師在教育學(xué)生之后,沒有達(dá)到預(yù)期的效果時,也多半覺得委屈——“好心沒好報”。其實,這樣的大動肝火,不如寬容、諒解和體貼入微的感情上的感化有效。
教育要考慮到學(xué)生的可接受性。以關(guān)愛學(xué)生的態(tài)度教育學(xué)生,這樣的教育有安全感,有安全感的教育才會有效,學(xué)生才會有自信,才會有追求,才會有奮斗的行動。老師給予學(xué)生一分關(guān)愛,燃起學(xué)生一分自信。
切記,教育行為開始之前一定要換位思考。
八、班主任完美定律
有三個這樣的孩子:一個孩子4歲才會說話,7歲才會寫字,老師對他的評語是:“反應(yīng)遲鈍,思維不合邏輯,滿腦子不切實際的幻想。”他曾經(jīng)還遭遇到退學(xué)的命運。
一個孩子曾被父親抱怨是白癡,在眾人眼中,他是毫無前途的學(xué)生,藝術(shù)學(xué)院考了三次還考不進(jìn)去。他叔叔絕望地說:“孺子不可教也!”
一個孩子經(jīng)常遭到父親的斥責(zé):“你放著正經(jīng)事不干,整天只管打獵、捉耗子,將來怎么辦?”所有教師和長輩都認(rèn)為他資質(zhì)平庸,與聰明沾不上邊。
這三個孩子分別是愛因斯坦、羅丹和達(dá)爾文。
這個答案不會讓你感到意外嗎?我們做過類似的傻事嗎?曾被我“預(yù)言”不成器的學(xué)生中,也許沒有像愛因斯坦、羅丹和達(dá)爾文似的著名人物,但也不乏活得滋潤、幸福、事業(yè)小有成績的。我真的擔(dān)心那些被我“預(yù)言”不成器的學(xué)生,現(xiàn)在是否真的就不成器了?
其實,每個學(xué)生都心存著一個夢想,都有一座屬于自己的天堂,我們不能發(fā)現(xiàn)它,那是我們還缺少一雙智慧的眼睛。
面對學(xué)生應(yīng)該怎樣做呀?再看看下面的故事,我想會有答案。
有個孩子對一個問題一直想不通,為什么他的同桌想考第一一下子就考了第一。而自己想考第一卻才考了全班第二十一名?回家后他問道:“媽媽,我是不是比別人笨?我覺得我和他一樣聽老師的話,一樣認(rèn)真的做作業(yè),可是,為什么我總比他落后?”媽媽聽了兒子的話,感覺兒子開始有自尊心了,而這種自尊心正在被學(xué)校的排名傷害著。她望著兒子,沒有回答,因為她不知道怎樣回答。
又一次考試后,孩子考了第十七名,而他的同桌還是第一名。回家后,兒子又問了同樣的問題。她真想說,人的智力確實有三六九等,考第一的人,腦子就是比一般人的靈。然而這樣的回答,難道是孩子真想知道的答案嗎?她慶幸自己沒有說出口。
應(yīng)該怎樣回答兒子的問題呢?有幾次,她真想重復(fù)那幾句被上萬個父母重復(fù)了上萬次的話--你太貪玩了、你在學(xué)習(xí)上還不夠勤奮、和別人比起來還不夠努力??以此來搪塞兒子。然而,像她兒子這樣腦袋不夠聰明,在班上成績不甚突出的孩子,平時活得還夠辛苦嗎?所以,她沒有那么做,她想為兒子的問題找到一個完美的答案。
兒子小學(xué)畢業(yè)了,雖然他比過去更加刻苦,但依然沒趕上他的同桌,不過與過去相比,他的成績一直在提高。為了對兒子的進(jìn)步表示贊賞,她帶他去看了一次大海。就是這次旅行中,這位母親回答了兒子的問題。
后來,這個孩子再也不擔(dān)心自己的名次了,也再沒有人追問他小學(xué)時成績排第幾名,因為他以全校第一名的成績考入了清華大學(xué)。
故事中沒提到母親的答案是什么,給我們留下了個性的想象空間。我想母親的答案一定很完美!
故事沒有給我們一個清晰的教育思路,但也能給我們一點啟示:班主任無論面對什么樣的教育問題,都要有尋求“完美答案”的精神。只要我們這樣做了,或許教育效果不一定好,至少不會傷害學(xué)生。只要我們這樣做了,或許我們不一定會成為好班主任,起碼我們不會平庸。
九、愛得多了也是一種傷害
有一個湖,叫天鵝湖,湖中有一個小島,住著一個老漁翁和他的妻子。漁翁搖船捕魚,妻子養(yǎng)雞喂鴨,除了買些油鹽,他們很少與外界往來。有一年秋天,一群天鵝來到島上,它們是從遙遠(yuǎn)的北方飛來,準(zhǔn)備去南方過冬的。老夫婦看到這群遠(yuǎn)方來客,非常高興,因為他們在這兒住了這么多年,還沒有誰來拜訪過。漁翁夫婦拿出喂雞的飼料和打來的小魚招待天鵝,漸漸地這群天鵝就和漁翁夫婦成了朋友。它們在島上不僅敢大搖大擺地走來走去,而且在老漁翁捕魚時,它們隨船而行,嬉戲左右。冬天來了,這群天鵝竟然沒有繼續(xù)往南飛,它們白天在湖上覓食,晚上在小島上棲息。當(dāng)湖面封凍,它們無法覓食的時候,老夫婦就敞開他們的茅屋讓它們進(jìn)屋取暖,并且給它們食物。這種關(guān)愛一直持續(xù)到春天來臨,湖面解凍。日復(fù)一日,年復(fù)一年,每年冬天,老夫婦都這樣奉獻(xiàn)著他們的愛心。有一年,他們老了,離開了小島,天鵝也從此消失了,不過它們不是飛向了南方,而是在第二年湖面封凍的時候凍死了。有時候愛得多了也是一種傷害,并且致命。
我們工作中有沒有因“愛”給學(xué)生造成了傷害?總擔(dān)心學(xué)生無法建立班級秩序,我們建立的班規(guī);總擔(dān)心學(xué)生做不好衛(wèi)生,我們做出的榜樣;總擔(dān)心學(xué)生違規(guī),我們的苦口婆心;總擔(dān)心學(xué)生春游出問題,我們放棄了學(xué)生尋找春天的渴望;
這些“愛”,有的會傷害他們的心靈,有的會使他們心靈碎弱,有的會使他們逃避責(zé)任!太細(xì)心的“關(guān)愛”使他們無法面對現(xiàn)實。學(xué)生生活在社會中,就要接受社會的摔打。
十、班主任萬能定律:呵護(hù)那一點點光
這是一個關(guān)于孩子和母親的故事。朋友們!這個故事要用心去讀。
孩子兩歲了,第一次看見一只螞蟻。也許別的母親會鼓勵她的孩子去一腳踩死那只螞蟻來鍛煉他的膽量。可是這個孩子的母親卻柔聲地對他說:“兒子,你看它好乖哦!螞蟻媽媽一定很疼愛她的螞蟻寶寶呢!”于是小孩就趴在一旁驚喜地看那只螞蟻寶寶。它遇見障礙物過不去了,小孩就用小手搭橋讓它爬過去,母親一臉欣喜。
后來,孩子上幼兒園了。有一次,他吃完了香蕉隨手亂扔香蕉皮。她沒有像一些母親那樣視而不見,而是讓他撿起來,帶著他丟進(jìn)果皮箱里。然后給他講了一個故事:有一個小女孩,在媽媽的熏陶下,她總要把垃圾扔進(jìn)果皮箱里,有一次對面才有果皮箱,她就過馬路去丟雪糕紙。媽媽看著她走過去。然而一輛車飛奔過來,小女孩像一只蝴蝶一樣飛走了。她媽媽就瘋了,每天都在那個地方撿別人丟下的垃圾。當(dāng)?shù)厝烁袆恿耍瑥拇瞬辉賮y丟垃圾,他們把那些綠色的果皮箱擦得一塵不染,在每一個果皮箱上都貼上小女孩的名字和美麗的相片。從此,那個城市成為一座永遠(yuǎn)美麗的城市。故事講完了,孩子的眼眶濕潤了。他說:媽媽,我再也不亂扔?xùn)|西了。
孩子上小學(xué)了。可是最近他總是遲到。老師找了他的母親。她沒有罵他,或者打他。臨睡覺的時候,她對他說:“孩子,告訴媽媽好嗎?為什么那么早出去,卻還要遲到?”孩子說他發(fā)現(xiàn)在河邊看日出太美了,所以他每天都去,看著看著就忘了時間。第二天,母親一早就跟他去河邊看了日出。她說:“真是太美了,兒子,你真棒!”這一天,他沒有遲到。傍晚,他放學(xué)回家時,他的書桌上有一只好看的小手表。下面壓著一張紙條:因為日出太美了,所以我們更要珍惜時間和學(xué)習(xí),你說是嗎?愛你的媽媽。
后來,孩子上初中了。有一天,班主任打來電話,說有嚴(yán)重的事件找她去學(xué)校。原來,兒子在課堂上偷看一本畫冊,里面有幾張人體畫!她的腦袋嗡了一下。和老師交換了意見后,她替兒子要回了那本畫冊,仿佛什么也沒有發(fā)生。第二天早晨,兒子在他的枕頭上發(fā)現(xiàn)了那本畫冊,上面附著一封信:兒子,生命如花,都是美麗。所以一朵花枯了,很多年后,我們還能憶起;所以一個女人死了,千年后,我們還能懷念她的美麗,比如李清照,還有秋瑾。孩子,從美出發(fā),記住那些讓我們感動的細(xì)節(jié),比如一片落葉,一件母親給你織的毛衣,一個曾經(jīng)為你彎腰系過鞋帶的女孩??有一天,你就會以你充滿色彩和生命的心香感召世人,就像你小的時候我給你講的那個飛翔在果皮箱上的小女孩。人們愛她,因為她是天使??
這位極聰明偉大的母親懂得在孩子的缺點中發(fā)現(xiàn)那一點點優(yōu)點,并用無微不至的圣潔的母愛呵護(hù)著他生命中的那一點點光!而那一點點不曾被撲滅的光,總有一天會灑成滿天的星星、月亮和太陽,照亮這個我們深愛著的人世啊。
讓我們虔誠地把故事牢記在心,用心思考,用心感悟。讓教育智慧升華,煉就一雙慧眼,發(fā)現(xiàn)孩子“那一點點光。”總會有那一瞬間,一顆流星、一點流螢,在廣袤的夜空,都是亮麗的風(fēng)景,都讓我們感受到每一個鮮活生命的獨一無二和與眾不同。
讓我們一起努力!讓“呵護(hù)那一點點光”永存心中,作為我們教育行為的準(zhǔn)則.