回覆列表
  • 1 # 一箭雙鵰ty

    計算機一直是使用二進位制數制的,在早期直接控制計算機的作業系統都是二進位制的是機器語言,實在是太專業了,沒幾個人能弄得了。後來改用十分接近機器語言的組合語言編寫的,比機器語言容易寫、讀、改,但總的來說它們比較依賴硬體,所以程式除了少數機器專家,其他人很難讀得懂,而且廠家不同硬體設計必然不同,導致控制硬體的機器程式碼千差萬別。你的再好,我不能用,我的再好,你拿去也不好使,這也就是我們常說的程式的可讀性和可移植性差,那時程式設計都是專家玩的活。但計算機要普及,不能就幾個專家在擺弄、會擺弄啊,咋能讓陽春白雪變成下里巴人,然後普及到一般人中間去呀?那就必須能實現機器的最底層軟體由專家來搞,而控制機器的作業系統的大部分程式由接近人類語言的指令來編寫。這樣的話,只要是個技術人員,稍微受些培訓就能讀懂,就能下手編。C語言實現了人們的上述夢想,因此也迅速得到了推廣,這就是C語言的偉大的歷史意義。

    C語言的偉大直接導致計算機應用的迅速推廣普及,隨著計算機硬體功能的日益強大,軟體規模不斷擴大,C語言處理資料的便捷高效成了她的致命傷,編寫一個大程式,10000個函式,10000個全域性變數,你說說,到底哪個或哪些函式修改了哪個或哪些變數,也就是誰改了誰,變得難以短時間內定位。問題擺在那裡,於是改進C吧,首先是做些限制,把特定的資料集合以及處理這些資料的程式函式打包在一起,並確定只有包內函式可以修改包內資料,包外的函式不行。這下好了,如果一個數據的引用出現問題,就查詢和它在一個包裝裡的函式就可以了,這大大縮小了查詢範圍,排錯效率大大提高,這個資料及其相關處理函式的包裝就是【類】,這種包裝手段就是【封裝】。排錯是容易了,但是各個類之間需要溝通呀,一個已有類的功能咋能不用重寫就提供給其他類使用,一個既定功能的類函式能不能改變功能等等問題又隨之而來了,於是就有了繼承、過載、多型等等概念,於是一個適合編寫大型程式的保持了C高效率的C++出現了,這種思想被原來的C程式設計師發揚光大後極大的充實和完善了面向物件的程式設計思想,這就是C++的偉大的歷史意義。

    完畢

  • 中秋節和大豐收的關聯?
  • 魔都奉賢,首付預算24萬買哪裡可以入手?