国产精品色无码视频,国产av毛片影院精品资源,亚洲人成网站77777·c0m,囯产av无码片毛片一级,夜夜操www99视频,美女白嫩胸交在线观看,亚洲a毛片性生活

薈聚奇文、博采眾長、見賢思齊
當(dāng)前位置:公文素材庫 > 報告體會 > 心得體會 > 編程心得

編程心得

網(wǎng)站:公文素材庫 | 時間:2019-05-29 22:40:37 | 移動端:編程心得

編程心得

編程心得

怎么入門這個答案可謂仁者見仁,智者見智,沒有標(biāo)準(zhǔn)答案,有的是工作需要,有的則是家里被逼的,有的是看到這行待遇不錯,有的則完全是興趣愛好,入門的途徑也不同,看一本書,跟一個人學(xué),參加一個興趣班,大學(xué)專業(yè)選這個,反正條條大路通羅馬,不同的在于路途的曲折和困難,在我看來,興趣是最基本的,完全沒有興趣的朋友,請繞道吧,這條路不適合你(我猜測能看我帖子的朋友,大部分還是因為興趣來的),想想自己寫一個局域網(wǎng)內(nèi)的五子棋游戲,還可以跟人聊天,聊著聊著彈出一個你的頭像,這是多么愜意的事情,有興趣,你就像有了造房子的地基,接著,選磚頭,好的房子是由好的磚頭砌起來的,那么選什么樣的磚頭呢?這就是下一個問題了.

選哪門語言做入門語言至于這個問題,網(wǎng)上爭論不休,貌似大部分人都推薦學(xué)C,我個人的意見不是這個,我認(rèn)為要分別論之,注意,我在此僅討論初學(xué)入門用語言,而非哪門語言好:

1)如果你是一個計算機(jī)專業(yè)或者軟件專業(yè)的人(我所謂的人是指包括在校以及已經(jīng)畢業(yè)了的人),我沒有什么可說的,在學(xué)校有人教你的情況下,你如果連C都沒學(xué)好,還是別在這一行混了,我說的學(xué)好,并非是對C語言所有特性,所有使用方法,所有晦澀難懂的符號表示方法,申明方法等都必須精通,一看就懂,沒那么厲害的人物,有也不會來看這篇文章了,我所謂的學(xué)好,是指能寫一個實(shí)用的應(yīng)用程序,不求大,類似于寫一個串口通訊類的程序,還有就是能夠基本看懂別人寫的C語言的源碼,看不懂的地方,稍微查下資料也能懂,這就是我所謂的學(xué)好,怎么樣,要求不高吧,也許有人認(rèn)為學(xué)C語言過時了,這個請自行網(wǎng)上查詢下為什么要學(xué)C語言,我不想跟認(rèn)為C語言過時的人多做討論.

2)如果你是一個非計算機(jī)專業(yè)的人,怎么說呢,C語言并非是我首先推薦的,因為它對于你來說太過晦澀難懂,它太專業(yè)了,沒有一定的專業(yè)基礎(chǔ)知識還真的很難搞明白它,為什么這么說呢?你對操作系統(tǒng)的內(nèi)存分配知識了解嗎?系統(tǒng)底層是怎么樣消息通訊的?C語言可以很好的詮釋這些問題,但是正因為此,它也就變得高不可攀,沒有深厚的計算機(jī)知識,還真啃不動它,那么對于非計算機(jī)專業(yè)的人,學(xué)什么好呢?我的推薦是:VB6.0,看清楚哦,不是VB.net,是VB6.0,也許此時又要有人跳出來叫了,VB6.0太老了,很不幸的告訴你,我也是從VB6.0開始深深愛上了編程,然后到現(xiàn)在,C,VC,Delphi,C#,VB.net,正所謂一通百通,難道沒有聽說過嗎?學(xué)了VB6.0,再去學(xué)其他語言,會輕松很多,我不知道現(xiàn)在的大學(xué)教育怎么樣?反正以前非計算機(jī)專業(yè)的編程語言VB6.0是首選.VB.net固然有很多優(yōu)勢,但是相對一個非計算機(jī)專業(yè)的初學(xué)者來說,它太過龐大,一開始無從下手,而且VB6.0也是一門很優(yōu)秀的語言,也出過很多優(yōu)秀的軟件,建議初學(xué)者從VB6.0的入門,然后一步步去升華,從簡單的一個計算器,到API的調(diào)用,然后寫些數(shù)據(jù)庫管理軟件,OK,到了下一篇了,升級篇.學(xué)了語言后怎么做些實(shí)際功能的東西在這一點(diǎn)上,請千萬要記住,語言是工具,所以我也特別反感跟人過多討論語言的孰優(yōu)孰劣,編程語言學(xué)好了,不用,就像你拿著4,6級證書,卻從來不用英文跟人談話一樣,碰到英語會話就變成啞巴一個,那么你就算學(xué)了8級,你的能力也只是一張證書而已,毫無用處.那么,怎么做些實(shí)際的東西呢?這個說起來就有難度了,因為實(shí)際功能的軟件可大可小,小到計算器,大到一個監(jiān)控系統(tǒng),ERP等,但是無論項目的大小,都有一個共同點(diǎn),就是能夠迅速提高和鞏固你的知識范圍,你會發(fā)現(xiàn),你不僅僅要學(xué)這門語言,這個編程工具,這個IDE,你要學(xué)的還有很多,數(shù)庫,RS232,USB,Socket等等,你要真正編寫一個應(yīng)用程序,你的知識面,或者說你要懂的還有很多,這就開始了你的應(yīng)用之旅,如果你發(fā)現(xiàn)你還需要學(xué)點(diǎn)什么的話,那么恭喜你,你已經(jīng)開始走上應(yīng)用之路了.如果你不知道要寫個什么東西,甚至不知道從何下手,請回顧一下你學(xué)的知識,應(yīng)該學(xué)了編程語言的語法了吧,然后呢?有沒有學(xué)到控件的使用方法?有哪些控件?這些控件干什么的?能不能結(jié)合這些控件寫些什么東西出來?比如記得有個MSCOMM控件,哎,它是個串口控件,那么我能不能寫個串口調(diào)試助手?雖然網(wǎng)上有了,但是我寫一個"XX專用"豈不是很有意思?

