計算機常見專業名詞到底是什麽?

不知道大家有沒有這樣的時刻,遇到計算機的專(zhuan) 業(ye) 名詞,看著好像會(hui) ,但其實還是不懂。例如什麽(me) 是麵向過程?什麽(me) 是麵向對象?自然語言和編程語言區別又是什麽(me) ?今天我們(men) 就通過這一篇文章,徹底弄懂吧!

自然語言

人與(yu) 人之間進行溝通交流的表達方式(中文,英語,法語等)

幹貨 | 計算機這些常見專(zhuan) 業(ye) 名詞到底是什麽(me) ?

如上圖所示,自然語言是人與(yu) 人進行溝通交流的表達方式。不同國家的人也能通過翻譯官理解對方所傳(chuan) 達的意思,從(cong) 而實現人與(yu) 人的交流。

編程語言(計算機語言)

人與(yu) 計算機之間進行溝通交流的表達方式(Python,C++等)

計算機隻能識別二進製的0和1,假設需要計算機實現一個(ge) 計算器功能,那第一步需要先按照對應編程語言(Python,C++,Java等)的語法實現該功能,然後交給編譯器(解釋器)將其翻譯成二進製的0和1交給計算機解讀,從(cong) 而可以使計算機實現該功能。

簡單概述:編譯器可以類比翻譯官,編程語言(C++,Python等)可以類似自然語言(英語,中文,法語等),需要遵循一定的語法規則,對方才可以讀懂和理解。從(cong) 而實現人與(yu) 計算機的交流。

這樣同學們(men) 能理解了嘛?

動態類型語言

動態性語言是指在運行期間才去做數據類型檢查的語言,也就是說動態類型語言編程時,永遠不用給任何變量指定數據類型,該語言會(hui) 在第一次賦值給變量時,在內(nei) 部將數據類型記錄下來。

Python和Ruby就是一種典型的動態類型語言,其他的各種腳本語言如VBScript也多少屬於(yu) 動態類型語言。

靜態類型語言

靜態類型語言與(yu) 動態類則剛好相反,它的數據類型在編譯期間檢查,也就是說在寫(xie) 程序時要聲明所有變量的數據類型,C/C++是靜態類型語言的典型代表,其他靜態語言還有C#、Java等。

兩(liang) 者對比

靜態類型語言 動態類型語言
對類型及其嚴格 對類型比較寬鬆
立即發現錯誤 bug存在時間久
運行時性能好 運行時性能差
自文檔化 可讀性差

麵向過程

直接將解決(jue) 問題的步驟分析出來,然後用函數把步驟一步一步實現,然後再依次調用就可以了。

幹貨 | 計算機這些常見專(zhuan) 業(ye) 名詞到底是什麽(me) ?

打個(ge) 比方,我們(men) 想求長方形的麵積:

麵向過程會(hui) 以,求解數學題的思路去思考

設定長方形的長和寬分別為(wei) x和y,

確定長方形麵積的算法,

編寫(xie) 出計算麵積的函數,

將x、y傳(chuan) 入相對應的函數,求解長方形的麵積。

麵向對象

將構成問題的事物,分解成若幹個(ge) 對象,建立對象的目的不是為(wei) 了完成一個(ge) 步驟,而是為(wei) 了描述某個(ge) 事物在解決(jue) 問題過程中的行為(wei) 。

幹貨 | 計算機這些常見專(zhuan) 業(ye) 名詞到底是什麽(me) ?

還是上麵那個(ge) 想求長方形的麵積:

麵向對象會(hui) 以,描述對象的思路去思考:

對規則圖形的一般屬性和性質進行定義(yi) ,如周長和麵積,

在規則圖形的基礎上,創建長方形,描述長方形的屬性和性質,

創建長方形的對象,調用它的麵積函數,以求解長方形的麵積。

從(cong) 這個(ge) 簡單的例子中我們(men) 可以看出麵向對象和麵向過程解決(jue) 問題的不同,但似乎他們(men) 的規模並沒有太大區別。

這是因為(wei) 例子中問題規模非常小,當我們(men) 實際解決(jue) 一個(ge) 規模不小的問題時,可能會(hui) 涉及多個(ge) 對象間的交互、代碼的複用及擴展問題,此時麵向對象的優(you) 點就顯現出來了。

畢竟,麵向對象就是為(wei) 了降低係統的耦合度而提出的。(耦合度:各模塊間相互聯係程度的度量) 但麵向過程也並非一無是處,其優(you) 良的效率是麵向對象難以達到的。

【競賽報名/項目谘詢+微信:mollywei007】

上一篇

愛德思宣布取消IGCSE考試2023年1月考試

下一篇

BBO和USABO難度對比及獲獎率分析

你也可能喜歡

  • 暫無相關文章!

評論已經被關(guan) 閉。

插入圖片
返回頂部