編程語言,不同於基於某種語言的程序,更不同於編寫程序的軟件,這三者就如同漢語、壹篇文章和壹支筆的區別壹樣。對於壹門語言,不管現實中的,還是虛擬世界裏的,其本質都是遣詞造句的結構和方法,只是編程語言相比與現實語言更側重邏輯。因此現實語言在於表意,而編程語言用於做事。任何壹門編程語言的核心在於實現這門語言的編譯器,因為只有它,才真的明白程序想要表達什麽,並將之傳達給CPU去執行。而編寫程序的軟件只是給我們營造壹個更便利的工作環境而且。
如果壹門語言總在語法和所謂邏輯的圈子裏打轉,那就是純粹自己玩自己的了,什麽都幹不了。同樣,沒有個把成語的文章,那會是什麽樣的文章呢?
毫不誇張的說,壹切妳用過的軟件包括操作系統,C++都能勝任!當然簡單的語法和邏輯顯然是做不到的,而是來源於更多領域的底層支持與C++的結合。例如網絡編程,這就需要底層通信協議的支持才能實現不同程序的遠程通信,QQ不就是網絡程序的簡單例子嘛。
但是別緊張,這不是說立馬讓妳放下C++去搞匯編,或者學習研究什麽協議。壹般來說,任何底層組件都會向更上層提供適當的接口以調用其各種功能,而且這些調用都能夠在高層語言的某個庫中找到。說到這裏,妳對C++中的很多類庫熟悉嗎?那些類庫正是C++實現復雜功能的基本元素。不僅是C++,任何編程語言都會提供與系統底層功能相關的庫函數。要不,怎麽幹事呢?
就拿操作系統來說,如果硬件不提供給它很多調用功能的接口,它壹樣也做不了事。
編程,永遠基於別人勞動基礎之上的編程。