一通百通這個其實(shí)已經(jīng)不能算初學(xué)者疑惑了,因為我不能肯定,初學(xué)者是否都會在這方面有疑惑,我其實(shí)很疑惑一個Windows操作系統(tǒng)搞那么多編程語言出來干什么,整一個就夠了,想來想去,只有2個方面的考慮,一個是商業(yè)原因,還有一個就是的確是給廣大朋友帶來好處的便利性,如C和VB6.0,的確一個復(fù)雜,一個簡單,如果只存在C語言的話,那么,現(xiàn)在程序員的福利待遇可能還會更高吧?我先討論一下VB6.0,大家一定都有用過Office套件吧,Excel里面有個宏,大家知道吧?這個就是著名的VBA,VisualBasicAdvanced,它可以實(shí)現(xiàn)Excel的一些高級功能,圖表自動生成,自動考勤,但是用過VB6.0的朋友可以發(fā)現(xiàn),VB6.0和VBA非常相似,語法完全一樣,如果你深入一點(diǎn),你甚至可以發(fā)現(xiàn),VB中可以調(diào)用操作Excel文件,神奇吧?你完全可以脫離Excel這個界面來操作Excel文件了,神奇吧?還有更神奇的地方,任何語言,只要支持COM(很不幸的是,C語言不支持,其他都支持,原因我后面來討論),都可以這樣做,都可以調(diào)用Excel的COM接口,這個顯然是比較高級的功能了,我舉這個例子是為了說明一通百通原理,很多軟件應(yīng)用,功能,很多語言,工具都可以實(shí)現(xiàn),只要搞懂了原理,實(shí)現(xiàn)起來沒有差別,唯一區(qū)別就是語種,就像你為了拿到桌子上的那瓶牛奶,對日本傭人要說日語,對美國傭人要說英語,而對韓國傭人要說韓語是一樣的道理,都是為了實(shí)現(xiàn)拿到那瓶牛奶,那么實(shí)際情況是,你對哪個語種熟悉,你就會選用哪種傭人,實(shí)際上有一點(diǎn)我可以很高興的告訴你,編程語言比起英語,法語,德語......簡單的多了,所以你學(xué)起來也很簡單,每次有人看我寫的程序,都會驚呼,你英語真好,我很納悶,這編程語言和英語有什么關(guān)系呢?C語言之所以不支持COM是跟它的平臺支持性有關(guān)

擴(kuò)展閱讀:編程心得

[原創(chuàng)]致編程新手的一封信(入門篇)

我逛了這個論壇也有半年時間了,一般都是回答別人問題為首任,這是我的第一篇帖子,這段時間老看到新手詢問一開始怎么入手學(xué)編程,從哪門語言可以學(xué)起,雖然網(wǎng)上答案眾多,但是往往寥寥數(shù)語,讓新手無從下手,甚至有的帶有誤導(dǎo)的傾向(我不搞攻擊,只講事實(shí)),說句實(shí)話,每個人學(xué)習(xí)的經(jīng)歷不同,很難將自己的經(jīng)歷復(fù)制給別人,所以在此,我只講講我的感想,當(dāng)然也希望對作為初學(xué)者的有所幫助.本篇適合初學(xué)者,自認(rèn)為高手的可以掠過.1.初學(xué)者疑惑之一,怎么入門

這個答案可謂仁者見仁,智者見智,沒有標(biāo)準(zhǔn)答案,有的是工作需要,有的則是家里被逼的,有的是看到這行待遇不錯,有的則完全是興趣愛好,入門的途徑也不同,看一本書,跟一個人學(xué),參加一個興趣班,大學(xué)專業(yè)選這個,反正條條大路通羅馬,不同的在于路途的曲折和困難,在我看來,興趣是最基本的,完全沒有興趣的朋友,請繞道吧,這條路不適合你(我猜測能看我帖子的朋友,大部分還是因為興趣來的),想想自己寫一個局域網(wǎng)內(nèi)的五子棋游戲,還可以跟人聊天,聊著聊著彈出一個你的頭像,這是多么愜意的事情,有興趣,你就像有了造房子的地基,接著,選磚頭,好的房子是由好的磚頭砌起來的,那么選什么樣的磚頭呢?這就是下一個問題了.

2.初學(xué)者疑惑之二,選哪門語言做入門語言

至于這個問題,網(wǎng)上爭論不休,貌似大部分人都推薦學(xué)C,我個人的意見不是這個,我認(rèn)為要分別論之,注意,我在此僅討論初學(xué)入門用語言,而非哪門語言好:

1)如果你是一個計算機(jī)專業(yè)或者軟件專業(yè)的人(我所謂的人是指包括在校以及已經(jīng)畢業(yè)了的人),我沒有什么可說的,在學(xué)校有人教你的情況下,你如果連C都沒學(xué)好,還是別在這一行混了,我說的學(xué)好,并非是對C語言所有特性,所有使用方法,所有晦澀難懂的符號表示方法,申明方法等都必須精通,一看就懂,沒那么厲害的人物,有也不會來看這篇文章了,我所謂的學(xué)好,是指能寫一個實(shí)用的應(yīng)用程序,不求大,類似于寫一個串口通訊類的程序,還有就是能夠基本看懂別人寫的C語言的源碼,看不懂的地方,稍微查下資料也能懂,這就是我所謂的學(xué)好,怎么樣,要求不高吧,也許有人認(rèn)為學(xué)C語言過時了,這個請自行網(wǎng)上查詢下為什么要學(xué)C語言,我不想跟認(rèn)為C語言過時的人多做討論.

