来,我们谈谈怎么学好计算机科学与技术
生活随笔
收集整理的這篇文章主要介紹了
来,我们谈谈怎么学好计算机科学与技术
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
〇、序
? ? ? ? 首先介紹一下我本人的簡況,以便大家在閱讀此文的時候有個背景上的把握。
? ? ? ? 我在初中的最后一年,中國的計算機(jī)產(chǎn)業(yè)正蒸蒸日上。當(dāng)時還沒有計算機(jī)的我對計算機(jī)的認(rèn)識就是它很有趣,并且還能做很多事。而改變我以后方向的是中考前一個星期,我做了一個決 定。我在跟父母保平安的電話里說:如果我升入高中,就給我買臺電腦吧。父母沒有多想,作為獎勵,我在收到高中錄取通知的次日,我收到了某種意義上的第一件禮物——一臺嶄新的個人 家用臺式計算機(jī)。
? ? ? ? 從此,我開始了折騰電腦的生活,以至于大學(xué)報考計算機(jī)專業(yè)。計算機(jī)引發(fā)了我的興趣,所以這一切都在情理之中。是計算機(jī)給我敞開了一扇大門,讓我見識到我未曾探索過的世界。
? ? ? ? 現(xiàn)在想來,我一直生活在兩個世界中:一個現(xiàn)實的世界,我在為了以后的工作而努力,單調(diào)、枯燥、乏味;另一個計算機(jī)世界,豐富有趣的知識,一切的廢寢忘食都是因為好玩,在其中 我可以乘風(fēng)自由翱翔,流連而忘返。
? ? ? ? 好了,簡單的介紹完自己的經(jīng)歷,我們就來進(jìn)入本文的主題,怎么來學(xué)好計算機(jī)科學(xué)與技術(shù)。
一、你適合從事計算機(jī)行業(yè)嗎?
? ? ? ? 既然本文是寫給計算機(jī)專業(yè)新生的,但為什么要問這個問題呢。實際上計算機(jī)專業(yè)的學(xué)生有相當(dāng)一部分人以前對計算機(jī)不怎么了解,充其量是拿計算機(jī)上上網(wǎng),玩玩游戲。絕大部分人都 是對計算機(jī)很不熟悉的,高手更是鳳毛麟角。我想那些不知道計算機(jī)專業(yè)是做什么就填報的同學(xué)們是不是奉了父母之命。又或者是看到計算機(jī)是熱門專業(yè),所以想都不想就填報了。
? ? ? ? 在這里我并不是要批評什么,只是陳述一下近幾年填報計算機(jī)專業(yè)的學(xué)生的情況。很顯然大部分同學(xué)都是這樣的情況,極少有同學(xué)是因為純粹喜歡計算機(jī)而填報的。如果是因為對計算機(jī) 有興趣而報考的本專業(yè),那么請聯(lián)系我。雖說我與所謂的高手想去甚遠(yuǎn),但是我有一顆想結(jié)識熱愛計算機(jī)的朋友。 如果你僅僅是想得到一份高薪水的工作,想著喝喝咖啡就等老板發(fā)薪水,那我奉勸有這樣想法的同學(xué)還是另找一份更適合的工作吧。真的,這工作并不適合 你。還有想僅僅只想學(xué)一門語言就能給公司寫代碼的還是去找個計算機(jī)語言培訓(xùn)機(jī)構(gòu)吧,哪里面學(xué)到的東西絕對比大學(xué)里面學(xué)到的實用也好用。但是這樣做你僅僅只能停留在一個低級程序員 水平上,只會寫代碼,吃上幾年青春飯,然后黯然退出這個朝氣蓬勃的產(chǎn)業(yè)。
? ? ? ? 現(xiàn)在說可能有點早,但是比晚說一定對你們有用的多。半個學(xué)期后,一些專業(yè)課程也已經(jīng)進(jìn)行了大半了。肯定有一些人在專業(yè)課上聽不懂了:什么是函數(shù)化思想,指針交換兩個數(shù)又是干 嘛的……諸如此類的事情其實是在警告你,你到底是不適合學(xué)習(xí)計算機(jī)。如果答案是肯定的,那就請通篇讀完本文,本文會讓你對今后怎么學(xué)習(xí)計算機(jī)有個宏觀上的了解。如果答案是否定的 ,那還是結(jié)束本文的閱讀,然后仔細(xì)想想,以后的出路在何方,難道你真的要白白浪費四年美好的青春時光,然后讓四年后、十年后、四十年后的你悔恨現(xiàn)在的自己。
二、計算機(jī)專業(yè)不僅僅是編程
? ? ? ? 毫無疑問的是,計算機(jī)這個事物是近幾年才大規(guī)模出現(xiàn)的事物。但是相比其他產(chǎn)業(yè),計算機(jī)發(fā)展可謂是神速了,從第一臺計算機(jī)(ENIAC)于1946年2月,在美國誕生至今日只有短短的六十多 年。相比之前大部分改變世界的產(chǎn)品從發(fā)明到普及平均需要一個世紀(jì),計算機(jī)可以說是一個神奇而特殊的新事物。它使得信息的收集、處理、發(fā)布有了一個全新高效的方式,極大地促進(jìn)了社 會的發(fā)展。它用短短的六十年實現(xiàn)了過去幾百年想都不敢想的事情。
? ? ? ? 雖然它發(fā)展的時間不長,但是由于這場革命是在全世界范圍內(nèi)展開的,它凝聚了全人類的智慧結(jié)晶。并且由量變升華為質(zhì)變,使得計算機(jī)這個專業(yè)的體系變得無限寬廣博大。可以確定的 是,就算一個人從一出生就開始學(xué)習(xí)計算機(jī)的相關(guān)知識,一天二十四小時連軸轉(zhuǎn),在生命結(jié)束的時候也無法接觸到所有的計算機(jī)知識。因為計算機(jī)知識每時每刻都在更新,并且是呈指數(shù)增長 的,只要計算機(jī)還在使用,這種增長就不會停止。我們在有生之年學(xué)到的計算機(jī)知識永遠(yuǎn)只是九牛一毛,所以一定要有一顆謙虛學(xué)習(xí)的心,不可妄自菲薄。
? ? ? ? 正是因為有了這么博大的一個知識體系,才能讓計算機(jī)技術(shù)涉及到了生活中的方方面面,才能把世界連接成為一個地球村。
? ? ? ? 計算機(jī)體系大到了可以包容一切的地步。以至于可以讓每個想從事計算機(jī)行業(yè)的人都可以在其中找到自己的一席之地。比如對計算機(jī)有興趣,但是不喜歡坐在電腦旁編寫代碼的話,可 以憑借學(xué)到的計算機(jī)知識去做跟客戶密切接觸的工作。如果有一定的藝術(shù)功底,也可以憑借計算機(jī)做視頻,做音頻,做網(wǎng)頁……。只要能對計算機(jī)基礎(chǔ)有扎實的了解,并且喜歡計算機(jī)的話, 那么,這個行業(yè)就絕不會讓你走投無路。
? ? ? ? 硬件是軟件的上游。只有先有了硬件,軟件才能有一個平臺來運行。但是在世界上的實際情況是這樣的,計算機(jī)重要核心部件被幾個大公司壟斷著,網(wǎng)絡(luò)核心設(shè)施的重要技術(shù)又被其他幾 個大公司壟斷著,少量但是規(guī)模巨大的公司壟斷并引領(lǐng)著硬件發(fā)展。壟斷就意味著技術(shù)的不透明,就意味著上升空間的頂層已經(jīng)被堵死。與學(xué)習(xí)軟件不同的是,在學(xué)習(xí)硬件和自身發(fā)展過程中 ,先進(jìn)硬件的匱乏和資金的制約始終是兩把鉗制中國硬件技術(shù)人員成長的兩大因素。并且學(xué)習(xí)硬件就意味著要還要同時掌握物理、電子相關(guān)知識。最后的最后,你可能還會發(fā)現(xiàn),其實在自己 設(shè)計硬件的時候還是需要熟練的使用編程技術(shù)……
? ? ? ? 在這里我并不是說學(xué)習(xí)硬件有多么不好,而是說明在中國學(xué)習(xí)硬件是一條很難走的道路,又因為軟件學(xué)習(xí)容易所以又導(dǎo)致了軟件行業(yè)競爭壓力大。所以既然硬件是軟件的上游,而且國家 和相關(guān)企業(yè)也急需硬件方面的人才。一旦學(xué)好硬件,自然比學(xué)好軟件的收入多的多。所以硬件和軟件在學(xué)習(xí)和發(fā)展上各有利弊,鑒于硬件在國內(nèi)的發(fā)展和我所報考的專業(yè),我還是決定先在軟 件行業(yè)立住腳。
? ? ? ? 扯了這么遠(yuǎn),在這里我只是想說明。學(xué)習(xí)計算機(jī)專業(yè),到最后并不一定是編程。要是全國的所有的計算機(jī)專業(yè)的畢業(yè)生都去編程了,那我估計下一次計算機(jī)人才泡沫就要提前到來了。但 既然學(xué)習(xí)了計算機(jī)專業(yè),就要對計算機(jī)專業(yè)有個總體的了解,對相關(guān)的知識一定要熟悉。因為以后不管是做什么,會熟練的運用計算機(jī)工作,那也是作為自己一項很有優(yōu)勢的資本。
三、做一個程序開發(fā)者
? ? ? ? 既然確定了要從軟件入手學(xué)習(xí),那么有個很重要的問題需要大家有個深刻的認(rèn)識,那就是什么是軟件行業(yè)的核心。
? ? ? ? 也許你想對了,其實軟件的核心就是編程。不過既然你已經(jīng)讀到這了,相信你是希望可以在條路上走下去的,所以編程這個詞對讀到這里的同學(xué)們的感覺應(yīng)該是神秘和有趣的,而不是一 提到它就頭大(當(dāng)接觸幾個月的編程之后你會頭大的,不過不要怕,都會有這個階段)。在這里我可以用汽車制作業(yè)與計算機(jī)專業(yè)進(jìn)行一個對比。
? ? ? ? 雖然汽車專門的賣場和維修店在城市里遍地開花,大有蓋過汽車制造商的趨勢。但是從本質(zhì)上分析,如果沒有人類對出行的需求和汽車的發(fā)明和創(chuàng)造,怎么能有汽車賣場和維修店的大 行其道。正是有了汽車的生產(chǎn),才催生了汽車賣場和汽車維修等汽車服務(wù)項目。真正的核心其實是汽車制造這項核心技術(shù)。與汽車行業(yè)相同,計算機(jī)行業(yè)也是如此。各種專門軟件的應(yīng)用及培 訓(xùn)混淆了軟件真正的核心——編程。要時刻記住,如果想在軟件行業(yè)立住腳的話,只有編程才是最重要的核心,其他的軟件應(yīng)用只是輔助,(不是不可以學(xué),學(xué)到的東西當(dāng)然是多多益善,但 是要把握好一個平衡,不要看到就學(xué),還要理性分析學(xué)的值不值)一切軟件應(yīng)用的實現(xiàn)其實都是編程這一幕后英雄在默默無聞的貢獻(xiàn)。
? ? ? ? 在這里我想吐槽一下那些以為學(xué)好PS、Flash、Premier、Dreamweaver就覺得是學(xué)好了計算機(jī)的想法是多么可笑。因為這些東西只是外圍的軟件應(yīng)用,因為一個優(yōu)秀的軟件做出來了,就必 須要有人來使用,這些使用者應(yīng)該是想要通過這些軟件來解決問題的。比如PS,一個專業(yè)美術(shù)系的人比計算機(jī)系的人不知道受到多少美術(shù)的熏陶,他們在整體美感上決對比計算機(jī)系的人強(qiáng)。 他們培訓(xùn)上幾個月的PS,就能瞬秒一個四年都在使用PS的計算機(jī)系高手。因為PS的作用就是通過美術(shù)思維來處理圖片,那么請問你的美術(shù)功底到底有多深呢?以后的從業(yè)道路上,計算機(jī)系的 人會認(rèn)識到一個職業(yè)叫美工,他們會使用很多的美工軟件來做UI,而且我想說的是,這些美工有多少是計算機(jī)系的人呢?所以我奉勸一下大家,這些東西可以學(xué),但是不要忘了這個專業(yè)的核 心競爭力是編程。
? ? ? ? 好吧,我承認(rèn)我的廢話太多,有點繞遠(yuǎn)道了,沒關(guān)系,我們再繞回來。
? ? ? ? 編碼是核心,但是編碼的人員在區(qū)分上是很有差別的,程序員Programmer可以分為程序設(shè)計人員和程序編碼員。在一個軟件設(shè)計的頂層是少數(shù)幾個程序設(shè)計人員在規(guī)劃設(shè)計一個軟件的各 個部件,然后分配給下一級的程序編碼員做,所以最低層的只需要負(fù)責(zé)用寫代碼實現(xiàn)就可以了。其實寫代碼沒有什么很深奧的技術(shù)的,難的是寫代碼的經(jīng)驗以及設(shè)計一個好用的軟件。但是不 管是設(shè)計人員還是編碼人員,他們最初學(xué)到的都是編程,只不過學(xué)的深度和廣度不同,所以一個程序員在學(xué)習(xí)中掌握的東西基本上可以決定在軟件開發(fā)中的位置——是廣大低層碼農(nóng),還是頂 層設(shè)計師。
? ? ? ? 在這里我有必要說一下金字塔模型。可能大家都聽說過,就是在歷史課上學(xué)習(xí)封建制度的時候看到的那個金字塔,上面是皇帝,中間是諸侯臣子,下面是平民。其實這個比喻在計算機(jī)行 業(yè)更加適合。有時候,在特定場合,知識的鴻溝將這個等級制度分辨的清清楚楚。不知道軟件設(shè)計的原理,就只能在低層做碼農(nóng)。
? ? ? ? 其實在這里對低層開發(fā)人員叫碼農(nóng)有點偏見,他們也是用自己的智力在工作,與頂層設(shè)計師并沒有什么本質(zhì)的區(qū)別。而我所看重的應(yīng)該是對社會的貢獻(xiàn)度,我總是想能在我的有生之年做到最好,進(jìn)全力做出我的貢獻(xiàn),讓社會承認(rèn)我的重要性。也許我又偏激了,還請無視吧。
? ? ? ? 既然進(jìn)入了本科教學(xué)階段,就要對不斷的發(fā)展自己的核心競爭力。到底什么才能讓自己在未來激烈的競爭中脫穎而出,最低要求也要不競爭的那么辛苦。這個問題困擾了我好久,希望我 能在大學(xué)期間想明白這個問題。
? ? ? ? 其實我更喜歡外國的說法,他們把根據(jù)自己意愿設(shè)計產(chǎn)品的叫做Developer,而把編碼人員叫做Coder。有時候一些高手在一些高質(zhì)量項目里也做Coder,這是對產(chǎn)品的重視。即使是一個 Coder,也應(yīng)該有一個Developer的想法。一個好的Programmer往往會是一個差一點的Programmer的一百多倍,這也是為什么在計算機(jī)行業(yè)可以看到這么多的Hero。
? ? ? ? 其實本科教育能讓我們達(dá)到的編程水平真的很低,至少我們達(dá)不到在培訓(xùn)機(jī)構(gòu)培訓(xùn)幾個月之后就能上手做項目的水平。當(dāng)然,在這里我并不是說他們的水平高,只是他們是以實戰(zhàn)為目的 ,而我們更傾向于學(xué)習(xí)理論和鍛煉思維。所以要轉(zhuǎn)變思維,上大學(xué)不是為了找工作。如果不靜下心來學(xué)習(xí)并享受技術(shù),而是在大一就開始為了四年后的工作問題而糾結(jié)。那么,這四年你只能 學(xué)會一個皮毛。要記住不要為了成功而優(yōu)秀,追求卓越,成功就會不期而至。其實,在大學(xué)四年里,認(rèn)真學(xué)下去的話,我們能學(xué)到很多。比如比半路出家的Coder更了解計算機(jī)的整體結(jié)構(gòu)。有 了一定的基礎(chǔ)之后,如果再學(xué)習(xí)一個新的知識就會快的多。
? ? ? ? 我們在大學(xué)里做的其實很簡單,但是也很復(fù)雜,就是用四年去了解和掌握計算機(jī)基礎(chǔ)知識。雖然基礎(chǔ)看不見摸不著,不像學(xué)會一個語言就能立刻編程。但是它會成為一種習(xí)慣,深深的沁 入你的腦海,不知不覺的影響著你的一舉一動。
? ? ? ? 如果覺得我說的抽象的話,我還可以舉一個大家都知道的例子,郭靖像洪七公學(xué)習(xí)降龍十八掌,郭靖在短短的幾天時間里就學(xué)會了如此精妙上乘的武功,是因為七公的教導(dǎo)方法高超嗎? 不是的,洪七公在教郭靖武功的時候滿腦子想的是黃蓉做的菜,哪有百分百的心思用在教一個傻小子武功上呢。是郭靖天資聰慧?我只能說在黃蓉面前,郭靖就像個傻子。其實他能學(xué)會如此 高超的武功全都依靠著江南七怪和全真教的馬鈺在這個傻小子小的時候的不厭其煩地教他基本功,又恰巧這個傻小子學(xué)的認(rèn)真。以至于從量變到質(zhì)變,他的身體對武功有了一個下意識的反應(yīng) 。所以才在學(xué)習(xí)降龍十八掌的時候沒有費多大的力氣。反過頭來如果讓楊康這個沒有基礎(chǔ)的紈绔子弟來學(xué)習(xí)降龍十八掌,不走火入魔才怪呢。
? ? ? ? 玩計算機(jī)的都是一群聰明人,我相信大家會懂我在例子中要說明的意思。想要習(xí)得高深的技術(shù),就要有相應(yīng)的基礎(chǔ)做支撐,否則一切都是鏡花水月。
? ? ? ? 說了半天,到底計算機(jī)有哪些基礎(chǔ)呢?
? ? ? ? 在我看來,首先要學(xué)習(xí)的基礎(chǔ)是數(shù)學(xué)和英語,因為一個計算機(jī)系等于半個數(shù)學(xué)系和半個英語系。
? ? ? ? 因為計算機(jī)的起源是數(shù)學(xué),先有了數(shù)學(xué)精確的理論,才有了計算機(jī)的協(xié)調(diào)配合。而且站在計算機(jī)這個大金字塔頂尖的是數(shù)學(xué)家,是他們發(fā)現(xiàn)并引領(lǐng)了新算法,于是帶動了整個金字塔的運 行。雖然我們不會也不怎么可能去做一個數(shù)學(xué)家,但是我們在解讀一個算法或者解決一個問題的時候,往往是和數(shù)學(xué)相掛鉤的。只有擁有了數(shù)學(xué)的思想,我們才能更好的學(xué)習(xí)更深的理論。所 以在大學(xué)的時候還是認(rèn)真補(bǔ)齊一下數(shù)學(xué)的相關(guān)思想吧(注意,是數(shù)學(xué)思想,不是買本題做)。
? ? ? ? 還有英語,這里我們可以思考一個問題,為什么我大天朝的計算機(jī)較印度等英語國家弱?其實很大一部分原因應(yīng)該要歸根于語言問題上,雖然我國普及英語這么多年了,但是讓一個普通 大學(xué)生流利的看一篇英語文章還是很有困難的吧。再看以下印度,印度因為有百多年的英國殖民史,以至于他的官方語言就是英語。在這里我不想吐槽印度英語連英國人都聽不懂,但是他們 在閱讀上完全沒有困難。所以他們在閱讀先進(jìn)的用英語書寫的計算機(jī)文章的時候是很輕松的。試想,當(dāng)我們還在努力消除語言帶來的差異時,那些看懂英語的人已經(jīng)在計算機(jī)的大路上全力向 前奔馳了。這些差距短期內(nèi)是沒有辦法彌補(bǔ)的。雖然我們有先天的劣勢,但是我們要盡力消除這種劣勢。如果想進(jìn)一步學(xué)習(xí)計算機(jī)的話,還是在學(xué)習(xí)計算機(jī)基礎(chǔ)的時候惡補(bǔ)一下英語吧,這個 是沒有辦法回避的。
? ? ? ? 以上是在大一需要開始入門的,千萬不要等到畢業(yè)之后再補(bǔ),到時候就晚了。
? ? ? ? 在這里我有必要說一下關(guān)于語言選擇的問題。對于大多數(shù)初學(xué)者來說,好多人有這種問題存在:我到底先學(xué)什么?學(xué)C/C++?還是學(xué)VC?還是學(xué)Borland C++ Builder呢?還是Delphi?哪 一個更好呢?學(xué)習(xí)程序設(shè)計和學(xué)習(xí)程序設(shè)計語言究竟是怎么一個關(guān)系?初學(xué)者究竟應(yīng)該如何取舍呢?就這些問題,我從一個高手那里看了一下的這段話,可以幫助在這方面有問題的人:學(xué)習(xí) 程序設(shè)計就好比學(xué)習(xí)射擊,而程序設(shè)計語言就對應(yīng)射擊中的氣槍、手槍、步槍等各種槍械。學(xué)習(xí)射擊必須要選擇一種槍械,不可能沒有槍還能學(xué)好射擊的,也不可能同時學(xué)會使用所有的槍械 。但是,如果掌握一種槍械的射擊,再學(xué)別的也就觸類旁通了。因為在熟悉一種槍械的同時,也學(xué)習(xí)了射擊技術(shù)本身。再學(xué)其他的,自然事半功倍。學(xué)習(xí)程序設(shè)計也是一樣,必然要從學(xué)習(xí)一 門程序設(shè)計語言開始入手。在學(xué)會系統(tǒng)的編程理念之后,用什么工具都一樣!但是各個語言都有自己的強(qiáng)項,所以我建議應(yīng)該多學(xué)幾門應(yīng)用方向不同的語言,以學(xué)習(xí)語言為契機(jī),充分了解計 算機(jī)的的知識。
? ? ? ? 在學(xué)習(xí)了兩到三門語言之后,就要開始接觸這些語言的本質(zhì)了。大一之后會開始學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),這個是通用與所有語言的基礎(chǔ)知識,如果沒有學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)就直接編程,那我是不敢想象 這個程序的運行效率能有多低。以后還會接觸到編譯原理、操作系統(tǒng),這三種知識是設(shè)計語言的本質(zhì)和核心知識,同時也讓學(xué)習(xí)計算機(jī)的人和非計算機(jī)的人的思維逐漸區(qū)分開來。
? ? ? ? 以上這些東西都是教學(xué)規(guī)定的,是系統(tǒng)全面的讓人學(xué)習(xí)計算機(jī)相關(guān)知識的教綱。大家不要排斥它,相反的應(yīng)該是接觸它,感受它,喜歡上它。并且在規(guī)定的課程之外的同時,請有計劃的 學(xué)習(xí)一下其他東西,千萬不要跟著教學(xué)進(jìn)度亦步亦趨。
? ? ? ? 想要修煉基礎(chǔ)這項內(nèi)功簡單但是也很困難,簡單的是用大路邊上的方法就能學(xué),困難的是堅持下來很難。在這里我簡單介紹一下如何做。
? ? ? ? 首先要做的是要多接觸計算機(jī)知識,讓自己能從其中找到一個興趣,從這個興趣出發(fā)然后拓展到其他的知識。我在大一的時候是跟著一個大三的學(xué)哥在做網(wǎng)站,慢慢的熟悉了網(wǎng)站之后發(fā) 現(xiàn)自己對網(wǎng)絡(luò)的知識了解的已經(jīng)相當(dāng)多了,雖然不像那種能拿證的網(wǎng)絡(luò)工程師大神,但是我以這個興趣為切入點,慢慢的看到了更大的世界。在這里需要向大家說明的是,就算四年連軸轉(zhuǎn), 也無法窺探到計算機(jī)知識的千分之一,所以千萬不可固步自封,只見樹木而不見深林。總會有比你技高一籌的大神,要虛心請教。不要看到大神就只有仰望的份,要敢于樹立目標(biāo),挑戰(zhàn)自己 ,就能翻越看似不可逾越的高山。
? ? ? ? 其次需要對所學(xué)到的知識有一個條理的理解,對所學(xué)到的知識要有自己的看法。萬不可一股腦的接受,并奉為圭臬。因為老師并不是常年站在計算機(jī)的前沿,有些知識很多年前就已經(jīng)被 淘汰了,但是老師就那這個講。這個并不是不對,老的技術(shù)雖然被淘汰了,但是它的思想仍然可以鍛煉我們的大腦,還能讓我們在接觸到更先進(jìn)的技術(shù)之后體會到新技術(shù)帶來的優(yōu)勢。所以在 學(xué)習(xí)的時候要學(xué)會辨別哪些是淘汰的知識,哪些是在現(xiàn)在乃至于未來幾年都是中流砥柱的知識。至于如何分辨,那還需要大家多多接觸新知識,讓自己的涉及面更廣,深入度更高。
? ? ? ? 最后就是學(xué)習(xí)到理論知識后一定要想方設(shè)法的實踐一下。比如學(xué)習(xí)設(shè)計語言的時候,一定要將代碼實際輸入到電腦上去,然后看能否運行成功。雖然看似簡單機(jī)械,但這是最能見基本功 的地方。就算一個人想法和思路都很清晰,但是一旦真正編寫代碼卻不知道如何下手,又或者寫出來的代碼Bug一大堆,再好的想法和思路也會被這些惱人的錯誤給折磨的煙消云散。如果只是 一門心思的學(xué)教科書上的理論,那你還是去考研吧,也許單純的學(xué)習(xí)理論知識才是你的生活方式。所以一定要記住,千萬不可眼高手低。只有將理論和實踐相結(jié)合,在實踐中領(lǐng)悟為什么要像 書本上寫的那樣做,為什么會出錯,出錯了如何解決,才能提高自己解決問題的能力,鞏固所學(xué)到的知識,理順自己的思路,體會成功的喜悅。
五、在迷茫中前進(jìn)
? ? ? ? 每年大一都會在開學(xué)之后思想上都會集中爆發(fā)幾個問題,就像每個階段都會有遇到每個階段的問題一樣,這很正常,并且這些問題都是造成迷茫的原因,要正視它并解決它。
? ? ? ? 比如在入學(xué)后常見的思想問題就是總是覺得自己考的學(xué)校不好,離自己的想象中的大學(xué)相去甚遠(yuǎn)。對于這個問題其實我也遇到過、掙扎過,并且因為這個原因也頹廢過,但是我后來想明 白了。現(xiàn)在考上的大學(xué)是自己之前應(yīng)試能力的證明,現(xiàn)在上的學(xué)校差勁只能是自己在過去的時候沒有很好的掌握應(yīng)試能力,但是并不能代表自己比其他人差。人跟人的智商確實是有差距,但 是相差10幾分就能從生活中看出來嗎?智商真正能達(dá)到130以上的全球能有幾個,如果非要跟這些高智商的天才比,那無疑就是把自己腦袋對著墻撞。所謂學(xué)校的好壞只能說是在硬件設(shè)施上, 只要不是搞學(xué)術(shù)和從政,是哪個學(xué)校畢業(yè)的無關(guān)緊要,也沒見哪個企業(yè)在招聘的時候打著旗說非名校生不要吧。之所以覺得現(xiàn)實的大學(xué)跟自己想象的不一樣是因為之前沒有接觸過真正的大學(xué) ,只是在別人那里得到只言片語,然后自己無意識地出一所大學(xué),并且一直先入為主地深信那里的一切都是完美無瑕的。其實這個完美的大學(xué)只存在于自己的腦海里,在世界上不會找到這么 一所大學(xué)。拿一所以自己的觀念所虛構(gòu)的完美大學(xué)與現(xiàn)實中的大學(xué)相比,當(dāng)然會有落差。
? ? ? ? 首先,進(jìn)入大學(xué)最重要的是先要擺正心態(tài),要學(xué)會去原諒自己,不要盲目的比較。不要再抱怨學(xué)校,如果無法改變環(huán)境,何不嘗試變換心情去了解它,適應(yīng)它。
? ? ? ? 其實,解決這些問題最好的方法是把自己從瑣事中脫離,慢慢接觸計算機(jī)知識,讓自己進(jìn)入知識的海洋,同時培養(yǎng)自己對計算機(jī)專業(yè)的興趣。在適應(yīng)大學(xué)生活的同時不斷的繪出這個專業(yè)輪廓,并認(rèn)真選一個大體方向。把注意力放在這些問題上,你會發(fā)現(xiàn)所謂的迷茫問題被輕而易舉的解決了。
? ? ? ? 其次,不僅僅是局限于學(xué)習(xí)計算機(jī),不論做什么,都需要一個開闊的眼界。如果只把目光放在本班本校,那么就把自己的水平和覺悟給無意識地降低了。作為一個計算機(jī)系的人,就需要 把視野開闊到全世界。并且只有這樣,才能不為一點小小的成功而沾沾自喜,也不會為了一點小小的失敗而一蹶不振;才能把握最新的思想和動態(tài),才能學(xué)習(xí)到最新的知識。沒事的時候多去 一下計算機(jī)的相關(guān)網(wǎng)站,多接觸一下他們的思想。寒暑假也可以去一個繁華點的城市打打工,見見世面,順便學(xué)會以一個成年人的思維來想一些事情。
? ? ? ? 說到打工,我需要在這里說一下打工和學(xué)習(xí)的關(guān)系。如果想靠計算機(jī)技術(shù)來生活的話,還是不建議去打工的,因為有打工的時間多學(xué)會一個高級一點的思維,就能在畢業(yè)后讓自己的起薪增加好幾百。如果是依托計算機(jī)知識而跟人打交道的話,建議去做一些服務(wù)項目,在打工中感悟與人打交道的真理。總而言之,大學(xué)生打工不要看到錢就做,重要的是能從這次打工中得到什 么經(jīng)驗,而且盡量找一個能跟以后從事的職業(yè)相關(guān)的工作,這要的會讓自己了解到這個行業(yè)的許多情況,能為以后的工作加分。所以只要保證不被騙和人身安全,打工不要在乎錢多少,經(jīng)驗 才是最重要的。
? ? ? ? 再者,鐵打的學(xué)校流水的兵,這句話對學(xué)生也適用,大學(xué)四年能帶走的無非就是知識和一份珍貴的友情。在大學(xué)里需要找到幾個志趣相投的朋友,不需要多,能有兩三個就可以,在四年 里面,相互切磋,相互學(xué)習(xí),相互進(jìn)步。俗話說獨學(xué)而無友,朋友朋友間相互交流,能迸發(fā)出思想的火花,甚至這思想是改變世界的起點。與朋友相似的還要有一個能指明方向的師長,他能 在許多你走入困境的時候給你一個忠告,就是一個忠告就能讓你重新煥發(fā)活力,克服之前無法克服的困難。所以,師長在左前,朋友在右,讓你的旅途不再孤單。
? ? ? ? 最后,我想要說,請給自己一個夢想。不要因為自己進(jìn)了一個覺得垃圾的學(xué)校就覺得自己什么都不是,不要被這個世界所推崇的價值觀打倒,不要屈服與任何借口。我們都是有思想的人 ,是這個世界的未來。如果不給自己一個夢想,怎么能熬得過這漫長的人生。
六、一些瑣碎的想法
? ? ? ? 學(xué)會使用網(wǎng)絡(luò)。網(wǎng)絡(luò)遠(yuǎn)遠(yuǎn)不止看視頻,挺音樂,玩游戲這些功能,在遇到不明白的問題后,要想著能在網(wǎng)絡(luò)上尋找到正確的答案。(我就喜歡想到什么問題然后用手機(jī)直接查詢,主要是 順手)。同時掌握一種辨別信息真?zhèn)蔚姆绞?#xff0c;避免受到錯誤的信息或垃圾信息侵害。同時要限制自己在網(wǎng)絡(luò)上的時間,以防過度依賴虛擬的網(wǎng)絡(luò)。記住,網(wǎng)絡(luò)對于學(xué)習(xí)計算機(jī)的人來說只是一 個工具,你什么時候見過一個制造汽車的24小時開車的。
? ? ? ? 要合理的安排好自己的時間,應(yīng)該意識到什么是必須做的,什么是急于做的。同時遇到一些事情要懂得取舍,有時候放棄是為了更大的收獲。
? ? ? ? 一個真正樂于開發(fā)軟件并想通過軟件來改變?nèi)藗兩畹牟⒉恍赣谏孀阌跈?quán)利的斗爭,因為基本欲望不同,自然心中的境界不同。如果以后成為了管理者,請充分發(fā)現(xiàn)并呵護(hù)些真正的 Developer,他們以后才是能給你提供業(yè)績的人。如果以后成為這種人,請好好享受,因為這群人是世界上最快樂簡單的人之一,他們不會為了一些小事斤斤計較,也不會為了權(quán)力的斗爭而處 心積慮,他們最重要的,是自己心中那個完美的世界。
? ? ? ? 不要在瑣碎的生活中迷失自己,也不要被生活磨滅掉自己當(dāng)初的激情。
? ? ? ? 如果被很多事情煩心,不如休息一段時間,調(diào)整一下心態(tài)再開始。
? ? ? ? 開始學(xué)習(xí)的知識看似沒有任何聯(lián)系,但是再繼續(xù)學(xué)習(xí)的話可以發(fā)現(xiàn),他們是緊密相連的。
? ? ? ? 當(dāng)基本功練到一定程度,知識接觸到一定范圍就會發(fā)現(xiàn),其實有很多的知識是在計算機(jī)外面。等達(dá)到這層境界的時候,希望你也可以把自己學(xué)到的經(jīng)驗傳授給下一級,讓他們少走一些彎 道,讓一級更比一級強(qiáng),讓知識在年級間傳承,成為一個良性循環(huán),這也是為中國計算機(jī)行業(yè)做一份微薄的貢獻(xiàn)吧。
七、后記
? ? 朝為田舍郎,暮登天子堂。將相本無種,男兒當(dāng)自強(qiáng)。 ? ?——《琵琶記》高明
? ? 人生很短暫,但是對于自己來說卻很漫長,以后的歲月了,無論從事什么,請給自己一個夢想,并守住這個夢想,即使被人嘲笑,被現(xiàn)實否定。不要因為自卑而不敢去設(shè)立并追求自己的
夢想,每個人都有追求夢想的權(quán)利,所有的不可能只是為了逃避而找的借口。要相信當(dāng)為一個夢想而執(zhí)著努力時,全世界都會來幫助你。
? ? ? ? 首先介紹一下我本人的簡況,以便大家在閱讀此文的時候有個背景上的把握。
? ? ? ? 我在初中的最后一年,中國的計算機(jī)產(chǎn)業(yè)正蒸蒸日上。當(dāng)時還沒有計算機(jī)的我對計算機(jī)的認(rèn)識就是它很有趣,并且還能做很多事。而改變我以后方向的是中考前一個星期,我做了一個決 定。我在跟父母保平安的電話里說:如果我升入高中,就給我買臺電腦吧。父母沒有多想,作為獎勵,我在收到高中錄取通知的次日,我收到了某種意義上的第一件禮物——一臺嶄新的個人 家用臺式計算機(jī)。
? ? ? ? 從此,我開始了折騰電腦的生活,以至于大學(xué)報考計算機(jī)專業(yè)。計算機(jī)引發(fā)了我的興趣,所以這一切都在情理之中。是計算機(jī)給我敞開了一扇大門,讓我見識到我未曾探索過的世界。
? ? ? ? 現(xiàn)在想來,我一直生活在兩個世界中:一個現(xiàn)實的世界,我在為了以后的工作而努力,單調(diào)、枯燥、乏味;另一個計算機(jī)世界,豐富有趣的知識,一切的廢寢忘食都是因為好玩,在其中 我可以乘風(fēng)自由翱翔,流連而忘返。
? ? ? ? 好了,簡單的介紹完自己的經(jīng)歷,我們就來進(jìn)入本文的主題,怎么來學(xué)好計算機(jī)科學(xué)與技術(shù)。
一、你適合從事計算機(jī)行業(yè)嗎?
? ? ? ? 既然本文是寫給計算機(jī)專業(yè)新生的,但為什么要問這個問題呢。實際上計算機(jī)專業(yè)的學(xué)生有相當(dāng)一部分人以前對計算機(jī)不怎么了解,充其量是拿計算機(jī)上上網(wǎng),玩玩游戲。絕大部分人都 是對計算機(jī)很不熟悉的,高手更是鳳毛麟角。我想那些不知道計算機(jī)專業(yè)是做什么就填報的同學(xué)們是不是奉了父母之命。又或者是看到計算機(jī)是熱門專業(yè),所以想都不想就填報了。
? ? ? ? 在這里我并不是要批評什么,只是陳述一下近幾年填報計算機(jī)專業(yè)的學(xué)生的情況。很顯然大部分同學(xué)都是這樣的情況,極少有同學(xué)是因為純粹喜歡計算機(jī)而填報的。如果是因為對計算機(jī) 有興趣而報考的本專業(yè),那么請聯(lián)系我。雖說我與所謂的高手想去甚遠(yuǎn),但是我有一顆想結(jié)識熱愛計算機(jī)的朋友。 如果你僅僅是想得到一份高薪水的工作,想著喝喝咖啡就等老板發(fā)薪水,那我奉勸有這樣想法的同學(xué)還是另找一份更適合的工作吧。真的,這工作并不適合 你。還有想僅僅只想學(xué)一門語言就能給公司寫代碼的還是去找個計算機(jī)語言培訓(xùn)機(jī)構(gòu)吧,哪里面學(xué)到的東西絕對比大學(xué)里面學(xué)到的實用也好用。但是這樣做你僅僅只能停留在一個低級程序員 水平上,只會寫代碼,吃上幾年青春飯,然后黯然退出這個朝氣蓬勃的產(chǎn)業(yè)。
? ? ? ? 現(xiàn)在說可能有點早,但是比晚說一定對你們有用的多。半個學(xué)期后,一些專業(yè)課程也已經(jīng)進(jìn)行了大半了。肯定有一些人在專業(yè)課上聽不懂了:什么是函數(shù)化思想,指針交換兩個數(shù)又是干 嘛的……諸如此類的事情其實是在警告你,你到底是不適合學(xué)習(xí)計算機(jī)。如果答案是肯定的,那就請通篇讀完本文,本文會讓你對今后怎么學(xué)習(xí)計算機(jī)有個宏觀上的了解。如果答案是否定的 ,那還是結(jié)束本文的閱讀,然后仔細(xì)想想,以后的出路在何方,難道你真的要白白浪費四年美好的青春時光,然后讓四年后、十年后、四十年后的你悔恨現(xiàn)在的自己。
二、計算機(jī)專業(yè)不僅僅是編程
? ? ? ? 毫無疑問的是,計算機(jī)這個事物是近幾年才大規(guī)模出現(xiàn)的事物。但是相比其他產(chǎn)業(yè),計算機(jī)發(fā)展可謂是神速了,從第一臺計算機(jī)(ENIAC)于1946年2月,在美國誕生至今日只有短短的六十多 年。相比之前大部分改變世界的產(chǎn)品從發(fā)明到普及平均需要一個世紀(jì),計算機(jī)可以說是一個神奇而特殊的新事物。它使得信息的收集、處理、發(fā)布有了一個全新高效的方式,極大地促進(jìn)了社 會的發(fā)展。它用短短的六十年實現(xiàn)了過去幾百年想都不敢想的事情。
? ? ? ? 雖然它發(fā)展的時間不長,但是由于這場革命是在全世界范圍內(nèi)展開的,它凝聚了全人類的智慧結(jié)晶。并且由量變升華為質(zhì)變,使得計算機(jī)這個專業(yè)的體系變得無限寬廣博大。可以確定的 是,就算一個人從一出生就開始學(xué)習(xí)計算機(jī)的相關(guān)知識,一天二十四小時連軸轉(zhuǎn),在生命結(jié)束的時候也無法接觸到所有的計算機(jī)知識。因為計算機(jī)知識每時每刻都在更新,并且是呈指數(shù)增長 的,只要計算機(jī)還在使用,這種增長就不會停止。我們在有生之年學(xué)到的計算機(jī)知識永遠(yuǎn)只是九牛一毛,所以一定要有一顆謙虛學(xué)習(xí)的心,不可妄自菲薄。
? ? ? ? 正是因為有了這么博大的一個知識體系,才能讓計算機(jī)技術(shù)涉及到了生活中的方方面面,才能把世界連接成為一個地球村。
? ? ? ? 計算機(jī)體系大到了可以包容一切的地步。以至于可以讓每個想從事計算機(jī)行業(yè)的人都可以在其中找到自己的一席之地。比如對計算機(jī)有興趣,但是不喜歡坐在電腦旁編寫代碼的話,可 以憑借學(xué)到的計算機(jī)知識去做跟客戶密切接觸的工作。如果有一定的藝術(shù)功底,也可以憑借計算機(jī)做視頻,做音頻,做網(wǎng)頁……。只要能對計算機(jī)基礎(chǔ)有扎實的了解,并且喜歡計算機(jī)的話, 那么,這個行業(yè)就絕不會讓你走投無路。
? ? ? ? 硬件是軟件的上游。只有先有了硬件,軟件才能有一個平臺來運行。但是在世界上的實際情況是這樣的,計算機(jī)重要核心部件被幾個大公司壟斷著,網(wǎng)絡(luò)核心設(shè)施的重要技術(shù)又被其他幾 個大公司壟斷著,少量但是規(guī)模巨大的公司壟斷并引領(lǐng)著硬件發(fā)展。壟斷就意味著技術(shù)的不透明,就意味著上升空間的頂層已經(jīng)被堵死。與學(xué)習(xí)軟件不同的是,在學(xué)習(xí)硬件和自身發(fā)展過程中 ,先進(jìn)硬件的匱乏和資金的制約始終是兩把鉗制中國硬件技術(shù)人員成長的兩大因素。并且學(xué)習(xí)硬件就意味著要還要同時掌握物理、電子相關(guān)知識。最后的最后,你可能還會發(fā)現(xiàn),其實在自己 設(shè)計硬件的時候還是需要熟練的使用編程技術(shù)……
? ? ? ? 在這里我并不是說學(xué)習(xí)硬件有多么不好,而是說明在中國學(xué)習(xí)硬件是一條很難走的道路,又因為軟件學(xué)習(xí)容易所以又導(dǎo)致了軟件行業(yè)競爭壓力大。所以既然硬件是軟件的上游,而且國家 和相關(guān)企業(yè)也急需硬件方面的人才。一旦學(xué)好硬件,自然比學(xué)好軟件的收入多的多。所以硬件和軟件在學(xué)習(xí)和發(fā)展上各有利弊,鑒于硬件在國內(nèi)的發(fā)展和我所報考的專業(yè),我還是決定先在軟 件行業(yè)立住腳。
? ? ? ? 扯了這么遠(yuǎn),在這里我只是想說明。學(xué)習(xí)計算機(jī)專業(yè),到最后并不一定是編程。要是全國的所有的計算機(jī)專業(yè)的畢業(yè)生都去編程了,那我估計下一次計算機(jī)人才泡沫就要提前到來了。但 既然學(xué)習(xí)了計算機(jī)專業(yè),就要對計算機(jī)專業(yè)有個總體的了解,對相關(guān)的知識一定要熟悉。因為以后不管是做什么,會熟練的運用計算機(jī)工作,那也是作為自己一項很有優(yōu)勢的資本。
三、做一個程序開發(fā)者
? ? ? ? 既然確定了要從軟件入手學(xué)習(xí),那么有個很重要的問題需要大家有個深刻的認(rèn)識,那就是什么是軟件行業(yè)的核心。
? ? ? ? 也許你想對了,其實軟件的核心就是編程。不過既然你已經(jīng)讀到這了,相信你是希望可以在條路上走下去的,所以編程這個詞對讀到這里的同學(xué)們的感覺應(yīng)該是神秘和有趣的,而不是一 提到它就頭大(當(dāng)接觸幾個月的編程之后你會頭大的,不過不要怕,都會有這個階段)。在這里我可以用汽車制作業(yè)與計算機(jī)專業(yè)進(jìn)行一個對比。
? ? ? ? 雖然汽車專門的賣場和維修店在城市里遍地開花,大有蓋過汽車制造商的趨勢。但是從本質(zhì)上分析,如果沒有人類對出行的需求和汽車的發(fā)明和創(chuàng)造,怎么能有汽車賣場和維修店的大 行其道。正是有了汽車的生產(chǎn),才催生了汽車賣場和汽車維修等汽車服務(wù)項目。真正的核心其實是汽車制造這項核心技術(shù)。與汽車行業(yè)相同,計算機(jī)行業(yè)也是如此。各種專門軟件的應(yīng)用及培 訓(xùn)混淆了軟件真正的核心——編程。要時刻記住,如果想在軟件行業(yè)立住腳的話,只有編程才是最重要的核心,其他的軟件應(yīng)用只是輔助,(不是不可以學(xué),學(xué)到的東西當(dāng)然是多多益善,但 是要把握好一個平衡,不要看到就學(xué),還要理性分析學(xué)的值不值)一切軟件應(yīng)用的實現(xiàn)其實都是編程這一幕后英雄在默默無聞的貢獻(xiàn)。
? ? ? ? 在這里我想吐槽一下那些以為學(xué)好PS、Flash、Premier、Dreamweaver就覺得是學(xué)好了計算機(jī)的想法是多么可笑。因為這些東西只是外圍的軟件應(yīng)用,因為一個優(yōu)秀的軟件做出來了,就必 須要有人來使用,這些使用者應(yīng)該是想要通過這些軟件來解決問題的。比如PS,一個專業(yè)美術(shù)系的人比計算機(jī)系的人不知道受到多少美術(shù)的熏陶,他們在整體美感上決對比計算機(jī)系的人強(qiáng)。 他們培訓(xùn)上幾個月的PS,就能瞬秒一個四年都在使用PS的計算機(jī)系高手。因為PS的作用就是通過美術(shù)思維來處理圖片,那么請問你的美術(shù)功底到底有多深呢?以后的從業(yè)道路上,計算機(jī)系的 人會認(rèn)識到一個職業(yè)叫美工,他們會使用很多的美工軟件來做UI,而且我想說的是,這些美工有多少是計算機(jī)系的人呢?所以我奉勸一下大家,這些東西可以學(xué),但是不要忘了這個專業(yè)的核 心競爭力是編程。
? ? ? ? 好吧,我承認(rèn)我的廢話太多,有點繞遠(yuǎn)道了,沒關(guān)系,我們再繞回來。
? ? ? ? 編碼是核心,但是編碼的人員在區(qū)分上是很有差別的,程序員Programmer可以分為程序設(shè)計人員和程序編碼員。在一個軟件設(shè)計的頂層是少數(shù)幾個程序設(shè)計人員在規(guī)劃設(shè)計一個軟件的各 個部件,然后分配給下一級的程序編碼員做,所以最低層的只需要負(fù)責(zé)用寫代碼實現(xiàn)就可以了。其實寫代碼沒有什么很深奧的技術(shù)的,難的是寫代碼的經(jīng)驗以及設(shè)計一個好用的軟件。但是不 管是設(shè)計人員還是編碼人員,他們最初學(xué)到的都是編程,只不過學(xué)的深度和廣度不同,所以一個程序員在學(xué)習(xí)中掌握的東西基本上可以決定在軟件開發(fā)中的位置——是廣大低層碼農(nóng),還是頂 層設(shè)計師。
? ? ? ? 在這里我有必要說一下金字塔模型。可能大家都聽說過,就是在歷史課上學(xué)習(xí)封建制度的時候看到的那個金字塔,上面是皇帝,中間是諸侯臣子,下面是平民。其實這個比喻在計算機(jī)行 業(yè)更加適合。有時候,在特定場合,知識的鴻溝將這個等級制度分辨的清清楚楚。不知道軟件設(shè)計的原理,就只能在低層做碼農(nóng)。
? ? ? ? 其實在這里對低層開發(fā)人員叫碼農(nóng)有點偏見,他們也是用自己的智力在工作,與頂層設(shè)計師并沒有什么本質(zhì)的區(qū)別。而我所看重的應(yīng)該是對社會的貢獻(xiàn)度,我總是想能在我的有生之年做到最好,進(jìn)全力做出我的貢獻(xiàn),讓社會承認(rèn)我的重要性。也許我又偏激了,還請無視吧。
? ? ? ? 既然進(jìn)入了本科教學(xué)階段,就要對不斷的發(fā)展自己的核心競爭力。到底什么才能讓自己在未來激烈的競爭中脫穎而出,最低要求也要不競爭的那么辛苦。這個問題困擾了我好久,希望我 能在大學(xué)期間想明白這個問題。
? ? ? ? 其實我更喜歡外國的說法,他們把根據(jù)自己意愿設(shè)計產(chǎn)品的叫做Developer,而把編碼人員叫做Coder。有時候一些高手在一些高質(zhì)量項目里也做Coder,這是對產(chǎn)品的重視。即使是一個 Coder,也應(yīng)該有一個Developer的想法。一個好的Programmer往往會是一個差一點的Programmer的一百多倍,這也是為什么在計算機(jī)行業(yè)可以看到這么多的Hero。
? ? ? ? 其實本科教育能讓我們達(dá)到的編程水平真的很低,至少我們達(dá)不到在培訓(xùn)機(jī)構(gòu)培訓(xùn)幾個月之后就能上手做項目的水平。當(dāng)然,在這里我并不是說他們的水平高,只是他們是以實戰(zhàn)為目的 ,而我們更傾向于學(xué)習(xí)理論和鍛煉思維。所以要轉(zhuǎn)變思維,上大學(xué)不是為了找工作。如果不靜下心來學(xué)習(xí)并享受技術(shù),而是在大一就開始為了四年后的工作問題而糾結(jié)。那么,這四年你只能 學(xué)會一個皮毛。要記住不要為了成功而優(yōu)秀,追求卓越,成功就會不期而至。其實,在大學(xué)四年里,認(rèn)真學(xué)下去的話,我們能學(xué)到很多。比如比半路出家的Coder更了解計算機(jī)的整體結(jié)構(gòu)。有 了一定的基礎(chǔ)之后,如果再學(xué)習(xí)一個新的知識就會快的多。
? ? ? ? 我們在大學(xué)里做的其實很簡單,但是也很復(fù)雜,就是用四年去了解和掌握計算機(jī)基礎(chǔ)知識。雖然基礎(chǔ)看不見摸不著,不像學(xué)會一個語言就能立刻編程。但是它會成為一種習(xí)慣,深深的沁 入你的腦海,不知不覺的影響著你的一舉一動。
? ? ? ? 如果覺得我說的抽象的話,我還可以舉一個大家都知道的例子,郭靖像洪七公學(xué)習(xí)降龍十八掌,郭靖在短短的幾天時間里就學(xué)會了如此精妙上乘的武功,是因為七公的教導(dǎo)方法高超嗎? 不是的,洪七公在教郭靖武功的時候滿腦子想的是黃蓉做的菜,哪有百分百的心思用在教一個傻小子武功上呢。是郭靖天資聰慧?我只能說在黃蓉面前,郭靖就像個傻子。其實他能學(xué)會如此 高超的武功全都依靠著江南七怪和全真教的馬鈺在這個傻小子小的時候的不厭其煩地教他基本功,又恰巧這個傻小子學(xué)的認(rèn)真。以至于從量變到質(zhì)變,他的身體對武功有了一個下意識的反應(yīng) 。所以才在學(xué)習(xí)降龍十八掌的時候沒有費多大的力氣。反過頭來如果讓楊康這個沒有基礎(chǔ)的紈绔子弟來學(xué)習(xí)降龍十八掌,不走火入魔才怪呢。
? ? ? ? 玩計算機(jī)的都是一群聰明人,我相信大家會懂我在例子中要說明的意思。想要習(xí)得高深的技術(shù),就要有相應(yīng)的基礎(chǔ)做支撐,否則一切都是鏡花水月。
? ? ? ? 說了半天,到底計算機(jī)有哪些基礎(chǔ)呢?
? ? ? ? 在我看來,首先要學(xué)習(xí)的基礎(chǔ)是數(shù)學(xué)和英語,因為一個計算機(jī)系等于半個數(shù)學(xué)系和半個英語系。
? ? ? ? 因為計算機(jī)的起源是數(shù)學(xué),先有了數(shù)學(xué)精確的理論,才有了計算機(jī)的協(xié)調(diào)配合。而且站在計算機(jī)這個大金字塔頂尖的是數(shù)學(xué)家,是他們發(fā)現(xiàn)并引領(lǐng)了新算法,于是帶動了整個金字塔的運 行。雖然我們不會也不怎么可能去做一個數(shù)學(xué)家,但是我們在解讀一個算法或者解決一個問題的時候,往往是和數(shù)學(xué)相掛鉤的。只有擁有了數(shù)學(xué)的思想,我們才能更好的學(xué)習(xí)更深的理論。所 以在大學(xué)的時候還是認(rèn)真補(bǔ)齊一下數(shù)學(xué)的相關(guān)思想吧(注意,是數(shù)學(xué)思想,不是買本題做)。
? ? ? ? 還有英語,這里我們可以思考一個問題,為什么我大天朝的計算機(jī)較印度等英語國家弱?其實很大一部分原因應(yīng)該要歸根于語言問題上,雖然我國普及英語這么多年了,但是讓一個普通 大學(xué)生流利的看一篇英語文章還是很有困難的吧。再看以下印度,印度因為有百多年的英國殖民史,以至于他的官方語言就是英語。在這里我不想吐槽印度英語連英國人都聽不懂,但是他們 在閱讀上完全沒有困難。所以他們在閱讀先進(jìn)的用英語書寫的計算機(jī)文章的時候是很輕松的。試想,當(dāng)我們還在努力消除語言帶來的差異時,那些看懂英語的人已經(jīng)在計算機(jī)的大路上全力向 前奔馳了。這些差距短期內(nèi)是沒有辦法彌補(bǔ)的。雖然我們有先天的劣勢,但是我們要盡力消除這種劣勢。如果想進(jìn)一步學(xué)習(xí)計算機(jī)的話,還是在學(xué)習(xí)計算機(jī)基礎(chǔ)的時候惡補(bǔ)一下英語吧,這個 是沒有辦法回避的。
? ? ? ? 以上是在大一需要開始入門的,千萬不要等到畢業(yè)之后再補(bǔ),到時候就晚了。
? ? ? ? 在這里我有必要說一下關(guān)于語言選擇的問題。對于大多數(shù)初學(xué)者來說,好多人有這種問題存在:我到底先學(xué)什么?學(xué)C/C++?還是學(xué)VC?還是學(xué)Borland C++ Builder呢?還是Delphi?哪 一個更好呢?學(xué)習(xí)程序設(shè)計和學(xué)習(xí)程序設(shè)計語言究竟是怎么一個關(guān)系?初學(xué)者究竟應(yīng)該如何取舍呢?就這些問題,我從一個高手那里看了一下的這段話,可以幫助在這方面有問題的人:學(xué)習(xí) 程序設(shè)計就好比學(xué)習(xí)射擊,而程序設(shè)計語言就對應(yīng)射擊中的氣槍、手槍、步槍等各種槍械。學(xué)習(xí)射擊必須要選擇一種槍械,不可能沒有槍還能學(xué)好射擊的,也不可能同時學(xué)會使用所有的槍械 。但是,如果掌握一種槍械的射擊,再學(xué)別的也就觸類旁通了。因為在熟悉一種槍械的同時,也學(xué)習(xí)了射擊技術(shù)本身。再學(xué)其他的,自然事半功倍。學(xué)習(xí)程序設(shè)計也是一樣,必然要從學(xué)習(xí)一 門程序設(shè)計語言開始入手。在學(xué)會系統(tǒng)的編程理念之后,用什么工具都一樣!但是各個語言都有自己的強(qiáng)項,所以我建議應(yīng)該多學(xué)幾門應(yīng)用方向不同的語言,以學(xué)習(xí)語言為契機(jī),充分了解計 算機(jī)的的知識。
? ? ? ? 在學(xué)習(xí)了兩到三門語言之后,就要開始接觸這些語言的本質(zhì)了。大一之后會開始學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),這個是通用與所有語言的基礎(chǔ)知識,如果沒有學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)就直接編程,那我是不敢想象 這個程序的運行效率能有多低。以后還會接觸到編譯原理、操作系統(tǒng),這三種知識是設(shè)計語言的本質(zhì)和核心知識,同時也讓學(xué)習(xí)計算機(jī)的人和非計算機(jī)的人的思維逐漸區(qū)分開來。
? ? ? ? 以上這些東西都是教學(xué)規(guī)定的,是系統(tǒng)全面的讓人學(xué)習(xí)計算機(jī)相關(guān)知識的教綱。大家不要排斥它,相反的應(yīng)該是接觸它,感受它,喜歡上它。并且在規(guī)定的課程之外的同時,請有計劃的 學(xué)習(xí)一下其他東西,千萬不要跟著教學(xué)進(jìn)度亦步亦趨。
? ? ? ? 想要修煉基礎(chǔ)這項內(nèi)功簡單但是也很困難,簡單的是用大路邊上的方法就能學(xué),困難的是堅持下來很難。在這里我簡單介紹一下如何做。
? ? ? ? 首先要做的是要多接觸計算機(jī)知識,讓自己能從其中找到一個興趣,從這個興趣出發(fā)然后拓展到其他的知識。我在大一的時候是跟著一個大三的學(xué)哥在做網(wǎng)站,慢慢的熟悉了網(wǎng)站之后發(fā) 現(xiàn)自己對網(wǎng)絡(luò)的知識了解的已經(jīng)相當(dāng)多了,雖然不像那種能拿證的網(wǎng)絡(luò)工程師大神,但是我以這個興趣為切入點,慢慢的看到了更大的世界。在這里需要向大家說明的是,就算四年連軸轉(zhuǎn), 也無法窺探到計算機(jī)知識的千分之一,所以千萬不可固步自封,只見樹木而不見深林。總會有比你技高一籌的大神,要虛心請教。不要看到大神就只有仰望的份,要敢于樹立目標(biāo),挑戰(zhàn)自己 ,就能翻越看似不可逾越的高山。
? ? ? ? 其次需要對所學(xué)到的知識有一個條理的理解,對所學(xué)到的知識要有自己的看法。萬不可一股腦的接受,并奉為圭臬。因為老師并不是常年站在計算機(jī)的前沿,有些知識很多年前就已經(jīng)被 淘汰了,但是老師就那這個講。這個并不是不對,老的技術(shù)雖然被淘汰了,但是它的思想仍然可以鍛煉我們的大腦,還能讓我們在接觸到更先進(jìn)的技術(shù)之后體會到新技術(shù)帶來的優(yōu)勢。所以在 學(xué)習(xí)的時候要學(xué)會辨別哪些是淘汰的知識,哪些是在現(xiàn)在乃至于未來幾年都是中流砥柱的知識。至于如何分辨,那還需要大家多多接觸新知識,讓自己的涉及面更廣,深入度更高。
? ? ? ? 最后就是學(xué)習(xí)到理論知識后一定要想方設(shè)法的實踐一下。比如學(xué)習(xí)設(shè)計語言的時候,一定要將代碼實際輸入到電腦上去,然后看能否運行成功。雖然看似簡單機(jī)械,但這是最能見基本功 的地方。就算一個人想法和思路都很清晰,但是一旦真正編寫代碼卻不知道如何下手,又或者寫出來的代碼Bug一大堆,再好的想法和思路也會被這些惱人的錯誤給折磨的煙消云散。如果只是 一門心思的學(xué)教科書上的理論,那你還是去考研吧,也許單純的學(xué)習(xí)理論知識才是你的生活方式。所以一定要記住,千萬不可眼高手低。只有將理論和實踐相結(jié)合,在實踐中領(lǐng)悟為什么要像 書本上寫的那樣做,為什么會出錯,出錯了如何解決,才能提高自己解決問題的能力,鞏固所學(xué)到的知識,理順自己的思路,體會成功的喜悅。
五、在迷茫中前進(jìn)
? ? ? ? 每年大一都會在開學(xué)之后思想上都會集中爆發(fā)幾個問題,就像每個階段都會有遇到每個階段的問題一樣,這很正常,并且這些問題都是造成迷茫的原因,要正視它并解決它。
? ? ? ? 比如在入學(xué)后常見的思想問題就是總是覺得自己考的學(xué)校不好,離自己的想象中的大學(xué)相去甚遠(yuǎn)。對于這個問題其實我也遇到過、掙扎過,并且因為這個原因也頹廢過,但是我后來想明 白了。現(xiàn)在考上的大學(xué)是自己之前應(yīng)試能力的證明,現(xiàn)在上的學(xué)校差勁只能是自己在過去的時候沒有很好的掌握應(yīng)試能力,但是并不能代表自己比其他人差。人跟人的智商確實是有差距,但 是相差10幾分就能從生活中看出來嗎?智商真正能達(dá)到130以上的全球能有幾個,如果非要跟這些高智商的天才比,那無疑就是把自己腦袋對著墻撞。所謂學(xué)校的好壞只能說是在硬件設(shè)施上, 只要不是搞學(xué)術(shù)和從政,是哪個學(xué)校畢業(yè)的無關(guān)緊要,也沒見哪個企業(yè)在招聘的時候打著旗說非名校生不要吧。之所以覺得現(xiàn)實的大學(xué)跟自己想象的不一樣是因為之前沒有接觸過真正的大學(xué) ,只是在別人那里得到只言片語,然后自己無意識地出一所大學(xué),并且一直先入為主地深信那里的一切都是完美無瑕的。其實這個完美的大學(xué)只存在于自己的腦海里,在世界上不會找到這么 一所大學(xué)。拿一所以自己的觀念所虛構(gòu)的完美大學(xué)與現(xiàn)實中的大學(xué)相比,當(dāng)然會有落差。
? ? ? ? 首先,進(jìn)入大學(xué)最重要的是先要擺正心態(tài),要學(xué)會去原諒自己,不要盲目的比較。不要再抱怨學(xué)校,如果無法改變環(huán)境,何不嘗試變換心情去了解它,適應(yīng)它。
? ? ? ? 其實,解決這些問題最好的方法是把自己從瑣事中脫離,慢慢接觸計算機(jī)知識,讓自己進(jìn)入知識的海洋,同時培養(yǎng)自己對計算機(jī)專業(yè)的興趣。在適應(yīng)大學(xué)生活的同時不斷的繪出這個專業(yè)輪廓,并認(rèn)真選一個大體方向。把注意力放在這些問題上,你會發(fā)現(xiàn)所謂的迷茫問題被輕而易舉的解決了。
? ? ? ? 其次,不僅僅是局限于學(xué)習(xí)計算機(jī),不論做什么,都需要一個開闊的眼界。如果只把目光放在本班本校,那么就把自己的水平和覺悟給無意識地降低了。作為一個計算機(jī)系的人,就需要 把視野開闊到全世界。并且只有這樣,才能不為一點小小的成功而沾沾自喜,也不會為了一點小小的失敗而一蹶不振;才能把握最新的思想和動態(tài),才能學(xué)習(xí)到最新的知識。沒事的時候多去 一下計算機(jī)的相關(guān)網(wǎng)站,多接觸一下他們的思想。寒暑假也可以去一個繁華點的城市打打工,見見世面,順便學(xué)會以一個成年人的思維來想一些事情。
? ? ? ? 說到打工,我需要在這里說一下打工和學(xué)習(xí)的關(guān)系。如果想靠計算機(jī)技術(shù)來生活的話,還是不建議去打工的,因為有打工的時間多學(xué)會一個高級一點的思維,就能在畢業(yè)后讓自己的起薪增加好幾百。如果是依托計算機(jī)知識而跟人打交道的話,建議去做一些服務(wù)項目,在打工中感悟與人打交道的真理。總而言之,大學(xué)生打工不要看到錢就做,重要的是能從這次打工中得到什 么經(jīng)驗,而且盡量找一個能跟以后從事的職業(yè)相關(guān)的工作,這要的會讓自己了解到這個行業(yè)的許多情況,能為以后的工作加分。所以只要保證不被騙和人身安全,打工不要在乎錢多少,經(jīng)驗 才是最重要的。
? ? ? ? 再者,鐵打的學(xué)校流水的兵,這句話對學(xué)生也適用,大學(xué)四年能帶走的無非就是知識和一份珍貴的友情。在大學(xué)里需要找到幾個志趣相投的朋友,不需要多,能有兩三個就可以,在四年 里面,相互切磋,相互學(xué)習(xí),相互進(jìn)步。俗話說獨學(xué)而無友,朋友朋友間相互交流,能迸發(fā)出思想的火花,甚至這思想是改變世界的起點。與朋友相似的還要有一個能指明方向的師長,他能 在許多你走入困境的時候給你一個忠告,就是一個忠告就能讓你重新煥發(fā)活力,克服之前無法克服的困難。所以,師長在左前,朋友在右,讓你的旅途不再孤單。
? ? ? ? 最后,我想要說,請給自己一個夢想。不要因為自己進(jìn)了一個覺得垃圾的學(xué)校就覺得自己什么都不是,不要被這個世界所推崇的價值觀打倒,不要屈服與任何借口。我們都是有思想的人 ,是這個世界的未來。如果不給自己一個夢想,怎么能熬得過這漫長的人生。
六、一些瑣碎的想法
? ? ? ? 學(xué)會使用網(wǎng)絡(luò)。網(wǎng)絡(luò)遠(yuǎn)遠(yuǎn)不止看視頻,挺音樂,玩游戲這些功能,在遇到不明白的問題后,要想著能在網(wǎng)絡(luò)上尋找到正確的答案。(我就喜歡想到什么問題然后用手機(jī)直接查詢,主要是 順手)。同時掌握一種辨別信息真?zhèn)蔚姆绞?#xff0c;避免受到錯誤的信息或垃圾信息侵害。同時要限制自己在網(wǎng)絡(luò)上的時間,以防過度依賴虛擬的網(wǎng)絡(luò)。記住,網(wǎng)絡(luò)對于學(xué)習(xí)計算機(jī)的人來說只是一 個工具,你什么時候見過一個制造汽車的24小時開車的。
? ? ? ? 要合理的安排好自己的時間,應(yīng)該意識到什么是必須做的,什么是急于做的。同時遇到一些事情要懂得取舍,有時候放棄是為了更大的收獲。
? ? ? ? 一個真正樂于開發(fā)軟件并想通過軟件來改變?nèi)藗兩畹牟⒉恍赣谏孀阌跈?quán)利的斗爭,因為基本欲望不同,自然心中的境界不同。如果以后成為了管理者,請充分發(fā)現(xiàn)并呵護(hù)些真正的 Developer,他們以后才是能給你提供業(yè)績的人。如果以后成為這種人,請好好享受,因為這群人是世界上最快樂簡單的人之一,他們不會為了一些小事斤斤計較,也不會為了權(quán)力的斗爭而處 心積慮,他們最重要的,是自己心中那個完美的世界。
? ? ? ? 不要在瑣碎的生活中迷失自己,也不要被生活磨滅掉自己當(dāng)初的激情。
? ? ? ? 如果被很多事情煩心,不如休息一段時間,調(diào)整一下心態(tài)再開始。
? ? ? ? 開始學(xué)習(xí)的知識看似沒有任何聯(lián)系,但是再繼續(xù)學(xué)習(xí)的話可以發(fā)現(xiàn),他們是緊密相連的。
? ? ? ? 當(dāng)基本功練到一定程度,知識接觸到一定范圍就會發(fā)現(xiàn),其實有很多的知識是在計算機(jī)外面。等達(dá)到這層境界的時候,希望你也可以把自己學(xué)到的經(jīng)驗傳授給下一級,讓他們少走一些彎 道,讓一級更比一級強(qiáng),讓知識在年級間傳承,成為一個良性循環(huán),這也是為中國計算機(jī)行業(yè)做一份微薄的貢獻(xiàn)吧。
? ? ? ? 多閱讀,多交流。有人說過,大學(xué)階段買書花過的錢,就是你工作后的起薪。我相信這只是某個書蟲的自豪,但也算有些道理。要提醒的是,不讀書,就等于止步不前。
七、后記
? ? 朝為田舍郎,暮登天子堂。將相本無種,男兒當(dāng)自強(qiáng)。 ? ?——《琵琶記》高明
? ? 人生很短暫,但是對于自己來說卻很漫長,以后的歲月了,無論從事什么,請給自己一個夢想,并守住這個夢想,即使被人嘲笑,被現(xiàn)實否定。不要因為自卑而不敢去設(shè)立并追求自己的
夢想,每個人都有追求夢想的權(quán)利,所有的不可能只是為了逃避而找的借口。要相信當(dāng)為一個夢想而執(zhí)著努力時,全世界都會來幫助你。
? ? 我深信,我很渺小,與茫茫宇宙相比可以忽略不計。但是我的夢想很大,因為有夢才讓我尋找到存在的意義。
(PS:? ? ? ? 之前在選博客和選擇域名這個問題上糾結(jié)了很久,最后才暫時定使用CSDN的BLOG,因為是第一次使用寫如此長的博客(近萬字),即使寫了提綱,也是在這個提綱下想到哪寫到哪,所以難免邏輯上有些混亂。雖在發(fā)表之前自己校驗了幾遍,奈何能力有限,筆誤之處,請各位多多包涵。)
(PS&PS: ? ? ? ?幾天之內(nèi)我會陸續(xù)將我寫的其他東西放到博客里面,希望大家不時地來踩踩呀。)
總結(jié)
以上是生活随笔為你收集整理的来,我们谈谈怎么学好计算机科学与技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: A8U推一键上面洗车APP软件
- 下一篇: 飞秋发展历程