人類文明的發展離不開語言文字,同理,日新月異的計算機技術也離不開程式語言的變遷。
和人一樣,同為軀幹的計算機,因為程式語言,繁榮了枝葉,衍變出各種各樣豐富的應用程式。
自從計算機於2023年問世以來,70多年時間,硬體和軟體都蓬勃發展,大致經歷了這些過程。
程式語言階段
程式語言特點
機器語言
二進位制指令構成,計算機直接識別,執行速度快,但0和1構成的**晦澀難懂,不易開發和維護程式
組合語言
用助記符對映二進位制指令,和人的思維相差甚遠,抽象層次太低,需要考慮大量機器細節
高階語言
結構化資料、結構化語句、資料抽象、過程抽象,遮蔽機器細節,接近人類思維
計算機發明的同時,就出現了程式語言。計算機是硬體,乙個實實在在的物理裝置,而操作這台裝置需要不同的指令,用以完成不同的功能。這些指令就構成了程式,統稱軟體。對計算機發出這些指令的過程叫做程式設計,使用的**語言叫做程式語言。早期計算機,主要用於科學計算,通過0和1組成的冗長二進位制指令,來控制計算機的運算過程。這時的程式語言停留在機器語言階段,不但晦澀難懂,不易識記,而且開發難度大、周期長,軟體功能單一。
為了解決這個問題,出現了組合語言。通過一些特殊約定的字元來描述指令的操作,如add表示兩數相加,對應的就是一堆完成這個操作的二進位制**。使用助記符以後,雖然在機器語言的基礎上進行了改進,但是思維習慣依然和人類相差甚遠。組合語言通過匯程式設計序,將組合語言翻譯成了二進位制指令,讓機器直接識別。這樣的進步,意味著人與計算機的互動除了機器語言,還可以是別的語言。正因如此,通過編譯程式的思想,高階語言開始發展。
c++是一門高階語言,由c語言拓展而來。因為在c語言的基礎上增加了類的設計,從而用物件導向思想來描述物件。物以類聚,人以群分。c++因為具備了類,從而可以將現實問題所涉及的客觀事物的共同屬性和行為提煉出來,用於重複呼叫。類是群體,物件是個體。如果我們需要描述群體中的個體,就需要將物件例項化,也就是從類中建立個體的過程,使得這個物件具備類中包含的全部屬性和行為,並可以針對個體的差異性進行修改。這樣的思想就叫做物件導向。
我們學習c++,除了語言本身,更多的是這種物件導向的程式設計方法。
軟體工程的變遷
在過去的幾年裡,在世界範圍內,軟體開發方法發生了一些變化。還不是很久以前,最主要的軟體開發生命週期 sdlc 方 是瀑布模型方法 wate ll method 它使用非常明確的階段把開發過程分割成諸如設計 測試等工程步驟。軟體開發行業,目前還是一種新興的行業,人們正在努力尋找一種可以重複的 可預知的...
轉的 UserAgent的歷史變遷
沒見過能把文章寫這麼有趣的.最早的時候有乙個瀏覽器叫ncsa mosaic 把自己標稱為ncsa mosaic 2.0 windows 3.1 它支援文字顯示的同時還支援,於是web開始好玩起來。netscape想逗microsoft玩兒,把windows叫做 幾乎不曾做過除錯的裝置驅動器 後者很惱...
Linux的發展歷程與變遷
最開始,linux 作為創作者 linus torvalds 的 乙個愛好 如今,已然擁有超高的人氣,這過程值得一講。1991 linux 開始於 linus torvalds 在 usenet 上的乙個帖子,說它 只是乙個愛好 1992 linux 發布第乙個 gpl 版本,最初是依據一些商業限制...