1. 程式人生 > >0、計算機語言分類和應用程序接口(API)

0、計算機語言分類和應用程序接口(API)

常見應用程序接口

0、計算機語言

三種語言
1、機器語言
2、匯編語言
3、高級語言

1、機器語言(01代碼):為了加快開發人員的開發,於是出現了微碼(匯編語言)—>編譯器(匯編語言是通過編譯器,可以讓微碼轉變成01代碼)
2、匯編語言:盡管人類可以識別,但是匯編語言跟芯片(CPU)的結合程度也是很高的,不僅開發有難度,而且還不好移植,所以匯編語言也是低級語言,所以後面也就出現了高級語言(c,java,perl,python)
3、高級語言:這個寫出的程序,只需要和中間設備區聯系,不需要關心底層的CPU是intel的還是AMD,就不需要考慮移植性。

什麽是高級語言的中間設備?

    這個中間設備就是我們理解的API(也就是庫),也可以理解為內核(有些是直接調用內核去獲取硬件資源,如蘋果系統IOS,是Unix內核的,直接調用Unix內核獲取硬件資源,而有一些是通過應用程序接口去調用硬件資源(當然這一種方式需要被內核監督和管理,如安卓系統,他是一個+Linux+JVM(java虛擬機)+java程序構成,所以並不是直接調用硬件資源,而是通過JVM這個java虛擬機實現調用Linux內核資源,所以效率上肯定沒有蘋果IOS這麽快))。

當然,很多組織都可以抽象出這些中間設備的應用程序接口。

應用程序編程接口:

    簡稱API(Application Programming Interface),就是軟件系統不同組成部分銜接的約定。

在數據封裝時,網絡分層中的每個層相互之間會用接口進行交互並提供服務,其中應用層與用戶之間的接口稱之為應用程序接口(API,Application Programming Interface)。API實際上是一種功能集合,也可說是定義、協議的集合,無論是哪種集合,它的實質都是通過抽象為用戶屏蔽實現上的細節和復雜性。
從用戶角度看應用程序接口,表現為一系列API函數,用戶可以使用這些函數進行網絡應用程序開發。從網絡角度看,應用程序接口給用戶提供了一組方法,用戶可以使用這組方法向應用層發送業務請求、信息和數據,網絡中的各層則依次響應,最終完成網絡數據傳輸。

常見應用程序接口

    應用層的應用程序接口有很多,並且發展很快,比較常見的如socket、FTP、HTTP以及telnet。這些接口從大類上可分為四類:

遠程過程調用(RPC,Remote Procedure Call Protocol)
數據查詢接口
文件類接口
數據通信接口
例如FTP協議就是文件類接口,基於FTP,用戶可以實現文件在網絡間的共享和傳輸。而socket和HTTP可歸結為數據通信接口,基於這兩種接口,用戶可以開發網絡通信應用程序,以及web頁面交互程序。當然如果從編程開發角度看,無論是FTP、HTTP還是telnet,都是基於socket接口開發出來的應用層協議,是對socket接口的進一步封裝和抽象,從而為用戶提供更高一層的服務和接口。

socket有時稱之為“Berkeley Socket”,它是最早由伯克利開發的應用程序接口。

常用的socket類型有兩種:
流式socket(SOCK_STREAM)和數據報式socket(SOCK_DGRAM)。

流式socket是一種面向連接的socket,針對於面向連接的TCP服務應用。
數據報式socket是一種無連接的socket,對應於無連接的UDP服務應用。

從用戶接口意義上講,還有傳輸層的TLI接口,是由AT&T開發的,有時也稱作XTI。它是傳輸層為用戶提供的應用程序接口,可以用來在傳輸層進行應用開發。

0、計算機語言分類和應用程序接口(API)