程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 淺談編程能力的培養與提高——學習C++的一些建議1

淺談編程能力的培養與提高——學習C++的一些建議1

編輯:關於C語言

從什麼語言入門並不重要,但是一個優秀的程序員至少應該牢牢地掌握住一門語言,最好能夠達到“精通”的地步!C++語言具有廣大的用戶群,擁有豐富的學習資源,更有著廣闊的應用前景,因此很多程序設計愛好者都希望能夠把C++學好。但是C++顯然要比C或者BASIC等語言復雜許多,很多人覺得學好C++實在不容易。在此我想為那些希望學好C++的讀者提出一些建議和意見。   首先我們應該對C++語言有一些定性的認識,這樣做能夠讓我們從它與其他一些語言的聯系中獲得一些提點。C++是由C語言發展而來,它比C語言更加豐富更加復雜,對於那些有著一定C語言基礎的讀者,很多前輩都建議他們把把C++當成一門新的語言來學習,最好認為C++和C沒啥關系!我卻並不這樣建議讀者,因為兩者本身並不沖突。如果你沒有C語言基礎,你完全不必擔心,因為兩者沒啥關系,所以你完全沒必要為了學C++而先把C學一遍。但是如果你有一定C語言基礎,那麼恭喜你,從C向C++過渡你將事半功倍。很多人認為C++比Java復雜的地方在於它保留了指針,很多初學者一看到指針就一籌莫展,要知道C++的一個強大之處就在於它擁有指針。如果你有一定的C語言基礎,那麼無疑學習C++時,指針對你來說將不再神秘。你還可以從C語言那裡繼承過來許多東西,它們在C++中同樣適用。拜讀過布魯斯艾柯的名作《Thinking In C++:卷1》的人應該知道,這本書正是選擇了一種從C向C++過渡的講法來幫助讀者學習C++的。這本書裡並沒有劈頭蓋臉的向讀者灌輸類的概念,而是選擇讀者所熟悉的C中的結構體來做鋪墊,再轉而過渡到C++中的類。總之如果你沒有C的基礎,無需擔心;如果你有C的基礎,那就更好了!   盡管我們認為有一定的C語言基礎,再學習C++會容易些。但也要避免一些混淆。千萬不要因為C和C++中有一些語法和關鍵字看上去相同,就認為它們的意義和作用完全一樣。一定要參考專業的C++書籍而不是靠自己的臆測。這也是我需要提醒讀者的。   C++是一種面向對象的語言,這是它與C的最大不同。盡管它還很保守,因為它保留了許多面向過程的痕跡,相對於Java而言,它並不純粹。但面向對象的核心概念和思想在C++中仍然得到體現,例如繼承、多態和類等概念。如果你對面向對象思想有所了解,那麼學習C++會更容易上手。如果你希望利用C++來學習面向對象思想,那可能不是好的選擇。當然,你可以僅僅為了學習C++而學,只是把面向對象思想的體現當作是C++的某種特殊語法來對待,那樣的話你就不會被那些復雜的概念所搞暈。當你對C++認識得比較深刻之後,再接觸一些面向對象的理念或許更好。   盡管很多人仍然大力的推薦你學習C++,也會有人告訴你“C++語言不行了,應該學Java或者Python”,請一定要明確沒有什麼語言行不行的,只有你自己學得好不好。如果你學得似懂非懂,那就是讓你學最新的語言也是白費。如果你的C++學得很牛,那你這塊金子就必然有發光的時候。還有人會疑惑學C++有前途嗎?或者由於到底是學這個好呢還是那個好呢?這些都是阻礙你靜下心來好好學習的思想關卡。學哪個並不重要,才好才是硬道理。任何好的前途也都是以扎實深厚的知識為基礎的,如果你總是想著學哪個,或者學了有沒有用,那麼你當然永遠都學不好,學不好自然談不上有什麼前途可言。你要做的只是踏踏實實學習的人,而不是只觀望不學習的人,更不是只學習而不堅持的人。   C++中有很多非常有特點的技術,例如STL、模板、異常等,不要被它們蒙住,更不要被它們嚇住,這些東西都是為了讓編程更容易而設計的。這些知識並不難,難的是長期堅持實踐和不遺余力的博覽群書。一方面我要告訴讀者的是標准C++非常重要,在過去的很長一段時間裡,中國的程序員並不太注意標准C++,但可喜的是這種狀況正逐漸得到改善。很多人不明白標准C++和C++有什麼區別,甚至搞不清楚標准C++到底是什麼。任何東西都應該有個標准,不然東說動,西說西,到底應該以誰為准呢?C++語言也有標准,C++標准是由國際標准化組織規定的,是在全世界范圍內被接受和認可的。標准化是大勢所趨,是人心所向,是不可逆轉的歷史潮流。很多讀者會發現,在TC上編寫的C++程序移植到Visual C++ 6.0上可能編譯報錯,在Visual C++ 6.0上編譯的程序在移植到DEV C++上有可能報錯,甚至是移植到Visual C++ 2005上仍然報錯。這就是沒有標准化的危害。總所周知,Visual C++ 6.0對標准C++支持較差,而GCC或者Visual C++ 2005等則更符合標准C++的要求。可見標准化是非常重要的,更是語言發展的方向。STL、模板和異常等都是在C++標准中有嚴格規定的。要學就應該學標准C++,而非山寨C++。   另一方面,千萬不要被TC、VC、GCC、BCB等詞匯所迷惑,它們都是集成開發環境,而我們要學的是一門語言。掌握了一種開發環境的使用跟學會一門語言是兩回事,會用Visual C++,並不能說明你就掌握了C++,所以也不要被集成開發環境的搖籃寵壞了,應該提早斷奶,擺脫對開發環境的依賴。學好了C++語言本身,到任何開發環境下都能從容應對。   未完,待續...

本文出自 “白馬負金羁” 博客,請務必保留此出處http://baimafujinji.blog.51cto.com/907111/194028

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved