6.1 程式語言中有社會階級?
Last updated
Last updated
你可能很常聽到「這個程式語言是低/高階語言啊!」,但卻從來不知道低階與高階語言究竟差在哪邊?難道程式語言之中也有好壞優劣之分?其實這個分法是以「容易閱讀」做為區分依據,低階語言是機器的語言,與我們能閱讀的語言差異較大,而高階語言則與人類所閱讀的較接近。這章節將帶你認識低階與高階語言,讓你不再聽不懂別人說話!
低階語言就是機器的語言,是在電腦發展初期所發展的程式語言,低階語言與電腦硬體的運作關係密切,所以製造硬體設備的廠商會使用低階語言來開發硬體設備的驅動程式等。它具有「機器依存」的特性,也就是可以在ASUS電腦執行的程式,通常不能在ACER的電腦上執行,所以說它的「可攜性」低。而低階語言又分為「機器語言」及「組合語言」。
機器語言
機器語言是以二進碼,也就是0和1與電腦直接溝通,不需要任何翻譯過程便可以執行,所以速度非常快。
因為只有0和1兩個數字,所以撰寫程式的時候需要強記代碼,較為難學難懂,且不易發現錯誤。
組合語言
組合語言使用較接近人類的符號化語言,以文字來替代機器語言(0和1)。
以組合語言撰寫的程式,必須經過「組譯器」翻譯成機器語言才能在電腦上執行。
約興起於1950年代,讓電腦語言更接近人類語言,使即使不懂電腦硬體結構的人,也能設計程式解決問題。也因此高階語言相對於低階語言來說,程式撰寫及維護方面都較為容易。而在我們使用一個高階語言的敘述來指揮電腦時,相當於下達許多機器語言來命令電腦工作。高階語言主要分為程序導向語言及物件導向語言。
程序導向語言
程序導向語言是依照程式敘述的「先後順序及流程」來告知電腦需要完成什麼工作及它的流程。就像告訴它說蓋房子要從地基開始一層一層往上蓋。
常見的程序導向語言有Fortran(處理科學工程運算)、Cobol(處理大量的商業資料)及C語言。
物件導向語言
物件導向語言是先設計出個別物件的功能,再利用多個物件來組合出完成的程式。若是程式出錯,只需挑出有問題的物件進行修改即可。
物件導向語言簡化了流程及複雜度,因為它的3大特性:
封裝 (Encapsulation):將特定功能的處理程序及資料包裝在物件裡面,使用者不需要了解內部設計就可以使用。
繼承 (Inheritance):新類別物件可以承襲既有類別的功能及屬性,可以省去撰寫相同程式碼的時間。
多型 (Polymorphism):不同物件對於同樣的事件,可以有不同的表示法。
目前較知名且流行的程式語言,大多都是物件導向語言,像是Python、C++、Objective-C、Swift、Java、Ruby及PHP等。
程式語言並沒有好壞優劣之分,不同類型的程式語言的用途都不盡相同且各具優缺點,只要在正確的位置使用合適的程式語言,每個程式語言都是好語言!