日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

大學計算機軟件專業(yè)生應該學什么?

 dazuo0312 2006-09-14

大學計算機軟件專業(yè)生應該學什么?(點擊:887)

收到一封mail,是一個計算機系大三學生寫來的,想聽聽我的建議,面臨將要畢業(yè)的關口,應該學點什么才能對將來有用。隨后又有不少朋友通過mail,im等等方式詢問我對這個問題的看法。

我本來不是計算機專業(yè)出身,也并非大師之類的人物,本來不敢好為人師。不過,既然作了這個行業(yè),也算有點心得,被問到,也就說點心得和建議,對與不對,各位看官指教。蓋個體情況差距極大,本文是個人觀點,也就姑且一聽,有用則用,當然,這世上怕也沒有所謂萬全之策的。

1、你是否真的喜歡計算機

我是真的喜歡的。如果讓我選擇發(fā)了大財做什么,我仍然繼續(xù)玩計算機,只不過可以更自由自在的玩喜歡的東西。如果你也喜歡,喜歡學新的東西,喜歡復雜而精巧的設計,喜歡工程之美,那就適合走技術道路。如果不是這樣,這條路比較辛苦,還請三思。其實產(chǎn)業(yè)里相關的領域也大有可為,比如說寫技術相關的趨勢作者,鮮有優(yōu)秀的。目前除了互聯(lián)網(wǎng)周刊的陳瓊同學,我還沒看到給商業(yè)媒體寫技術相關的寫手有幾個寫的好的,甚至往往都有致命的本質(zhì)錯誤。諸如此類的周邊領域很多,都有不錯的機會,不一一列舉。

2、假如1你回答的是喜歡,那么

你需要學習很多東西。我認為不可缺少的東西包括: 

* 基礎理論

* 算法

* C語言

* C++或java,如果精通C,可以舍棄C++,學java

* unix

* 正則表達式

* 任何一種腳本語言(目前推薦python)

依次講解為什么這么說

* 基礎理論和算法

20年來,應用層面急速發(fā)展,令人眼花撩亂,而實際上,大幕之后的東西,從1972年C和unix誕生以來就沒有過本質(zhì)的變化。在操作系統(tǒng),數(shù)據(jù)庫理論,編譯原理,信息管理系統(tǒng)理論之類,都是*相對*靜止的。雖然其中有類似于微內(nèi)核還是整體內(nèi)核之類的理論之爭,但是幾乎不影響格局,大可以放心去學。學這些東西唯一的問題是理論枯燥,最好是結合實踐,做一些應用,學一些理論,張弛有度,這樣總能保證好奇心旺盛。

學這些東西的目的是為了真正的了解計算機。不真正了解一個東西,很難舉一反三,很難作到融匯貫通。其實高校教的這些東西都極有價值,只不過是在缺乏實踐的基礎上填鴨,效果往往變成了應付考試。

* C語言

我對C語言的認識如下: (1)是對計算機的最小抽象 (2) 是一種操作內(nèi)存的語言。

基于這2個認識,C是必須要學好的。

寫程序,就是讓計算機按照人的思想去干活的過程,C提供了計算機的抽象模型,讓我們控制計算機變的簡單,而程序設計中,內(nèi)存的使用是最為重要的。(記得匯編里面對寄存器的應用多么重要嗎?)。操作內(nèi)存是程序員的基本功,雖然現(xiàn)在自動內(nèi)存管理和垃圾回收技術已經(jīng)變的日益完善,但學習到優(yōu)秀的內(nèi)存使用觀念仍然是程序員的必修課。真正掌握了這種觀念,看任何語言都不困難了。我總認為,內(nèi)存就是計算機的七寸命門,懂了這個,也就一通萬事通了。

另外一個理由,就是大部分語言是用C語法做為藍本的。熟練的C語言基本功會讓你未來的學習變的輕松很多。

* C++和JAVA

