1、計算機作為機器的一種,其硬件在早期由存儲器、加法器、乘法器組成,與硬件對應著有一套用于計算的指令集。
*指令是和硬件相對應的(不同的硬件會有不同的指令集),硬件必須確保指令能完成既定的工作,因此,指令需要有明確的含義。
*硬件設計細節在指令中體現的越是明顯,指令的效率往往越高,但進行程序設計時就越復雜。
2、軟件需求的快速增長以及硬件成本的極速下降,設計目標從最初的效率轉變為易于擴展------(改編程序員與機器溝通的語言)
*新語言應反應所要解決問題的結構,而不再是反應底層硬件設計的細節和算數運算。
*新語言雖易于解決問題,但底層硬件卻只能識別并執行其即有的那套指令集,因此,需有一轉換工具完成這一轉接工作(即為編譯器)。
*這一階段以面向過程的編程語言為主。
3、軟件規模的極速膨脹,使得對軟件的理解愈發艱難,引發了軟件設計理念的突轉(面向對象開發)*面向對象理念將程序構建為稱作對象的單元,各單元之間通過消息傳遞進行合作(在編程語言的本質上就是函數的調用)
*程序的設計也劃分成了兩部分:類的設計者和類的使用者。
編程語言雖有百千種,但每種語言都是針對某種應用需求而誕生的,因此其作為一種解決問題的工具也有一定的局限性,此外,語言塑造了我們的思考方式,“也決定了思考的內容”
新聞熱點
疑難解答