學習C++的意義

至於為什麼要學習C++,本菜不想捲入各大派別的紛爭,只是簡單地來聊聊學對於C++的看法,首先來看看2017年3月份計算機語言的排行榜,可以看到C++在前三佔有一席,如果心細的朋友會發現,C/C++語言這幾年,基本都會位列前三,而且各大企業的招聘需求,基本都會要求熟練使用C++,這個隨便查查招聘網站就知道了。業內廣為流傳的一句話說的好:"彙編生C,C生C++,C++生萬物"!

學習C++的意義

現在來聊聊軟件開發的古今,很久之前,工程師都是用匯編語言去開發項目,那個時候的軟件產品相對於現在的產品來說,功能結構等會比當今的軟件產品要單一的多,但是隨著技術的革新,人們對生活的追求不斷髮展(咳咳,扯遠了。。),用戶對產品的需求,也變得越來越多元化,而不單單是功能的實現,那麼,這樣就會導致代碼量越來越大,而使用匯編語言,無論是開發還是後期維護,難度都會越來越大,於是慢慢的慢慢的,C語言就誕生了(也可以說是被迫誕生的吧,哈哈哈),可想而知,C語言誕生到成熟的過程,是不斷實踐改進的過程,所以多少會有些殘缺,相信很多C開發者踩過不少C語言的坑!

學習C++的意義

那麼C語言在開發中存在哪些缺陷?我們知道C語言是面向過程的語言,這就確定了用C語言解決問題是按步驟來的,具體來說就是各個處理問題的步驟封裝成函數,然後調用函數去解決問題。那麼這樣就導致了C開發的軟件代碼,可重用性與可維護性比較差。

藝術來源於生活,同樣,程序設計也會朝著我們的生活的方向而慢慢演變,會變得更加貼近人生活習性,這就促使面向對象編程語言的誕生,面向對象程序設計的特點很明顯:

1、直接分析用戶需求中涉及的各個實體

2、在代碼中描述現實世界中的實體

3、在代碼中關聯各個實體協同工作解決問題

優勢相對於面向過程的設計方法,也很明顯:

1、構建的軟件能夠適應用戶需求的不斷變化

2、直接利用面向過程方法的優勢而避開其劣勢

既然面向對象的程序設計方法能如此優美的解決面向過程的缺陷,那麼就急需要開發一門面向對象的編程語言,這門新的面向對象又要能同時兼容已經存在的代碼,如此一來,C++應運而生!C++的誕生是為了解決C語言的缺陷,同時兼容C語言,可以說是加強版的C語言,所以,C++與C並不存在競爭關係,反而在彌補C語言的不足併兼容C語言之外,還能是我們的開發工作變得很愉快,同時能學到更多的軟件設計方法,何樂而不為!

從上圖,你應該能體會到"彙編生C,C生C++,C++生萬物"這句話所表達的意思了吧!沒錯,我們所熟知的java、C#等熱門編程語言,本質上來說,可以歸為"類C++語言",都是基於C++語言的基礎上提煉出更簡潔、更純粹的面向對象編程語言。

讓我們來看一張現代軟件產品的架構圖:

學習C++的意義

總結:

1、C++是一種更強大的C,通過學習C++能夠掌握更多的軟件設計方法

2、C++是Java/C#/D等現代開發語言的基礎,學習C++後能夠快速的學習並掌握這些語言

3、C++是各大知名軟件企業挑選人才的標準之一

相信說道這裡,你已經明白學習C++的意義了

最後,如果你想學C/C++可以私信小編“01”獲取素材資料以及開發工具和聽課權限哦!


分享到:


相關文章: