回覆列表
  • 1 # 繪石君

    C語言設計原則的第一條是:“信任程式設計師。”對程式設計語言瞭解不多的人,不會覺得這句話怎樣。但對真正的程式設計師來說,憑這句話就足以對C語言愛一輩子,愛得死去活來。

    C語言一夫當道的年代,計算機相當昂貴,但速度比不上現今的手機,記憶體都是以KB為單位計算。所以,那時候對程式最基本的要求就是效率。C語言完全滿足人們對效率的苛求,精心設計的程式碼可以極大地節約計算機資源,又不像組合語言那樣難用,所以受到程式設計師的歡迎。後來,硬體越來越便宜,效能越來越高,程式的執行效率已經不是追求的主要目標,安全性、穩定性和是否易於維護等變得重要起來,C語言的弊端便顯現了。

    C語言給程式設計師最大的發揮空間,讓他們自由地在程式碼中揮灑激情和創意,從不去質疑這些程式碼是否會帶來危害,因為它“信任程式設計師”,相信程式設計師的決定一定是正確的,即便有錯誤,也一定能自己修正。無限制的自由,在某些人的手中是創造力的源泉,而在另外一些人手中,卻能成為混亂的根源。隨著軟體系統規模的膨脹,需要的程式設計師越來越多,綜合水準越來越低,出現錯誤的機率越來越大,而每一個低階的錯誤都可能會引發大災難。很多人把這種亂象產生的原因歸罪於C,開始懷疑它,甚至恨它,卻從不反省自己糟糕的編碼能力。於是有人說,給這匹Mustang加上韁繩吧,別讓它再恣意狂奔。但是C拒絕了鎖鏈,於是很多語言穿上C的外衣,自己掛上鎖鏈,站了出來。因為它們看上去很像C,所以大家很容易接受;因為它們掛著鎖鏈,所以它們不再信任程式設計師,而是指手畫腳地告訴程式設計師,這件事情該怎麼做,那件事情不能怎麼做。如果程式設計師不聽它們的,它們就拒絕工作。這樣亂象解除了,開發速度加快了,多人合作容易了,錯誤減少了,對程式設計師能力的需求降低了,因而工資也降低了,老闆開心了,業界繁榮了。平心而論,“一件事情可以用X語言做,就一定不要用C語言做”確實是一個很好的策略,儘管程式設計師會失去一些自由,但在合法的範圍內仍有一定的空間可以發揮創造力,而且這些創造力很少創造出負面效果,綜合起來能讓老闆、程式設計師、使用者皆大歡喜。但程式設計師,尤其是受人尊敬的程式設計師,他們的血液中天生就充滿著不安分,嚮往自由的駭客生活,所以他們會一邊撫摸著身上的傷口,一邊懷念那個魯莽卻無往不利的老將軍,懷念在他手下無拘無束的日子,懷念被他激發出的層層潛能。這個老將軍是程式設計師心中永遠的戰神。

  • 2 # 薛定諤的呵呵

    因為現在程式設計師入門門檻太低了。以前寫程式的都是什麼人?科學家們,都是受到高等教育的,在程式設計之前,已經掌握了深厚的數學,電路等學科知識,然後再程式設計。現在,一個初中或者高中畢業,速成培訓班搞搞,就開始去應聘程式設計師,不是歧視他們,但是很多人連基本的類比電路,數位電路都不懂,資料結構和演算法更是一塌糊塗,這種人寫出來的程式,你還敢信賴嗎?

  • 3 # 駭客之家

    事實證明程式設計師是不可靠的,在開發中難免會出現各種問題,包括在作業系統開發中,如windows,linux,mac os中還是會存在各種漏斗,C語言中最常見的快取區溢位漏洞。而且C語言的指標很靈活,但是也很容易出現錯誤,如邊界條件檢查,陣列越界等。還有是現在程式設計師本身的程式設計經驗不足,會導致各種問題和程式漏洞。

  • 4 # 史路雨絲

    效率,一切都以成本為出發點,請二個C程式設計師開發一個高效率的程式,假設需要二個月,那麼請一個C#程式設計師或者java程式設計師,只需要一個月,剩下的程式速度問題,可以加二臺機器解決。這裡面的成本問題,樓主可以自己想想。同理,C語言的改革也是一樣。

  • 5 # 魅力小婷姐她二哥

    所以現在軟體開發基本都是用C#了啊,C#自動分配和釋放記憶體,還有安全區隔離,程式猿永遠無法直接操作記憶體,保證了程式的安全性,至於效能優勢,說實話普通軟體根本沒區別,我試過用C++和C#同樣寫一個軟體,效能沒有任何區別,估計只有遊戲之類的高負載類程式才會有效能區別

  • 中秋節和大豐收的關聯?
  • 跟你哪任想走完一輩子,是現任還是之前的?