《好學的C++》“小知識”選摘(三):OOP值得我們去學習嗎
物件導向概念的起源至少可以回溯到20世紀60年代的Simula語言以及其他一些以資料為核心的程式設計理念。它在20世紀70年代因為Xerox PARC(施樂帕克研究中心,圖形化使用者介面就是在這裡誕生的)的研發團隊推出了Smalltalk語言(一種以獨立物件相互傳送訊息的理念為基礎的程式設計語言)而得到了極大的發展。到了20世紀80年代,這個概念開始大行其道。
在20世紀90年代早期,OOP成為了一直延續至今的標準。Bjarne Strousup把OOP和流行的C語言結合在一起建立了C++。Pascal和Basic語言也有了物件導向的擴充套件包。從那時起,C#和Java等新的程式設計語言不斷湧現。發展到現在,程式設計師已經無法離開它了。 可是,OOP真的可以幫你編寫出更有效率的程式嗎?在一些人竭盡全力倡導每個人都應該物件導向的同時,也有一些人在質疑這種做法。反對者的論點是,OOP並不能減少程式設計工作量,你無論如何還是要編寫同樣數量的程式碼和資料。
但有以下幾個事實是誰也無法否認的。
GUI(graphical user interface,圖形化使用者介面)系統已經主宰了這個世界。儘管你不使用OOP語言也可以為這樣的系統編寫程式,但OOP和GUI似乎是“天生一對”。從概念上講,它們是彼此高度相容的理念,它們都出自Xerox PARC。
有越來越多的程式碼和資料被打包為OOP形式。如果你想利用類似Microsoft Foundation Class(MFC,用於Windows程式設計)或C++ Standard Template Library(STL)等開發工具庫帶來的便利,除了掌握物件導向的基本語法以外沒有任何其他的選擇。
綜上所述,拒絕OOP顯然是不現實的。就像我將在第16章裡演示的那樣,等你學會使用STL庫的時候,你將受益良多。
相關文章
- 《好學的C++》“小知識”選摘(一):計算機是如何翻譯程式的C++計算機
- 《好學的C++》“小知識”選摘(二):斐波那契是何許人也C++
- scala 語言值得去學習嗎
- JavaScript的ES6有哪些新知識需要我們去學習JavaScript
- 為什麼springcloud值得我們學習?SpringGCCloud
- 學習Java,還需要學好哪些知識Java
- 榮耀的成功之路值得我們學習什麼?
- 我們需要學習程式設計嗎?程式設計
- 深度學習的困境,我們該何去何從?深度學習
- 怎麼學好Java?需要學習哪些知識?Java
- 學習Java是個好選擇嗎?Java
- 學習雲端計算好就業嗎?需要學習哪些知識?就業
- 【小知識學習】(Securesocketlayer)SSL連線
- 好程式設計師告訴你HTML好在哪裡,為什麼值得我們學習程式設計師HTML
- C++和Python學哪個好?Python學習難嗎?C++Python
- C++基礎知識學習筆記(1)C++筆記
- C++基礎知識學習筆記(3)C++筆記
- 我們如何學好Java?(知乎帖子)Java
- python值得報班學習嗎Python
- web知識學習Web
- 知識學習綜合
- 豐田除了精益生產,還有什麼值得我們學習?
- 運維學習有什麼好的學習方法嗎?運維
- 我們該如何學習機器學習中的數學機器學習
- 學習系統部署、美化的好去處
- 姑娘,我們們一起去學程式設計吧程式設計
- 姑娘 我們們一起去學程式設計吧程式設計
- 堅持:學習Java後臺的第一階段,我學習了那些知識Java
- python值得學習嗎?為何推薦學習python?Python
- 我們該學習什麼?
- 對於你們駁來駁去的《停止學習框架》,我有話說!框架
- WCF技術我們應該如何以正確的方式去學習掌握
- java是最值得學習的程式語言嗎?Java
- 學習Python爬蟲難嗎?入門好學嗎?Python爬蟲
- Chrome瀏覽器安全嗎?谷歌值得我們信任嗎?Chrome瀏覽器谷歌
- 知識圖譜學習
- JAVA學習知識集合Java
- 前端知識學習01前端