2)如果你是一個非計算機(jī)專業(yè)的人,怎么說呢,C語言并非是我首先推薦的,因為它對于你來說太過晦澀難懂,它太專業(yè)了,沒有一定的專業(yè)基礎(chǔ)知識還真的很難搞明白它,為什么這么說呢?你對操作系統(tǒng)的內(nèi)存分配知識了解嗎?系統(tǒng)底層是怎么樣消息通訊的?C語言可以很好的詮釋這些問題,但是正因為此,它也就變得高不可攀,沒有深厚的計算機(jī)知識,還真啃不動它,那么對于非計算機(jī)專業(yè)的人,學(xué)什么好呢?我的推薦是:VB6.0,看清楚哦,不是VB.net,是VB6.0,也許此時又要有人跳出來叫了,VB6.0太老了,很不幸的告訴你,我也是從VB6.0開始深深愛上了編程,然后到現(xiàn)在,C,VC,Delphi,C#,VB.net,正所謂一通百通,難道沒有聽說過嗎?學(xué)了VB6.0,再去學(xué)其他語言,會輕松很多,我不知道現(xiàn)在的大學(xué)教育怎么樣?反正以前非計算機(jī)專業(yè)的編程語言VB6.0是首選.VB.net固然有很多優(yōu)勢,但是相對一個非計算機(jī)專業(yè)的初學(xué)者來說,它太過龐大,一開始無從下手,而且VB6.0也是一門很優(yōu)秀的語言,也出過很多優(yōu)秀的軟件,建議初學(xué)者從VB6.0的入門,然后一步步去升華,從簡單的一個計算器,到API的調(diào)用,然后寫些數(shù)據(jù)庫管理軟件,OK,到了下一篇了,升級篇.3.初學(xué)者疑惑之三,學(xué)了語言后怎么做些實(shí)際功能的東西.

在這一點(diǎn)上,請千萬要記住,語言是工具,所以我也特別反感跟人過多討論語言的孰優(yōu)孰劣,編程語言學(xué)好了,不用,就像你拿著4,6級證書,卻從來不用英文跟人談話一樣,碰到英語會話就變成啞巴一個,那么你就算學(xué)了8級,你的能力也只是一張證書而已,毫無用處.那么,怎么做些實(shí)際的東西呢?這個說起來就有難度了,因為實(shí)際功能的軟件可大可小,小到計算器,大到一個監(jiān)控系統(tǒng),ERP等,但是無論項目的大小,都有一個共同點(diǎn),就是能夠迅速提高和鞏固你的知識范圍,你會發(fā)現(xiàn),你不僅僅要學(xué)這門語言,這個編程工具,這個IDE,你要學(xué)的還有很多,數(shù)庫,RS232,USB,Socket等等,你要真正編寫一個應(yīng)用程序,你的知識面,或者說你要懂的還有很多,這就開始了你的應(yīng)用之旅,如果你發(fā)現(xiàn)你還需要學(xué)點(diǎn)什么的話,那么恭喜你,你已經(jīng)開始走上應(yīng)用之路了.如果你不知道要寫個什么東西,甚至不知道從何下手,請回顧一下你學(xué)的知識,應(yīng)該學(xué)了編程語言的語法了吧,然后呢?有沒有學(xué)到控件的使用方法?有哪些控件?這些控件干什么的?能不能結(jié)合這些控件寫些什么東西出來?比如記得有個MSCOMM控件,哎,它是個串口控件,那么我能不能寫個串口調(diào)試助手?雖然網(wǎng)上有了,但是我寫一個"XX專用"豈不是很有意思?4.初學(xué)者疑惑之四,一通百通.

這個其實(shí)已經(jīng)不能算初學(xué)者疑惑了,因為我不能肯定,初學(xué)者是否都會在這方面有疑惑,我其實(shí)很疑惑一個Windows操作系統(tǒng)搞那么多編程語言出來干什么,整一個就夠了,想來想去,只有2個方面的考慮,一個是商業(yè)原因,還有一個就是的確是給廣大朋友帶來好處的便利性,如C和VB6.0,的確一個復(fù)雜,一個簡單,如果只存在C語言的話,那么,現(xiàn)在程序員的福利待遇可能還會更高吧?我先討論一下VB6.0,大家一定都有用過Office套件吧,Excel里面有個宏,大家知道吧?這個就是著名的VBA,VisualBasicAdvanced,它可以實(shí)現(xiàn)Excel的一些高級功能,圖表自動生成,自動考勤,但是用過VB6.0的朋友可以發(fā)現(xiàn),VB6.0和VBA非常相似,語法完全一樣,如果你深入一點(diǎn),你甚至可以發(fā)現(xiàn),VB中可以調(diào)用操作Excel文件,神奇吧?你完全可以脫離Excel這個界面來操作Excel文件了,神奇吧?還有更神奇的地方,任何語言,只要支持COM(很不幸的是,C語言不支持,其他都支持,原因我后面來討論),都可以這樣做,都可以調(diào)用Excel的COM接口,這個顯然是比較高級的功能了,我舉這個例子是為了說明一通百通原理,很多軟件應(yīng)用,功能,很多語言,工具都可以實(shí)現(xiàn),只要搞懂了原理,實(shí)現(xiàn)起來沒有差別,唯一區(qū)別就是語種,就像你為了拿到桌子上的那瓶牛奶,對日本傭人要說日語,對美國傭人要說英語,而對韓國傭人要說韓語是一樣的道理,都是為了實(shí)現(xiàn)拿到那瓶牛奶,那么實(shí)際情況是,你對哪個語種熟悉,你就會選用哪種傭人,實(shí)際上有一點(diǎn)我可以很高興的告訴你,編程語言比起英語,法語,德語......簡單的多了,所以你學(xué)起來也很簡單,每次有人看我寫的程序,都會驚呼,你英語真好,我很納悶,這編程語言和英語有什么關(guān)系呢?C語言之所以不支持COM是跟它的平臺支持性有關(guān),詳見下面的語種關(guān)系.

5.語種之間的關(guān)系

