学计算机应该了解什么软件,大学计算机软件业生应该学什么.doc
大學計算機軟件業生應該學什么
大學計算機軟件專業生應該學什么
2006-06-29 09:26:41 來源: HYPERLINK "" \t "_blank" 天極網 HYPERLINK "javascript:reply_allReply()" \t "_self" 網友評論 11 條 HYPERLINK "/" 進入論壇
收到一封mail,是一個計算機系大三學生寫來的,想聽聽我的建議,面臨將要畢業的關口,應該學點什么才能對將來有用。隨后又有不少朋友通過mail,im等等方式詢問我對這個問題的看法。
我本來不是計算機專業出身,也并非大師之類的人物,本來不敢好為人師。不過,既然作了這個行業,也算有點心得,被問到,也就說點心得和建議,對與不對,各位看官指教。蓋個體情況差距極大,本文是個人觀點,也就姑且一聽,有用則用,當然,這世上怕也沒有所謂萬全之策的。
1、你是否真的喜歡計算機
我是真的喜歡的。如果讓我選擇發了大財做什么,我仍然繼續玩計算機,只不過可以更自由自在的玩喜歡的東西。如果你也喜歡,喜歡學新的東西,喜歡復雜而精巧的設計,喜歡工程之美,那就適合走技術道路。如果不是這樣,這條路比較辛苦,還請三思。其實產業里相關的領域也大有可為,比如說寫技術相關的趨勢作者,鮮有優秀的。目前除了互聯網周刊的陳瓊同學,我還沒看到給商業媒體寫技術相關的寫手有幾個寫的好的,甚至往往都有致命的本質錯誤。諸如此類的周邊領域很多,都有不錯的機會,不一一列舉。
2、假如1你回答的是喜歡,那么
你需要學習很多東西。我認為不可缺少的東西包括:
* 基礎理論
* 算法
* C語言
* C++或java,如果精通C,可以舍棄C++,學java
* unix
* 正則表達式
* 任何一種腳本語言(目前推薦python)
依次講解為什么這么說
* 基礎理論和算法
20年來,應用層面急速發展,令人眼花撩亂,而實際上,大幕之后的東西,從1972年C和unix誕生以來就沒有過本質的變化。在操作系統,數據庫理論,編譯原理,信息管理系統理論之類,都是*相對*靜止的。雖然其中有類似于微內核還是整體內核之類的理論之爭,但是幾乎不影響格局,大可以放心去學。學這些東西唯一的問題是理論枯燥,最好是結合實踐,做一些應用,學一些理論,張弛有度,這樣總能保證好奇心旺盛。
學這些東西的目的是為了真正的了解計算機。不真正了解一個東西,很難舉一反三,很難作到融匯貫通。其實高校教的這些東西都極有價值,只不過是在缺乏實踐的基礎上填鴨,效果往往變成了應付考試。
* C語言
我對C語言的認識如下: (1)是對計算機的最小抽象 (2) 是一種操作內存的語言。
基于這2個認識,C是必須要學好的。
寫程序,就是讓計算機按照人的思想去干活的過程,C提供了計算機的抽象模型,讓我們控制計算機變的簡單,而程序設計中,內存的使用是最為重要的。(記得匯編里面對寄存器的應用多么重要嗎?)。操作內存是程序員的基本功,雖然現在自動內存管理和垃圾回收技術已經變的日益完善,但學習到優秀的內存使用觀念仍然是程序員的必修課。真正掌握了這種觀念,看任何語言都不困難了。我總認為,內存就是計算機的七寸命門,懂了這個,也就一通萬事通了。
另外一個理由,就是大部分語言是用C語法做為藍本的。熟練的C語言基本功會讓你未來的學習變的輕松很多。
* C++和JAVA
鑒于面向對象理論如此重要,我們必須要學好一種操作對象的語言。如同C是操作內存的語言,C++和JAVA就是操作對象的語言。
C++我曾經認為是很好的語言,但是過于復雜,變化多端,再加上模版的語法和傳統的C風格差距頗大,已經越來越不適合成為一種入門語言。JAVA變的更加值得推薦。
JAVA對于對象的控制能力,遠遠高于C++,學習成本低,且能達到效果,是更加值得選擇的。
C++變的原來越尷尬,在開發底層系統的時候,不如C來得快捷和迅速,在開發高級應用的時候,比不上JAVA的開發效率。所以說,如果精通C,甚至可以跳過C++不學。
* UNIX
UNIX或是linux ,這是計算機歷史上最寶貴的財富。寶貴說的不僅僅是其高效的系統和良好的源代碼,更指其哲學。
一個幾十年來,幾乎沒有修改過技術架構的系統,確實令人驚訝,相對于windows系統,每3年就會將過去的技術完全推倒重來,unix世界看起來似乎恒定不變。
UNIX哲學對于*nix的系統走向影響巨大。以最基本的“簡單就是美”來說,這條原則的重要性往往被忽視,人們喜歡開發復雜的,大而全的系統,最后結果往往很悲慘。unix則是提供了一系列的功能單一的小程序,每個程序都有特定的用途,然后利用管道等等方式將這些小程序結合起來使用。每個程序都簡單,而,越簡單的結構越穩定,在這樣的思想上建立起來的系統也會具有極佳的穩定性。
理解了UNIX基本哲學,就能理解很多優秀的開源產品設計思路。比
總結
以上是生活随笔為你收集整理的学计算机应该了解什么软件,大学计算机软件业生应该学什么.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html判断是否有某个元素,jquery
- 下一篇: 从左边列表复制到右边列表html,JQ实