在嵌入式學習過程中的困惑——有人說軟體技術變化太快,現在學的東西過兩年就要完全淘汰,是嗎?

來源:互聯網
上載者:User

標籤:電腦科學   軟體技術   布爾代數   程式員   嵌入式   

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/80/05/wKiom1c0TJfwz5SbAADS_yb12L0995.jpg" title="5.jpg" alt="wKiom1c0TJfwz5SbAADS_yb12L0995.jpg" />

有人說軟體技術變化太快,現在學的東西過兩年就要完全淘汰,是嗎?


你知道這話是什麼人說的嗎?必然是已經被淘汰的人說的。比如Delphi、BCB、PB這些開發工具和語言,都曾經很是風光了一陣,但現在已經完全被Java和.NET取代了。那麼Java和.NET會不會被取代呢,也許在相當長的時間內還不會。


這些被淘汰的程式員有一些共同的特點:只會用滑鼠拖拽控制項,離開IDE就不知道如何工作,學點兒花拳繡腿的功夫就想吃一輩子,對學習新技術不感興趣,做一天和尚撞一天鐘。現在請回頭看看1,在整個軟體技術領域,這些變化快的技術其實只佔了很小的一塊,卻成了這些人的全部看家本領,這樣的人能不被淘汰嗎?


與這些流行的開發工具和語言相反,很多技術和思想是很少變化的。比如,POSIX和SUS標準規定了一套系統函數介面和基本命令的語義,只有實現了這些才可以稱作UNIX,因此今天的Linux、Solaris跟20多年前的UNIX在系統功能層上是基本一致的。而指導電腦科學發展的數學理論,甚至是老祖宗們在電腦還沒誕生的年代就替我們想好的:布爾代數發表於19世紀,直到一個世紀後發明了電腦和數字電路才有了用武之地;數論在17世紀就出現了,一直都被數學家們當成一套好玩的理論,但只是好玩而已,直到電腦密碼學誕生後才發現它的實際用處。


各種流行的開發工具和進階語言雖然變化很快,但是底層的程式設計語言卻非常穩定,各種作業系統的核心都是用C語言寫的,以前是這樣,以後也不會改變。另一方面,各種程式設計語言的設計思想也是非常穩定的。其實世界上只有兩種程式設計語言,一種是C,一種是LISP,前者是imperative的,是對電腦模型的抽象,後者是functional的,是對數學函數模型的抽象。物件導向是一種重要的軟體工程思想,卻算不上一種新的語言模型,應該歸在C的一類。屬於同一類的各種語言其實都大同小異,一個精通C++的人學習Java需要多長時間?熟悉文法一個星期,熟悉類庫三個星期,一個月足矣,以往的經驗都可以套到新的程式設計語言上。然而要想習得深厚的演算法功底、邏輯思維和抽象思維修養,能夠真正說清楚“系統”是什麼,如何分析和設計“系統”,需要多長時間?恐怕要數十年。


在嵌入式學習過程中的困惑——有人說軟體技術變化太快,現在學的東西過兩年就要完全淘汰,是嗎?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.