接著我想稍微討論一下語種的關(guān)系,首先聲明,我很反感討論語言孰優(yōu)孰劣,能實(shí)現(xiàn)功能的語言就是好語言,為什么這么說呢?因為還的確有些功能是有些語言無法實(shí)現(xiàn)的,呵呵,其實(shí)說白了,是編譯器的不支持,不知道編譯器為何物?google一下,我寫單片機(jī)程序,我沒辦法用VB來寫,因為沒有編譯器支持把VB的程序編譯成51單片機(jī)環(huán)境下的,而我寫WDM驅(qū)動程序,我也不會拿VB來寫,因為同樣道理,沒有編譯器支持,哈哈,很幸運(yùn)的是,我可以拿C語言來寫上述2種程序,因為有編譯器支持把C語言編譯成上述2種程序.那么C語言好像很厲害嗎?不好意思,我想用C語言寫一個Web應(yīng)用程序,很遺憾的告訴你,不行,難道也是沒有編譯器?不是,因為用C語言寫,你會累死,就像用匯編寫一個游戲一樣,等你寫出來的時候,你頭發(fā)都白了,C語言由于設(shè)計原因,一開始就支持非常底層的東西,你甚至可以控制屏幕上某一個點(diǎn)的亮和滅,VB一開始就被設(shè)計成為很容易入門的語言,所以它把很多的東西封裝起來,讓你看不到,你所做的只是簡單的一個賦值,就能讓它做很多事情,你看不到的事情,而它返回給你的,就是你要的結(jié)果,所以也許里面它走了很多的彎路,但是你不知道.

我接著想說明下各個主流語言在各方面的優(yōu)勢:

1.C,支持所有平臺,但是它的優(yōu)勢是支持較底層的開發(fā),如單片機(jī)程序和驅(qū)動程序,但是寫Win32窗口類應(yīng)用程序,就是它的弱項了(太弱了),你會愿意用它一個點(diǎn)一個點(diǎn)的去畫一個窗口出來嗎?

2.VC,支持Win32平臺,很多人疑惑C語言和VC什么關(guān)系,我只能說VC支持所有C的語法,它在編寫Win32窗口類程序的時候是很占優(yōu)勢的,而且也繼承了C的運(yùn)行速度快等優(yōu)點(diǎn),也有了類的概念,是很多C語言開發(fā)人員開發(fā)Win32應(yīng)用程序時的首選.

3.VB,支持Win32平臺,入門非常簡單,適合非計算機(jī)專業(yè)人員的入門,開發(fā)簡單程序非常方便,其最大特點(diǎn)是簡單,運(yùn)行速度較慢,編譯器不行.

4,delphi,支持Win32平臺,還有個叫Kylix,支持linux平臺,和delphi同門師兄弟,都是運(yùn)行速度快,開發(fā)簡單的主,和VC有的一拼,是VB用戶最佳的升級語言(就是改變你的主要開發(fā)語言).

5.java,支持所有平臺,所謂支持所有平臺是指在相應(yīng)平臺下有它所支持的虛擬機(jī),它會先把java程序翻譯成該平臺下所支持的程序,然后再執(zhí)行,所以走到哪里都要先翻譯一下,優(yōu)點(diǎn)就是跨平臺很容易,只要對應(yīng)該平臺有對應(yīng)jdk和虛擬機(jī)就ok了,從理論上講如果單片機(jī)下也有這個虛擬機(jī)該多好啊?呵呵,不過那是不可能的.單片機(jī)程序和驅(qū)動都極其注重其效率,怎么能夠容忍翻譯這個過程呢?哪怕是0.000幾秒都不行.6..net,這個我不想過多置評,其優(yōu)勢我想各位在網(wǎng)絡(luò)上也看到了很多,嵌入式,Web應(yīng)用,桌面應(yīng)用都是它的蹤影,當(dāng)你安裝一個應(yīng)用程序它要求你必須先安裝一個.netFramework的時候,那么這個程序就是由.net來完成的.

好了,寫的那么多,后面更是越扯越遠(yuǎn),再寫下去要無止境了,做了5年的softwareengineer,感想頗多,其實(shí)對于初學(xué)者,入門的基礎(chǔ)中的基礎(chǔ),就是興趣愛好,沒有興趣愛好,還是放棄吧,沒有持之以衡的心態(tài),也放棄吧,至于你的編程利器,看我上面的初學(xué)者疑惑之二,選哪門語言做入門語言,如果你已經(jīng)有了這個基礎(chǔ),那么可以去實(shí)現(xiàn)第三,第四點(diǎn),完成了上面4點(diǎn),后面也就無需在看我的這篇文章了.

本人語言表達(dá)能力不強(qiáng),只求大家能夠看懂,好在寫文章不像講話,說出去的話沒辦法收回,而寫出去的文章倒還可以修改.

最后感謝大家抽時間看我的嘮叨,并祝大家都能實(shí)現(xiàn)自己的愿望.

以上內(nèi)容僅是我個人觀點(diǎn),僅供入門,如果不正確之處,請勿見笑,還有,計算機(jī)專業(yè)的人也并非必須從C語言開始,如果在學(xué)校基礎(chǔ)沒學(xué)好,那么從其他語言切入的話,一樣可以取得很好的效果,真的,學(xué)語言就是學(xué)工具,記住這句話.

能對你有所幫助,是我最大的心愿.

成為編程高手的二十二條軍規(guī)

1.大學(xué)生活豐富多彩,會令你一生都難忘,但難忘有很多種,你可以學(xué)了很多東西而難忘,也會因為什么都沒學(xué)到而難忘!

2.計算機(jī)專業(yè)是一個很枯燥的專業(yè),但即來之、則安之,只要你努力學(xué),也會發(fā)現(xiàn)其中的樂趣的。

3.記。喝f丈高樓平地起!基礎(chǔ)很重要,尤其是專業(yè)基礎(chǔ)課,只有打好基礎(chǔ)才能學(xué)得更深。

4.C語言是基礎(chǔ),很重要,如果你不學(xué)好C語言,那么什么高級語言你都學(xué)不好。