鑒于面向?qū)ο罄碚撊绱酥匾?,我們必須要學好一種操作對象的語言。如同C是操作內(nèi)存的語言,C++和JAVA就是操作對象的語言。

C++我曾經(jīng)認為是很好的語言,但是過于復雜,變化多端,再加上模版的語法和傳統(tǒng)的C風格差距頗大,已經(jīng)越來越不適合成為一種入門語言。JAVA變的更加值得推薦。

JAVA對于對象的控制能力,遠遠高于C++,學習成本低,且能達到效果,是更加值得選擇的。

C++變的原來越尷尬,在開發(fā)底層系統(tǒng)的時候,不如C來得快捷和迅速,在開發(fā)高級應用的時候,比不上JAVA的開發(fā)效率。所以說,如果精通C,甚至可以跳過C++不學。

* UNIX

UNIX或是linux ,這是計算機歷史上最寶貴的財富。寶貴說的不僅僅是其高效的系統(tǒng)和良好的源代碼,更指其哲學。

一個幾十年來,幾乎沒有修改過技術架構的系統(tǒng),確實令人驚訝,相對于windows系統(tǒng),每3年就會將過去的技術完全推倒重來,unix世界看起來似乎恒定不變。

UNIX哲學對于*nix的系統(tǒng)走向影響巨大。以最基本的“簡單就是美”來說,這條原則的重要性往往被忽視,人們喜歡開發(fā)復雜的,大而全的系統(tǒng),最后結果往往很悲慘。unix則是提供了一系列的功能單一的小程序,每個程序都有特定的用途,然后利用管道等等方式將這些小程序結合起來使用。每個程序都簡單,而,越簡單的結構越穩(wěn)定,在這樣的思想上建立起來的系統(tǒng)也會具有極佳的穩(wěn)定性。

理解了UNIX基本哲學,就能理解很多優(yōu)秀的開源產(chǎn)品設計思路。比如說,mysql為什么提供的功能如此簡陋,還得到了極其廣泛的應用?Apache為何穩(wěn)定,php為何速度如此之快等等。這是內(nèi)力,悟到了,用什么東西都無往不利。

* 正則表達式

這個東西看起來好像天書,但怎么強調(diào)重要都不算過分。

去看看程序員們每天做什么工作,往往會驚訝的發(fā)現(xiàn),其實大部分時間都是在處理字符串。無怪乎一個高手感慨,應用軟件最重要的就是兩件事,字符串處理和數(shù)據(jù)庫。

正則表達式無疑是處理字符串最強大的武器。利用這個,往往可以實現(xiàn)一些看起來不可能完成的任務。

什么時候開始學習正則表達式合適?當你要處理字符串的時候,放棄過去那種,從第幾個字符進行substr到多少個字符之類的麻煩的方法,直接嘗試用正則表達式代替。等熟悉了正則表達式,你會發(fā)現(xiàn)unix更可愛了,無論是grep還是vi或是apache,正則表達式無處不在。

* 任何一種腳本語言

腳本語言是最偉大的發(fā)明之一。這種簡單,快捷,入門成本低的語言,雖然效率不算高,但是確實能做很多事。無論是輔助工作,做一些自動化的工作,還是完成大型任務,都有用武之地。比如,用腳本去定時抓取某個頁面,解析內(nèi)容,放在相應的位置,這種工作用腳本完成比用編譯語言完成容易的多。

以上幾種,是計算機世界中必不可少的幾個方面,如果都能掌握了,下面做什么大概就不需要我再多說了。能做的事情太多了。這一套東西學過來,你從一個“專業(yè)畢業(yè)但不真正理解計算機”的人變成了一個能夠和計算機對話的人。這就是所謂的“道” 了。從此之后,在”應用”這個層面,應該沒有什么東西能難住你了,所謂天下萬物皆為兵器,舉手投足皆可傷人的境界,已經(jīng)差不多了。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多