青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

歲月流轉,往昔空明

C++博客 首頁 新隨筆 聯系 聚合 管理
  118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks

?扯了這么多,再次回到開始,C++有那么重要么?
?是或者不是,這個答案并不重要,而我也不能正確地給出答案。如果真要說我只能刷刷奸猾,告訴大家“因人而異”。
?重要的是,我們用什么樣的思路,用什么樣的態度來衡量、評價、解決這個問題。
?下面一段又是個老生常談,隨便到哪個搜索引擎上都能搜到一堆的話題:C++是怎么來的,它為什么而設計的,實際上人們又拿它來做什么,它有什么優缺點。我接觸編程6年,其中C++占到4年,而且是我用的最好,也是最喜歡的語言。每次說到歷史這個話題我總是有一大堆羅嗦的話要說。但是實際上我對C++的感覺到的最大的特點,卻是書多,相關的書非常多,經典的著作相比較其它語言而言也算得上是最豐產的了。書多不外乎三種原因,一是流行面廣,而是流行時間長,三是難度大。C++就那一點點編譯器規則,一本ISO C++的手冊搭配其發明者Bjarne Stroustrup的《The C++ Programming Language》就把語言機制講的很清楚了,為什么它又有那么多的書來闡述一些所謂的Advanced Topics呢?因為靈活。C++極度靈活,這種靈活并不是動態語言的那種靈活,而是在于它承載了太多的需要,導致它變得極度靈活化,靈活的負面意思就是太多,太復雜,使得人們太容易混淆與各種語言機制的Chaos中。似乎南師大的榮耀教授在采訪BS的時候還是BS在什么地方說過,如果C++要像現在的老師們這樣教他自己都不會去學。
?然后BS就舉了一個Hello World的例子來說明他所認為的啟蒙C++與一般授課使用的C++差別在什么地方,并以此說明C++其實并不復雜。好吧,我們就承認純正的C++并不難學。但是不能忘了,我們的C++的對與錯不是由我們決定的,而是編譯器。工程上用的C++編譯器絕對不會說不支持單純的,蹩腳的C-Style(不是說CStyle蹩腳,而是說C中蹩腳的部分),不會不讓你使用指針訪問內存(指非必要的訪問,例如動態數組),甚至不會拒絕你使用一些類似于Hacker的代碼來完成一些極具技巧性和挑戰性的工作。好吧,既然C++都支持,那么便不能拒絕你寫出有此類特性的代碼。更加致命的事情是,它的很多高階機制,都是建立在底層機制基礎上。最明顯的例子就是Boost和STL。一旦編譯出錯,那么它的提示可能出在任何層面上,為了解決這些問題便又需要去學習那些較為底層的知識。C++的大坑就是這樣一點一點挖出來的。
?C++可供選擇的東西太多。所以BS就出了一本書,叫《The Design and Evolution of C++》,專門討論了每種機制在C++當中被采納的背景、他們當時的考慮、這些機制的適用范圍。雖然說這本書屬于“入門教材”的行列,但是實際上我更加傾向于將這本書看成是在你品嘗了C++大餐后的甜點。也就是說,盡管看起來有道理,但是作為預備知識同樣不適合,于是你只能一邊牢記大量的語言機制,一邊應用,一邊體驗,一邊讀那些專著來糾正你的錯誤并填補你的不足,不可能有機會讓你只走你需要走的路,大量的知識構成了一個扁平的知識框架,為了達到相對自由運用的水平,你需要學習的知識、需要獲得的體驗、需要彌補的弱點太多了。
?
?如果說,只有C++可選的話,那么也就沒什么辦法了,大家只能去學那個能讓人死去活來的東西。但是實際上我們并不如我們自己認為的那樣無奈。大量的語言,總有比C++更加適合一般學生的。靈活的腳本語言Python/VBSP/JSP/Perl/Ruby/Lisp,半動態的(我是這么叫的。。。)Java/C#/VB/VB.NET/CLI,高效的 Ada/Fortran,桌面開發用功能強大的Delphi(人家的語言叫Object Pascal,但是也就那么一個編譯器,所以無所謂了),這其中的絕大部分語言學習難度都要低于C++。
?一般來說,有不少學校對于除了與電子和信息相關的專業都選擇的是VB(以下說的VB均不指.NET)/VFP作為計算機二級的突破口。而這點教學,往往就成為了一個工科研究生僅有的編程基礎。VFP這種被淘汰的使用范圍狹隘的環境不討論,VB作為RAD來說著實是個不錯的選擇。但是為應付計算機二級所教授的課程來看,并不能教會除了語法外的什么,況且所使用的VB6嚴格來說是Message Driven兼Object Based的一個開發環境,這都不利于學生從程序結構的高度(不是數據結構)去思考所撰寫的代碼。在短暫的學習以后我們會誤認為界面框架就是軟件的構架,于是我們便可以看見在畢業設計時候,那數百行可憐的代碼都擁擠于Command1Click這樣的字里行間。Object Based的語言既不能教會我們用過程的方式開發,也不能支持面向對象的程序設計方法。這些都是VB對進階學習的最大障礙。
?但是畢竟我們熟悉了VB的語法,知道了程序設計語言是怎么一回事。這已經花費了沒有接觸過編程的同學的相當長的時間,如果說我們還要去牽扯入C++那可怕的內存海洋中,還要被C++那恐怖的前后++所威脅,但是實際上我們不需要它也能過得很好,我們是不是有些冤大頭了?
?實際上,對于研究生階段,最重要的就是要讓我們學到的那一點點東西在盡可能少學別的東西的情況下發揮最大的價值。
?前面我把VB一通好臭,我想VB都會不理我了。那么我們就另結新歡吧。找誰呢?