5.C語言與C++語言是兩回事。就像大熊貓和小熊貓一樣,只是名字很像。

6.請先學(xué)習(xí)專業(yè)課《數(shù)據(jù)結(jié)構(gòu)》、《計算機(jī)組成原理》,不要剛開始就拿著一本VC在看,你連面向?qū)ο蠖几悴磺宄碫C沒有任何用處。

7.對編程有一定的認(rèn)識后,就可以學(xué)習(xí)C++了。(是C++而不是VC,這兩個也是兩碼事。C++是一門語言,而VC教程則是講解如何使用MFC類庫,學(xué)習(xí)VC應(yīng)建立在充分了解C++的基礎(chǔ)之上?碫C的書,是學(xué)不了C++語言的。)

8.學(xué)習(xí)編程的秘訣是:編程,編程,再編程;

9.認(rèn)真學(xué)習(xí)每一門專業(yè)課,那是你今后的飯碗。

10.在學(xué)校的實(shí)驗室就算你做錯一萬次程序都不會有人罵你,如果在公司你試試看!所以多去實(shí)驗室上機(jī),現(xiàn)在錯得多了,畢業(yè)后就錯得少了。

11.從現(xiàn)在開始,在寫程序時就要養(yǎng)成良好的習(xí)慣。

12.不要漏掉書中任何一個練習(xí)題請全部做完并記錄下解題思路。

13.你會買好多參考書,那么請把書上的程序例子親手輸入到電腦上實(shí)踐,即使配套光盤中有源代碼。

14.VC、C#、.NET這些東西都會過時,不會過時的是數(shù)據(jù)結(jié)構(gòu)和優(yōu)秀的算法!

15.記。簳接脮r方恨少。不要讓這種事發(fā)生在你身上,在學(xué)校你有充足的時間和條件讀書,多讀書,如果有條件多讀原版書,你要知道,當(dāng)一個翻譯者翻譯一本書時,他會不知不覺把他的理念寫進(jìn)書中,那本書就會變得像雞肋!

16.我還是強(qiáng)調(diào)認(rèn)真聽專業(yè)課,因為有些課像《數(shù)據(jù)結(jié)構(gòu)》、《編譯原理》、《操作系統(tǒng)》等等,這種課老師講一分鐘能讓你明白的內(nèi)容,你自己看要看好幾個月,有的甚至看了好幾年都看不明白。

17.抓住在學(xué)校里的各種實(shí)踐的機(jī)會,要為自己積累經(jīng)驗,就業(yè)時經(jīng)驗比什么都有用。

18.多去圖書館,每個學(xué)校的圖書館都有很多好書等你去看!

19.編程不是技術(shù)活,而是體力活。

20.如果你決定了要當(dāng)一個好的程序員,那么請你放棄游戲,除非你是那種每天只要玩游戲就能寫出好程序的天才!

21.你要有足夠的韌性和毅力!有個高手出一一道題測試你的韌性和毅力:找個10000以內(nèi)的素數(shù)表,把它們?nèi)汲聛,然后再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。

22.找到只屬于你自己的學(xué)習(xí)方法。不要盲目的追隨別人的方法,適合自己的才是最好的!

學(xué)C++人不得不看的好帖!

做為一名大四的學(xué)生,我面試過不少的單位,有成功的也有失敗的,但是對我來說所有的失敗在某種意義上都是一種成功,特別是我下面寫的這些,寫這篇文章的時候,我已經(jīng)簽了南京的一家軟件公司,但是想起今年2月21日我面試蘇州臺灣的IT公司的經(jīng)歷聯(lián)想到我們現(xiàn)在學(xué)習(xí)編程的一些情況我真的深有感觸,這次面試使我深深的體會到了失敗但也收獲了很多。我要說的將分成三部分,1.是

我面試的具體經(jīng)過2.是由面試想到的3.現(xiàn)今我應(yīng)該做的。當(dāng)然這些話很大程度上是我個人的意見,不可能完全得到大家的贊同,所以在某些觀點(diǎn)上如果哪位朋友覺得跟我的有很大出入,請不要介意,也不要對我攻擊,就當(dāng)我沒有說過,歡迎和我聯(lián)系共同探討這些問題!我的EMAIL:wutao8@263.net

1.面試經(jīng)過

大約在年前我接到了臺灣瑞晟(Realtek)蘇州公司的面試通知,通知我2月21日到蘇州工業(yè)園區(qū)面試,接到面試后的幾天我把一些專業(yè)課溫習(xí)了一遍,特別是C++和數(shù)據(jù)結(jié)構(gòu),由于大學(xué)幾年里,我一直專研這些方面,加上通過了高級程序員的考試,對于一些常用的算法我差不多也達(dá)到了爛熟于胸的地步,當(dāng)時的感覺是如果問了我這些方面的問題我應(yīng)該是沒有問題的!

21日那天我被安排在4:30面試,由一位技術(shù)人員單獨(dú)給我面試,在問了一些簡單的問題之后他給我出了一道編程題目,題目是這樣的:

(由于具體面試的題目比較煩瑣,我將其核心思想提取出來分解成了兩個獨(dú)立的簡單的問題,有可能問題分解的不當(dāng),請大家見諒,實(shí)際面試了一個的問題但比其復(fù)雜很多,而且涉及一些高等數(shù)學(xué)變換)

1)寫一個函數(shù)計算當(dāng)參數(shù)為n(n很大)時的值1-2+3-4+5-6+7......+n

哼,我的心里冷笑一聲!沒想到這么簡單,我有點(diǎn)緊張的心情頓時放松起來!于是很快我給出我的解法:longfn(longn){longtemp=0;inti,flag=1;if(n0);exit(1);}

while(j0?i++:i--;j++;}

returntemp;}

雖然我不敢保證我這個算法是最優(yōu)的,但是比起上一個程序,我將所有涉及到乘法指令的語句改為執(zhí)行加法指令,既達(dá)到要題目的要求而且運(yùn)算時間上縮短了很多!而代價僅僅是增加了一個整型變量!但是我現(xiàn)在的信心已經(jīng)受了一點(diǎn)打擊,我將信將疑的看者面試官,他還是微笑著

