C語言從1972年誕生至今,可以恆久不衰,是怎麼作到的?

一、從C++到C++

隨着第一代計算機誕生初期,針對計算機的編程就開始了,最一開始用機器語言或彙編語言編寫程序;程序員

爲了知足更多的需求:第一種高級語言FORTRAN誕生於1954年;數據庫

再而後因爲門檻太高爲了簡化:BASIC語言孕育而生(1964)是由FORTRAN語言的簡化而成的是爲初學者設計的小型高級語言;編程

C語言是1972年由美國貝爾實驗室的 D.M.Ritchie 研製成功的。它是爲計算機專業人員設計的;瀏覽器

大多數系統軟件和許多應用軟件都是用C語言編寫的。隨着軟件規模的增大,用C語言編寫程序漸漸吃力了,因而便創造出了C++語言。網絡

每一次的變革都是至關於一種巨大的進步,至關了一個更加細緻的方向獲得了發展。框架


 

二、C++的特色

C++是由 AT&T Bell實驗室 於20世紀80年代初在C語言的基礎上成功開發出來的。C++保留了C語言原有的全部優勢,並增長了面向對象的機制。編程語言

C++是由C語言發展而來的,與C兼容。用C語言寫的程序基本上能夠不加修改地用於C++。從C++的名字能夠看出它是C的超集。C++既可用於面向過程的程序設計,又可用於面向對象的程序設計,是一種功能強大的混合型程序設計語言。工具

備註:C++不是純面嚮對象語言。學習

三、C++是對C語言的「加強」

(1) 在原來面向過程機制的基礎上,對C語言的功能作了不少擴充。spa

(2) 增長了面向對象的機制。

面向對象程序設計,是針對開發較大規模的程序而提出來的,目的是提升軟件開發的效率。不要把面向對象和麪向過程對立起來,面向對象和麪向過程不是矛盾的,而是各有用途互爲補充的。

因此,通俗來說,你們在學習的過程當中不要把C語言和C++作爲兩門獨立或者對立的語言來學習,自己他們就能夠當作是一門語言,任何一款支持C++的編譯工具都支持C語言。C++就是C語言的超集,包括了全部C語言的特性,因此你把C++學會了,C語言天然也就會了。若是你以前學過C語言,那麼再學習下C++的面向對象思想,那麼二者你也就都會了。


 

給你們舉個例子:

學習編程的人針對譚浩強這個名字應該幾乎都聽過。譚浩強老師的C語言/C++語言的編程書籍能夠說是國內不少大學的標杆教材了。我讀大學時候的C語言教材就是譚浩強老師的。

他有一本《C語言程序設計》專門講解C語言的,還有一本《C++程序設計》專門講解C++的,書挺厚的,包括了C語言的部分。還有一本是《C++面向對象程序設計》是專門講解C++的,因此能夠這麼說:《C語言程序設計》+《C++面向對象程序設計》=《C++程序設計》,這也充分體現了C語言和C++的關係。

說到譚浩強老師我這裏要說一說了。國內不少讀者對譚浩強老師褒貶不一。但我我的確實是比較推崇譚浩強老師的書,大學時候就是用他的書籍入門的。有不少人說他的書籍有錯誤,講解的很差。我要說這個錯誤不怪他,《C語言程序設計》初版剛出來的時候,系統仍是Win98,16位的,因此相關一些類型佔用的字節數等等,跟咱們如今使用的x86或者x64根本不同,因此纔出現了網友口中的錯誤。不過《C語言程序設計》、《C++程序設計》 等譚浩強老師的書籍後續都有新版本,因此你們也不要總拿初版或者老版原本說事兒。


 

四、用途:C語言和C++都能作什麼呢?

C語言:操做系統底層、系統驅動、單片機、嵌入式方面 等等;

C++:網絡遊戲開發、音視頻技術、Socket網絡通訊,另外,蘋果/谷歌/微軟 等大型軟硬件公司的系統或者軟件上面都支持C/C++語言的集成開發。

你經常使用的軟件大多數都是C++寫的,例如:Office軟件:MS Office,WPS Office,OpenOffice/LibreOffice,你所用的Windows也用了大量的C++,你說你在用C#和SQL,那我告訴你你用的 VS IDE 核心部分是C++寫的,你用的C#,C# 的.Net執行框架也是C++寫的,你用的Sql數據庫,是Sql Server吧?很不幸,Sql Server也是cpp寫的、你上網頁在用瀏覽器嗎?很不幸,瀏覽器內核都是C++寫的,界面大多數瀏覽器界面也是C++寫的,你聊天用的 QQ、YY、Skype 等也是C++寫的。這些都是你絕對有在用的,至於其餘,還有不少,殺毒軟件、PhotoShop、Maya,N多行業軟件,幾乎全部的端遊 等等,都是C++寫的。你問我C++能作什麼實際的東西,我告訴你什麼也作不了,你信嗎?

C++ 的幾個常見的發展方向:客戶端,遊戲,服務端,嵌入式,移動端(移動只要是跨平臺的移動端用C++寫通用部分,GUI能夠用平臺特性,也能夠用C++的跨平臺框架)

針對界面UI方面C++的選擇也是不少的,其實C++仍是擅長「內功」的方面。若是你想帶個GUI界面的話,也有不少相似Qt之類的框架和界面庫可使用,網上有不少,並且不少都跨平臺,還開源,不論是 Windows,仍是Mac,仍是Linux,仍是移動端平臺,通吃的。自己C/C++就是跨平臺的。

另外,說點你們感興趣的,什麼遠程控制軟件,什麼木馬,什麼外掛等等,能夠說95%以上都是用C/C++來寫的。

難道這麼多的用途還不值得你們來好好學學C/C++嗎?

另外,聞道有前後、術業有專攻,C++雖然功能很強大,幾乎什麼都能作,但有的地方也是不適合,不是不能作而是不適合。好比網頁開發,C++也能作,可是仍是建議使用Java-Web或者PHP之類的語言來作,畢竟他們就是爲了Web開發而生的。


 

最後,若是你也想成爲程序員,想要快速掌握編程,趕忙加入學習企鵝圈子!

裏面有資深專業軟件開發工程師,在線解答你的全部疑惑~編程語言入門「so easy」

編程學習書籍:


 

編程學習視頻:

相關文章
相關標籤/搜索