?VB的弱點已經有點數了(很有數的話你我就不會在這兒瞎混了,早被M$請去了),那么便要去找一門結構性比VB好,概念又不比VB艱深太多的語言(不是說它不能艱深,而是說,不理解那些艱深的東西我們一樣能用的挺歡,最主要的是用起來要舒服,什么亂七八糟的內存管理問題,讓編譯器和RTL/VM去替你擦屁股吧)。JAVA/C#/Delphi/VB.net都算是不錯的選擇。雖然從我的角度來說,很不喜歡,非常不喜歡,特別不喜歡微軟,但是我仍然將C#作為我的第一建議。
?因為C#的開發環境好,速度也還算不錯,桌面開發、企業級開發都很方便,微軟的支持也很到家,但是對面向對象的支持有些強迫性了,可能初期會有些難度。
?JAVA跨平臺,工業基礎好,從嵌入式到大型的分布式系統都能拿來做,但除了和C#一樣的不利因素外,開發環境和程序庫要比C#難用一些。
?Delphi對對象和過程的程序設計方法都能支持良好,語言干凈利索,檢測嚴格,能培養出一個人好的編程習慣,但是它以后用途偏窄。
?VB.NET就不用說(人家都叫VB了),跟VB比較接近,語法跨越小,但是太小了會有學習惰性,會低估語義和程序設計方法上的差異,弄點不倫不類的東西出來。

?C++在程序控制上的能力,基本上都有了,而在在企業級開發方面,C++的弱勢也得到了新語言不錯的彌補。C++的另一個優勢,效率方面呢?
?MATLAB。這個工具生來就是為了計算。作為研究生的工程運算來說,無論效率上還是功能上來說,通常都是夠用的,而且也非常方便,避免了自行編程所面對的極為復雜的算法選擇、編寫、調試的問題(工程計算程序的調試難度是很大的)。
?再加上VBA/VBSP。為什么要帶上VBA/VBSP?其實很多你需要完成的功能,往往都在軟件中可以通過調用某些組件來完成。除了脫機編寫完整的應用程序以外,對于大部分的問題的解來說,都可以直接使用系統所提供的環境方便的完成。使用這個環境所采用的語言,就是軟件的腳本宏,而現有很多的軟件所采用的宏語言都是VBA/VBSP。它的語法、架構、程序的設計都與VB非常接近,用來快速的構造原形或為編寫實驗提供幫助的程序來說,都能比較好的完成任務。

?好了,在一門通用語言+VBSP+MATLAB的幫助下(VBSP基本上是白送的,MATLAB經常是必須掌握的,如果你不需要掌握MATLAB,那么你的工作很可能也用不到C++的高效率),你還需要C++么?
?如果你的答案是肯定的,那么我只能相信這個世界真的有愛情存在。我欽佩你的執著。那么請允許我告訴你我走過的路。
?《The C++ Primer》/《The C++ Primer Plus》??不是一本書,但是都是入門的。別為它的厚度嚇倒,能看多少算多少,不難的。
?《The C++ Programming Language》???手冊。隨身必備,供查閱。
?Platform SDK???????MSDN是個不錯的選擇,講解相近,查閱方便。
?
?《Thinking in C++》??????從C++開始,接觸OOP的深入解析
?《Effective C++》《More Effective C++》
?《Exceptional C++》《More Exceptional C++》??技巧、技術和技藝,編寫C++程序必須注意的若干事項。
?
?基本上到這里就差不多了,后面的就是諸如泛型、并發、元編程、模版、設計模式一類的話題了,不同的話題都有不同的問題背景和應用范圍,這些往往對于大部分語言來說都是相同或者類似的。恭喜你,你們的愛情長跑到站了。
?從此以后,研究生和C++過著磕磕碰碰卻幸福的生活。