跟我說:“不錯,這個程序確實(shí)在效率上有的很大的提高!”我心里一陣暗喜!但他接著說這個程序仍然不能達(dá)到他的要求,要我給出更優(yōu)的方案!天!還有優(yōu)化!我當(dāng)時真的有點(diǎn)崩潰了,想了一會后,我請求他給出他的方案!然后他很爽快的給出了他的程序!longfn(longn){

if(n2.由面試想到的

真的是很失敗。∥矣浀媚翘煜潞么蟮挠,氣溫也很低,我邊走邊想,從5:30一直走到7:30,全身都濕透了,又冷又餓,但是我只是一直走,腦子里面充滿了疑惑,我也想讓雨把自己淋醒!看到這里有些朋友可能覺得那些面試題目不算什么如果讓自己做的話肯定能全部答對,我肯定相信你,因為我從未懷疑過中國程序員的能力,我認(rèn)為中國有世界上最好的程序員,我也從未認(rèn)為自己是高手,所以我做不出來不代表中國程序員比臺灣或者別的地方的程序員差,所以我就從我的角度,我的所見所想來談一些感想:

不錯全世界都有優(yōu)秀的程序員,中國也不例外,但是我疑惑的是:到底中國和臺灣或者國外的優(yōu)秀的程序員的比例到底是多少?臺灣我不知道,中國100個程序員里有幾個是優(yōu)秀的呢?我根本算不上,從上面的表現(xiàn)就足以說明一切了!是1個?5個?10個?50個?這個數(shù)字我不敢亂猜,恐遭網(wǎng)友一頓痛罵,那么我們國內(nèi)有多少人學(xué)習(xí)計算機(jī)呢?拿我們學(xué)校來說,計算機(jī)97級4個班,98級5個班,99級10個班,201*級17個班,人多了,老師怎么辦?我們學(xué)校的做法是讓研究生上課,然后呢?補(bǔ)考一抓一大把,大把大把的補(bǔ)考費(fèi)落入了學(xué)校的口袋,還說現(xiàn)在的學(xué)生素質(zhì)低!真是好笑,我都不知道學(xué)校這么做是為了什么,為國內(nèi)培養(yǎng)大量的程序員嗎?學(xué)生們能真正學(xué)到計算機(jī)知識嗎?好了,我敢講,在我們學(xué)校學(xué)習(xí)編程學(xué)生和優(yōu)秀程序員(注意我指的是優(yōu)秀,只會編幾個糟爛程序的人算不上)的比例應(yīng)該是100:0.1

在這種比例下雖然我們中國學(xué)習(xí)編程的人鋪天蓋地,但是想想有多少個人能真正為中國軟件業(yè)發(fā)展作出貢獻(xiàn),有多少人能真正寫出優(yōu)秀的程序名揚(yáng)海外!我從學(xué)習(xí)編程以來,不管是自學(xué)還是老師指導(dǎo),從來都是解決問題就好,編出程序來就行,我的疑惑是:我們有真正的強(qiáng)調(diào)過程序的效率,程序的質(zhì)量嗎?我們有仔細(xì)分析過我們寫的東西,看看有沒有可以改進(jìn)的地方,看看有沒有簡單的方法來達(dá)到同樣的目的呢?我問心自問,我發(fā)現(xiàn),我從來沒有對我寫出來的程序進(jìn)行過優(yōu)化,最多就是進(jìn)行詳細(xì)的測試,然后Debug,但是這就足夠了嗎?這些天我偶爾發(fā)現(xiàn)我曾經(jīng)寫過的一個游戲,那是一年前我剛加入vcroad.net做為其中一員時候,感覺應(yīng)該拿點(diǎn)東西出來,然后花了一個星期的時間寫出來的!程序不算復(fù)雜,但是用到了不少數(shù)據(jù)結(jié)構(gòu)的東西,也用到了一些精彩的算法,加上windows的界面和游戲的可玩性,寫完后受到了不少好評,我當(dāng)時真的很佩服自己!但是現(xiàn)在看呢:沒有一句注釋,好多丑陋的函數(shù)名比如:voidchushihua(),好多沒有必要的變量,可以用簡單語句完成工作的我使用華麗的算法,大量使用全局變量.....,說不好聽的話,六百多行的程序除了能運(yùn)行之外就是一陀屎!如果一年前我能聽到一些反面意見的話,大概我能早一點(diǎn)覺悟,但是自從原代碼在網(wǎng)站發(fā)布以來聽到的都是贊美之詞,沒有一個人向我提出程序改進(jìn)的意見,這又說明了一個什么問題呢?很值得思考!

還有一個疑惑是:我們說的和做的真的一樣嗎?我在學(xué)校的時候曾經(jīng)受學(xué)院指派承辦過一個計算機(jī)大賽,請了一個老師出決賽的題目,主要是一些算法題目,這個老師可能是我上大學(xué)以來唯一敬佩的老師了,從程序調(diào)試到打分,對于每個程序都仔細(xì)分析其時間效率和空間效率,然后綜合打分,四十個人的卷子,老師從下午三點(diǎn)一直調(diào)試到晚上十點(diǎn),在有些寫的精彩的語句后還加上批注。我真是高興很遇到這樣的老師并且和他做深入的交流,但在事后,卻發(fā)生了一件不愉快的事,在比賽中獲得第二名的學(xué)生找到我,說他程序全部調(diào)試成功應(yīng)該給他滿分,并且應(yīng)該得第一,我說不過他,最后調(diào)出了他的原程序和第一名的原程序?qū)Ρ龋诲e,兩個程序都運(yùn)行的很好,這時,那個同學(xué)開口了:“我的程序?qū)懙氖趾喗菝髁,僅僅數(shù)行就完成了題目要求,而他的卻寫了一大堆,為什么給他的分多過給我的分!蔽耶(dāng)時很是氣憤,如果不是老師負(fù)責(zé)的話,那么現(xiàn)在第一名和第二名的位置真的要互調(diào)了,拜托,不是程序的行數(shù)越少程序的質(zhì)量就越高,我記得我跟他大談這方面的道理,最后說服他了!哈哈,但是我,只能說說而已,我不知道還有多少人一樣,說起來頭頭是道,但心里卻壓根就從未重視過它!3.我打算做的!

