軟件開發學習的態度

在軟件開發中,技術變化如此之快,你花費了大量時間學習技術和工具,一旦這些技術被取代,你的知識將變得毫無價值,由於它們大部分都是實施的細節。
我最近老是在想這段話,軟件開發算不算是真正的知識?程序員

若是它是一種真正的知識,那麼理論上,咱們學到的東西大部分應該不會過期,就好像微積分不會過期同樣。但是實際上,咱們都知道,軟件開發技能有時效性,十年前學習的編程知識,十年後幾乎確定不能用於生產。那樣的話,軟件開發就不能算真正的知識,只是一種實施的細節。編程

公司旁邊有一家稅務所,天天都有不少人排隊交稅。若是你是第一次來交稅,確定搞不清楚怎麼交,交稅是一門學問,必須有人教你,要帶哪些證件,要填哪些表,去哪些窗口排隊等等。ide

我如今認爲,學習編程跟學習交稅是同樣的,都是學習實施的細節。一旦外部環境變了,原來的實施細節就沒用了。當代編程因爲層層的抽象和封裝,咱們已經沒必要接觸底層真正具備通用性的知識了。大部分時候,所謂編程就是在寫某個抽象層的配置。好比,網頁樣式就是在寫 CSS 配置,你很難說這究竟是真正的知識,仍是像《辦稅指南》那樣的實施細節。工具

實施細節並非知識,而是操做步驟。若是技術棧發生變動,實施細節就會毫無用處。可是,你又不能不學習它,不知道實施細節,就無法作出項目。我以爲,程序員應該要警戒,不要落入實施細節的陷阱,不要把所有精力花在實施細節上面,而後覺得本身學到了真正的知識。對待各類語言和工具,正確的態度應該是"進得去,出得來",既要了解足夠的細節,也要可以站在宏觀的角度看待它,探尋底層究竟是怎麼實現的。學習

相關文章
相關標籤/搜索