posted on 2006-10-13 21:32 空明流轉 閱讀(1932) 評論(6)  編輯 收藏 引用

評論

# re: 研究生,請你拒絕C++的愛(下) 2006-10-18 17:39 duanxingchuan
我也差點被C++被害苦了!!!!!!幸好我覺悟的早!  回復  更多評論
  

# re: 研究生,請你拒絕C++的愛(下) 2006-10-20 16:50 wbt
智商低的還是別玩,免得自己被玩,哈哈  回復  更多評論
  

# re: 研究生,請你拒絕C++的愛(下) 2007-05-12 16:09 lovedday
我覺得你神話了C++的難度,C++固然很復雜,但如果你狠下心來研究,也一定可以掌握的,一門語言再復雜都不會復雜到什么程度,夸大語言的作用和復雜度都是不好的,你說C++會比編譯原理更復雜嗎?對于一個學習的人來說,最重要的是克服恐懼的心理,如果你覺得C++很難很復雜,那你就肯定學不會了。而且很多人使用C++都不用C++的那些復雜的高級特性,語言嘛,夠用就可以了,沒必要非得掌握它的所有語言特性,BS不是說過嗎?沒人能夠徹底掌握C++。從某種意義上說,復雜并不是一件好事,我喜歡簡單的東西,簡單就是美,在實際的開發過程中,效率是非常重要的,如果你對C++的復雜語言特性掌握的不牢固卻非要使用那些語言特性,那么出了錯就會浪費很多的時間。  回復  更多評論
  

# re: 研究生,請你拒絕C++的愛(下) 2007-05-12 16:10 lovedday
而且我覺得在計算機領域,掌握基礎知識和技術原理比研究語言的高級語法特性更重要。  回復  更多評論
  

# re: 研究生,請你拒絕C++的愛(下) 2007-05-20 14:33 Jedimaster
C++就是為妄圖重新發明世界的天才們設計的魔方。我覺得,設計第一,思路第二,算法第三,編碼第四。  回復  更多評論
  