其實(shí)那天我想到的遠(yuǎn)不止上面那么多,但是我不想再說了,因為我猜想看這篇文章的網(wǎng)友大概都有一肚子的感想,一肚子的抱怨,借用這篇文章發(fā)泄可不是我想達(dá)到的目的,在上面我把自己罵的一文不值也不是妄自菲薄,但是在某些方面我真的做錯了,或者說是偏離了正確方向,現(xiàn)在是矯正方向和重整旗鼓的時候了,就象我前面說過的,我相信中國有世界上最好的程序員,我也相信我的水平不會一直保持現(xiàn)狀,我現(xiàn)在就收拾起牢騷真正的實(shí)干起來!真的很巧,就寫到這里的時候我在網(wǎng)上偶爾發(fā)現(xiàn)了這篇手冊,我不知道這預(yù)示著什么,但是我想如果我照下面這個基本原則一直踏實(shí)做下去,我一定會實(shí)現(xiàn)我的理想---一名優(yōu)秀的軟件設(shè)計師!

(下面這些文字不是我的原創(chuàng),是我偶爾在網(wǎng)上發(fā)現(xiàn)的,我真的很幸運(yùn)能看到這些,這篇文章也隨著下面的文字而結(jié)束,我真心的希望您能從這篇文章中得到啟發(fā),這篇文章歡迎大家隨意轉(zhuǎn)載,您可以不寫作者是誰,但是請您寫上vcroad.net原創(chuàng),謝謝您的支持)作者:金蝶中間件公司CTO袁紅崗

不知不覺做軟件已經(jīng)做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠(yuǎn)。世界上并沒有成為高手的捷徑,但一些基本原則是可以遵循的。

1.扎實(shí)的基礎(chǔ)。數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學(xué)、編譯原理,這些是所有計算機(jī)科學(xué)的基礎(chǔ),如果不掌握他們,很難寫出高水平的程序。據(jù)我的觀察,學(xué)計算機(jī)專業(yè)的人比學(xué)其他專業(yè)的人更能寫出高質(zhì)量的軟件。程序人人都會寫,但當(dāng)你發(fā)現(xiàn)寫到一定程度很難再提高的時候,就應(yīng)該想想是不是要回過頭來學(xué)學(xué)這些最基本的理論。不要一開始就去學(xué)OOP,即使你再精通OOP,遇到一些基本算法的時候可能也會束手無策。

2.豐富的想象力。不要拘泥于固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想象力是建立在豐富的知識的基礎(chǔ)上,除計算機(jī)以外,多涉獵其他的學(xué)科,比如天文、物理、數(shù)學(xué)等等。另外,多看科幻電影也是一個很好的途徑。3.最簡單的是最好的。這也許是所有科學(xué)都遵循的一條準(zhǔn)則,如此復(fù)雜的質(zhì)能互換原理在愛因斯坦眼里不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實(shí)現(xiàn),也更容易維護(hù)。遇到問題時要優(yōu)先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮復(fù)雜的方案。

4.不鉆牛角尖。當(dāng)你遇到障礙的時候,不妨?xí)簳r遠(yuǎn)離電腦,看看窗外的風(fēng)景,聽聽輕音樂,和朋友聊聊天。當(dāng)我遇到難題的時候會去玩游戲,而且是那種極暴力的打斗類游戲,當(dāng)負(fù)責(zé)游戲的那部分大腦細(xì)胞極度亢奮的時候,負(fù)責(zé)編程的那部分大腦細(xì)胞就得到了充分的休息。當(dāng)重新開始工作的時候,我會發(fā)現(xiàn)那些難題現(xiàn)在竟然可以迎刃而解。

5.對答案的渴求。人類自然科學(xué)的發(fā)展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們?nèi)ジ冻。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最后沒有得到答案,在過程中你也會學(xué)到很多東西。

6.多與別人交流。三人行必有我?guī),也許在一次和別人不經(jīng)意的談話中,就可以迸出靈感的火花。多上上網(wǎng),看看別人對同一問題的看法,會給你很大的啟發(fā)。

7.良好的編程風(fēng)格。注意養(yǎng)成良好的習(xí)慣,代碼的縮進(jìn)編排,變量的命名規(guī)則要始終保持一致。大家都知道如何排除代碼中錯誤,卻往往忽視了對注釋的排錯。注釋是程序的一個重要組成部分,它可以使你的代碼更容易理解,而如果代碼已經(jīng)清楚地表達(dá)了你的思想,就不必再加注釋了,如果注釋和代碼不一致,那就更加糟糕。

8.韌性和毅力。這也許是"高手"和一般程序員最大的區(qū)別。Agood

programmingis99weatand1?ffee。高手們并不是天才,他們是在無數(shù)個日日夜夜中磨練出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個10000以內(nèi)的素數(shù)表,把它們?nèi)汲聛恚缓笤贆z查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。

這些是我這幾年程序員生涯的一點(diǎn)體會,希望能夠給大家有所幫助

]給C++初學(xué)者的50個忠告

1.把C++當(dāng)成一門新的語言學(xué)習(xí)(和C沒啥關(guān)系!真的。);2.看《ThinkingInC++》,不要看《C++變成死相》;

3.看《TheC++ProgrammingLanguage》和《InsideTheC++ObjectModel》,不要因為他們很難而我們自己是初學(xué)者所以就不看;

4.不要被VC、BCB、BC、MC、TC等詞匯所迷惑他們都是集成開發(fā)環(huán)境,而我們要學(xué)的是一門語言;

