程式設計師是否需要學習底層知識
原文連結:enter link description here 作者:chgaowei
程式設計師是否需要學習底層知識?
這兩天每天中午午休前都會看一些《程式設計人生》。現在已經看了七八個人,這些人開始程式設計的時候,正好是計算機的起步期,所以對整個計算機的底層都比較瞭解。不知道這是不是這些人能夠成為大師的一個必要條件,自己有沒有必要在這方面努力一下。我想這也是很多程式設計師思考過的問題。現在分享一下我的思考,和大家一起探討。——ps:這些人大部分在中學的時候就開始程式設計,而那個時候我們一般都正在為考試悶頭學習,這個差距要我們現在來彌補。
好的,首先有必要澄清一下“底層知識”的概念,對程式設計師來說什麼才是底層知識?
一般情況下,我們可能會認為底層知識就是作業系統,編譯器,暫存器等等相關知識。我認為這個問題是相對的,而不是絕對的。這取決於程式設計師從事那個層次的開發工作。如果是一個c語言開發者,把這些知識歸為底層知識也許很合理,但是對一個java或者更高階語言的開發者來說,有些不準確,或者不可以稱為直接的底層知識。
我認為,所謂的底層知識,是指他程式設計或開發所依賴的平臺(或者框架,工具)的知識。比如,對於java開發者來說,java虛擬機器,以及它所用的框架等知識就是他的底層知識,而更底層的知識,姑且叫它間接的底層知識吧。
為什麼要學習底層知識?
不學習底層知識可能不會阻礙你稱為一個稱職的程式設計師,但也許會阻礙你成為一個優秀的程式設計師。
瞭解底層的知識有助於解決問題,並且做出更好的設計。打個比方,就像庖丁解牛,他看到一個牛後,不止看到的是牛,而是由各個骨骼,經絡,肌肉等模組組成的有機體——整個系統對你來說就是赤裸裸的,沒有任何神祕的面紗。這樣也許能夠給程式設計師提供更多的安全感。
但是如果你程式設計所依賴的平臺需要你去了解更底層的知識才能夠解決問題,那麼,他可能沒有做好他應盡的職責。
底層知識從何學習?
《程式設計人生》中有一個人提到過,要敢於去“開啟盒子”,看裡面到底是什麼。而我要補充的是,儘量去開啟你身邊的盒子。
現在開發有個特點,就是分工越來越明確,而且整個程式設計的知識體系結構也越來越龐大,我們面前的“盒子”很多,我們沒有精力去把每個盒子都開啟。學習底層知識就要從你最直接的底層開始學起。一方面,你在工作中會遇到類似的問題,有了需求,學習效率就會高很多;另一方面,你也有這方面的基礎,學起了可能更加的水到渠成。
當你把你的底層知識征服了,你就有資本(基礎,能力)去征服更底層的知識了。
不學習最底層的知識是否會阻礙成為大師?
思考中。
發現我對學習本身的投入超過了對學習內容的投入。不知道是好事還是壞事。總之,要專心學習技術了。
相關文章
- Java程式設計師需要學習哪些知識?Java程式設計師
- Web設計師需要程式設計知識嗎?Web程式設計
- 底層程式設計師到專案經理到底需要多少時間,那些知識儲備?程式設計師
- 一網打盡:Java 程式設計師必須瞭解的計算機底層知識!Java程式設計師計算機
- 程式設計需要知道多少數學知識?程式設計
- 程式設計師都應學習程式碼編譯器知識程式設計師編譯
- 學習UI設計都需要了解哪些知識?UI
- Java程式設計師需要學習的技能Java程式設計師
- 程式設計師需要了解的硬核知識之磁碟程式設計師
- 程式設計師需要了解的硬核知識之CPU程式設計師
- 併發程式設計基礎底層原理學習(一)程式設計
- 併發程式設計基礎底層原理學習(二)程式設計
- 併發程式設計基礎底層原理學習(四)程式設計
- Web設計師需要編碼知識嗎?Web
- 程式設計師學習程式設計需要攻克的8個障礙程式設計師
- 程式設計師的知識管理程式設計師
- 小白程式設計師想走後端方向,該怎麼學習計算機基礎知識?需要做什麼?程式設計師後端計算機
- 程式設計師需要了解的硬核知識之控制硬體程式設計師
- 程式設計師需要了解的硬核知識之記憶體程式設計師記憶體
- 程式設計師:學校教的數學知識,程式設計根本用不到!程式設計師
- 學習雲端計算好就業嗎?需要學習哪些知識?就業
- 好程式設計師web前端培訓分享CSS基礎知識學習程式設計師Web前端CSS
- Ruby 程式設計師學習 Laravel 框架筆記 (8)-view 的更多知識程式設計師Laravel框架筆記View
- 程式設計師程式設計知識經驗總結程式設計師
- 新手UI設計師需要掌握的知識和技能UI
- 一個故事告訴你,學習程式設計是否需要天賦?程式設計
- 程式設計學習,知識付費已是常事,知識變現更重要!程式設計
- 伯樂訪談:為什麼程式設計師需要學習設計,而設計師需要了解開發?程式設計師
- 程式設計師需要了解的硬核知識之二進位制程式設計師
- 程式設計師需要那些具備最基礎的知識和技能程式設計師
- @程式設計師,你需要點金融常識程式設計師
- 新Rust程式設計師需要學習的9個功能Rust程式設計師
- 作為一個程式設計師,需要學習多少技能?程式設計師
- 學習雲端計算需要哪些軟體,需要什麼知識面?
- 程式設計師需要了解的硬核知識之壓縮演算法程式設計師演算法
- 學習Java,還需要學好哪些知識Java
- 如何確定自己是否適合做程式設計師?程式設計師的成長需要什麼?程式設計師
- UI設計師需要學習什麼呢?UI