色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

寫代碼和搬磚的區(qū)別

夏志豪2年前15瀏覽0評論

寫代碼和搬磚的區(qū)別?

熱愛寫代碼,非常好,你有計算機行業(yè)從業(yè)的天然優(yōu)勢了。如果長期保持這種熱愛,就不會覺得痛苦。

但是,如果一味沉迷寫代碼(熟練使用各種框架和庫),而不去研究其底層原理和實現(xiàn),那就只能停留在程序員的水準。

有什么問題嗎?有,問題還很大。

程序員的工作就是使用現(xiàn)有代碼的組合解決某個特定問題,一般稱之為搬磚。搬磚是靠數(shù)量計算價值的,你每天能搬多少磚,取決于你搬磚的效率和次數(shù)。隨著不斷的鍛煉,你每次搬的磚可以從1塊磚增長到10塊,每天搬磚的次數(shù)也可以從1次增長到10次。然而,搬磚是個體力活,而人的體力是有限的,一天的時間也是有限的。年輕時候你可以加班、熬夜,每天工作16小時,但是這樣的狀態(tài)你能持續(xù)多久?也就是說,你很快就會達到自身價值的天花板,并且很快就會開始下降。每年都會有大把比你年輕、比你能出苦力且愿意拿比你更少的薪水的人等著取代你。

那么,怎么提升自己的上限呢?這時候需要的就是基本功了。會寫幾行代碼,懂幾門編程語言,不叫基本功。基本上稍有領悟能力的人都能在掌握一門編程語言的基礎上快速上手另一門語言。真正的基本功,是對編程的理解,也就是計算機科學的基礎知識。

計算機科學的源頭是布爾代數(shù),因此離散數(shù)學是第一門基本功。

硬件使用高低電平表示0和1,那么如何使用數(shù)字電路來實現(xiàn)布爾代數(shù)中的邏輯功能,就需要掌握第二門基本功數(shù)字邏輯。

接下來,如何通過邏輯電路的組合來實現(xiàn)更高級的功能(運算器、控制器),如何設計相應的指令系統(tǒng),使得計算機系統(tǒng)可以準確、高效地運行,就需要掌握第三門基本功計算機組成與結構。

硬件的原理基本搞明白了,那么計算機系統(tǒng)如何管理軟硬件資源(進程管理、作業(yè)管理、存儲管理、設備管理、文件管理),就需要掌握第四門基本功操作系統(tǒng)。

資源的管理和分配就涉及到各種數(shù)據(jù)的處理,以及各種問題的解決方法,這時候,數(shù)據(jù)結構與算法就是非常重要的基本功,好的數(shù)據(jù)結構和好的算法可以在解決同樣問題的時候表現(xiàn)出千百倍的優(yōu)勢。

數(shù)據(jù)需要存儲,也需要良好的管理和加密,那么一個優(yōu)秀的數(shù)據(jù)庫系統(tǒng)就是非常重要的了,為什么采用關系數(shù)據(jù)庫,2NF到3NF改進了什么地方解決了什么問題,3NF到4NF又解決了什么,掌握了數(shù)據(jù)庫原理,才不會讓你的軟件系統(tǒng)為數(shù)據(jù)管理發(fā)愁。

原理你都明白了,終于要編程實現(xiàn)了,那么你用了C++、JAVA、C#、PHP、Python寫的那些亂七八糟的東西計算機是怎么看懂的呢,這就需要掌握編譯原理,有這一門基本功,你完全可以創(chuàng)造屬于自己的高級編程語言。

全世界那么多人,一臺計算機可不夠用,大家又都想快速地傳遞信息,不用再為了告訴40公里外的雅典戰(zhàn)爭勝利了而跑死一個優(yōu)秀的戰(zhàn)士,那就需要計算機網(wǎng)絡的支持了,OSI七層模型的優(yōu)缺點是什么,TCP/IP模型每一層的功能是什么又是如何實現(xiàn)的,掌握這門基本功,你就能明白我們與這個世界是如何互聯(lián)互通的了。

好了,現(xiàn)在你已經(jīng)基本具備一個高級程序員的基本素質(zhì)了,可以去開發(fā)項目實戰(zhàn)了,那么問題來了,這個項目可行嗎,需要實現(xiàn)哪些功能,每個功能分別準備如何實現(xiàn),代碼碼出來了如何確保正確性和魯棒性,軟件后期運行出現(xiàn)問題如何維護,軟件工程會給你一些啟示。

以上是九大基礎課,掌握這些基本功是成為優(yōu)秀程序員的基礎。但是,程序員就是你職業(yè)生涯的盡頭了嗎,每天碼代碼就是你的追求了嗎?再往上走,是項目經(jīng)理、需求分析師、架構師、算法工程師……等一系列更專業(yè)的崗位,需要你掌握軟件項目管理、軟件體系結構、云計算、分布式計算……等一系列專業(yè)知識,無論是走技術向還是走管理向,專業(yè)知識都是你手中的鐮刀和錘子,那時候的你才能成為專家,而那些赤手空拳的,只能叫莽夫。

最后,如果說了這么多,還是有人覺得學這些沒用,會碼代碼就行,那煩請出門左轉(zhuǎn),看看滿大街某內(nèi)、某某連出來的“程序員”,再回頭看看你讀的大學,你是不是對得起九年義務教育培養(yǎng)出來的這么優(yōu)秀的你。

java語言魯棒性特點,寫代碼和搬磚的區(qū)別