5.不要放過任何一個看上去很簡單的小編程問題他們往往并不那么簡單,或者可以引伸出很多知識點(diǎn);6.會用VisualC++,并不說明你會C++;

7.學(xué)class并不難,template、STL、genericprogramming也不過如此難的是長期堅持實(shí)踐和不遺余力的博覽群書;

8.如果不是天才的話,想學(xué)編程就不要想玩游戲你以為你做到了,其實(shí)你的C++水平并沒有和你通關(guān)的能力一起變高其實(shí)可以時刻記。簩W(xué)C++是為了編游戲的;9.看VisualC++的書,是學(xué)不了C++語言的;

10.浮躁的人容易說:XX語言不行了,應(yīng)該學(xué)YY;是你自己不行了吧?11.浮躁的人容易問:我到底該學(xué)什么;別問,學(xué)就對了;12.浮躁的人容易問:XX有錢途嗎;建議你去搶銀行;

13.浮躁的人容易說:我要中文版!我英文不行!不行?學(xué)呀!

14.浮躁的人容易問:XX和YY哪個好;告訴你吧,都好只要你學(xué)就行;15.浮躁的人分兩種:a)只觀望而不學(xué)的人;b)只學(xué)而不堅持的人;16.把時髦的技術(shù)掛在嘴邊,還不如把過時的技術(shù)記在心里;17.C++不僅僅是支持面向?qū)ο蟮某绦蛟O(shè)計語言;18.學(xué)習(xí)編程最好的方法之一就是閱讀源代碼;

19.在任何時刻都不要認(rèn)為自己手中的書已經(jīng)足夠了;

20.請閱讀《TheStandardC++Bible》(中文版:標(biāo)準(zhǔn)C++寶典),掌握C++標(biāo)準(zhǔn);21.看得懂的書,請仔細(xì)看;看不懂的書,請硬著頭皮看;

22.別指望看第一遍書就能記住和掌握什么請看第二遍、第三遍;23.請看《EffectiveC++》和《MoreEffectiveC++》以及《ExceptionalC++》;

24.不要停留在集成開發(fā)環(huán)境的搖籃上,要學(xué)會控制集成開發(fā)環(huán)境,還要學(xué)會用命令行方式處理程序;

25.和別人一起討論有意義的C++知識點(diǎn),而不是爭吵XX行不行或者YY與ZZ哪個好;26.請看《程序設(shè)計實(shí)踐》,并嚴(yán)格的按照其要求去做;

27.不要因為C和C++中有一些語法和關(guān)鍵字看上去相同,就認(rèn)為它們的意義和作用完全一樣;

28.C++絕不是所謂的C的“擴(kuò)充”如果C++一開始就起名叫Z語言,你一定不會把C和Z語言聯(lián)系得那么緊密;

29.請不要認(rèn)為學(xué)過XX語言再改學(xué)C++會有什么問題你只不過又在學(xué)一門全新的語言而已;

30.讀完了《InsideTheC++ObjectModel》以后再來認(rèn)定自己是不是已經(jīng)學(xué)會了C++;31.學(xué)習(xí)編程的秘訣是:編程,編程,再編程;32.請留意下列書籍:《C++面向?qū)ο蟾咝Ь幊蹋–++EffectiveObject-OrientedSoftwareConstruction)》《面向?qū)ο筌浖䴓?gòu)造(Object-OrientedSoftwareConstruction)》《設(shè)計模式(DesignPatterns)》《TheArtofComputerProgramming》;33.記。好嫦?qū)ο蠹夹g(shù)不只是C++專有的;

34.請把書上的程序例子親手輸入到電腦上實(shí)踐,即使配套光盤中有源代碼;35.把在書中看到的有意義的例子擴(kuò)充;

36.請重視C++中的異常處理技術(shù),并將其切實(shí)的運(yùn)用到自己的程序中;

37.經(jīng);仡欁约阂郧皩戇^的程序,并嘗試重寫,把自己學(xué)到的新知識運(yùn)用進(jìn)去;38.不要漏掉書中任何一個練習(xí)題請全部做完并記錄下解題思路;39.C++語言和C++的集成開發(fā)環(huán)境要同時學(xué)習(xí)和掌握;

40.既然決定了學(xué)C++,就請堅持學(xué)下去,因為學(xué)習(xí)程序設(shè)計語言的目的是掌握程序設(shè)計技術(shù),而程序設(shè)計技術(shù)是跨語言的;41.就讓C++語言的各種平臺和開發(fā)環(huán)境去激烈的競爭吧,我們要以學(xué)習(xí)C++語言本身為主;

42.當(dāng)你寫C++程序?qū)懙揭话雲(yún)s發(fā)現(xiàn)自己用的方法很拙劣時,請不要馬上停手;請盡快將余下的部分粗略的完成以保證這個設(shè)計的完整性,然后分析自己的錯誤并重新設(shè)計和編寫(參見43);

43.別心急,設(shè)計C++的class確實(shí)不容易;自己程序中的class和自己的class設(shè)計水平是在不斷的編程實(shí)踐中完善和發(fā)展的;

44.決不要因為程序“很小”就不遵循某些你不熟練的規(guī)則好習(xí)慣是培養(yǎng)出來的,而不是一次記住的;

45.每學(xué)到一個C++難點(diǎn)的時候,嘗試著對別人講解這個知識點(diǎn)并讓他理解你能講清楚才說明你真的理解了;

46.記錄下在和別人交流時發(fā)現(xiàn)的自己忽視或不理解的知識點(diǎn);

47.請不斷的對自己寫的程序提出更高的要求,哪怕你的程序版本號會變成Version100.XX;

48.保存好你寫過的所有的程序那是你最好的積累之一;49.請不要做浮躁的人;50.請熱愛C++!

友情提示:本文中關(guān)于《編程心得》給出的范例僅供您參考拓展思維使用,編程心得:該篇文章建議您自主創(chuàng)作。

來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。


編程心得》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請保留原作者信息,謝謝!
鏈接地址:http://m.hmlawpc.com/gongwen/748325.html
相關(guān)文章