# re: 研究生,請你拒絕C++的愛(下) 2014-10-21 13:55 yuen
看了幾次學長寫的東西,尤其是這個。
深深覺得學長說的是正確的。如果一年前我能多看看學長的東西,恐怕不會在C++上浪費了如此多的精力和金錢。。。。。
感謝學長美文,以享莘莘工科狗!thx!  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久精品网址| 夜夜嗨av一区二区三区中文字幕| 亚洲午夜久久久| 国产精品jizz在线观看美国 | 亚洲日本在线观看| 欧美高清在线视频观看不卡| 欧美不卡高清| 中文一区在线| 欧美一区二区三区免费视| 激情综合视频| 亚洲人人精品| 国产精品久久激情| 久久免费视频网站| 免费欧美电影| 亚洲欧美日韩久久精品| 久久久国产成人精品| 欧美三级黄美女| 中文国产成人精品久久一| 国产精品色午夜在线观看| 久久精品一区二区国产| 猫咪成人在线观看| 亚洲欧美国产精品专区久久| 久久久97精品| 亚洲欧美另类国产| 久久先锋资源| 午夜电影亚洲| 欧美电影免费| 久久久久久欧美| 欧美四级剧情无删版影片| 久久精品国产96久久久香蕉| 欧美日本在线播放| 久久在线视频在线| 国产精品爱啪在线线免费观看| 老司机免费视频一区二区| 国产精品久久久久久久久久ktv| 久热re这里精品视频在线6| 欧美无乱码久久久免费午夜一区| 麻豆freexxxx性91精品| 国产精品日本一区二区| 欧美激情在线免费观看| 国产一区二区三区免费观看| 日韩一区二区久久| 亚洲经典一区| 久久久不卡网国产精品一区| 午夜精品久久久久久久男人的天堂| 开心色5月久久精品| 久久久精品一区| 国产精品爱啪在线线免费观看 | 亚洲人成绝费网站色www| 午夜久久久久久久久久一区二区| 亚洲少妇诱惑| 欧美老女人xx| 亚洲人成高清| 亚洲三级影院| 美女日韩欧美| 欧美大片免费久久精品三p| 国产一区欧美日韩| 羞羞色国产精品| 久久黄色影院| 国产主播精品| 欧美在线黄色| 老鸭窝毛片一区二区三区| 黄色成人在线免费| 欧美在线1区| 久热爱精品视频线路一| 激情成人亚洲| 看片网站欧美日韩| 欧美激情在线观看| 999亚洲国产精| 欧美日韩亚洲精品内裤| 一区电影在线观看| 亚洲在线视频观看| 国产乱码精品一区二区三区不卡| 亚洲欧美第一页| 久久资源av| 亚洲人体1000| 欧美日韩在线播放一区| 亚洲在线日韩| 久久色中文字幕| 亚洲国产美女久久久久| 欧美国产精品专区| 99国产精品久久久久久久久久 | 麻豆国产精品一区二区三区| 欧美99久久| 亚洲高清一区二区三区| 欧美成人免费全部观看天天性色| 亚洲精品1区| 午夜精品亚洲| 在线欧美一区| 欧美色区777第一页| 性色av一区二区三区在线观看| 久久夜精品va视频免费观看| 亚洲人精品午夜| 国产精品亚洲不卡a| 乱人伦精品视频在线观看| 亚洲精品在线二区| 久久久久久9| 日韩视频三区| 国产小视频国产精品| 欧美sm极限捆绑bd| 亚洲欧美日韩在线一区| 亚洲黄色在线| 久久久久久91香蕉国产| 一区二区日韩免费看| 国产一区二区丝袜高跟鞋图片| 欧美高清视频在线| 久久精品日产第一区二区| 99re视频这里只有精品| 蜜桃视频一区| 欧美一区二区在线观看| 艳妇臀荡乳欲伦亚洲一区| 国产一区99| 国产精品国产一区二区| 欧美99在线视频观看| 欧美一区1区三区3区公司| 日韩视频在线永久播放| 欧美成人午夜激情| 久久精品99国产精品日本| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲黄色av| 美日韩精品免费观看视频| 午夜精品福利视频| 99视频精品全部免费在线| 影音先锋久久资源网| 国产精品视频内| 欧美午夜免费| 欧美日韩精品三区| 欧美成人精品1314www| 久久另类ts人妖一区二区| 亚洲女ⅴideoshd黑人| 一本色道久久综合一区| 亚洲欧洲日产国产综合网| 欧美高清在线视频| 欧美成人激情视频| 麻豆精品一区二区综合av| 久久久久久伊人| 久久久久久久97| 久久精品一区四区| 久久久7777| 久久人人97超碰精品888| 久久av一区二区三区| 欧美一区二区三区免费看 | 亚洲国产精品成人精品| 在线看视频不卡| 亚洲国产专区| 日韩午夜精品| 亚洲视频在线看| 亚洲免费一区二区| 性欧美长视频| 久久国产毛片| 免播放器亚洲一区| 亚洲国产高清在线观看视频| 欧美激情中文不卡| 国产精品欧美日韩久久| 国产一区二区三区四区五区美女| 国产精品成人一区二区| 国产精品网站在线| 国产日韩欧美一区二区三区在线观看| 国产精品一区在线观看你懂的| 国产精品视频免费| 激情综合自拍| 日韩视频一区| 亚洲欧美日韩一区在线观看| 久久国产精彩视频| 欧美激情一二三区| 99re热精品| 久久不见久久见免费视频1| 久久综合一区| 国产精品国产三级国产专区53| 国产一区二区黄色| 亚洲人成啪啪网站| 午夜日韩在线观看| 蜜臀av一级做a爰片久久| 亚洲激情偷拍| 欧美一级视频免费在线观看| 老司机一区二区三区| 欧美午夜激情在线| 亚洲福利在线看| 亚洲男人av电影| 欧美大学生性色视频| 亚洲免费在线观看| 欧美www视频| 国内精品久久国产| 在线亚洲一区| 蜜臀91精品一区二区三区| 正在播放欧美视频| 欧美va亚洲va国产综合| 国产农村妇女精品一区二区| 亚洲精品在线观看免费| 久久久久久久综合| 一本久久a久久精品亚洲| 久久婷婷麻豆| 国产女人精品视频| 亚洲夜间福利| 亚洲黄色在线视频| 久久麻豆一区二区| 国产婷婷色一区二区三区四区| 亚洲深夜激情| 亚洲黄色小视频| 老司机午夜精品视频|