日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

      首頁(yè)業(yè)內(nèi)動(dòng)態(tài) IT人生 → 想當(dāng)一名程序員那在大學(xué)時(shí)候究竟應(yīng)該學(xué)習(xí)什么?

      想當(dāng)一名程序員那在大學(xué)時(shí)候究竟應(yīng)該學(xué)習(xí)什么?

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2012/12/24 8:38:03字體大。A-A+

      作者:西西點(diǎn)擊:0次評(píng)論:0次標(biāo)簽: 程序員

      如果讓我大學(xué)再來(lái)一遍,我也還是想做軟件,那我應(yīng)該在大學(xué)里學(xué)點(diǎn)什么?

      最終我決定把想到的東西寫下來(lái),希望能對(duì)在校的人有點(diǎn)幫助。

      首先我們得知道這問(wèn)題的答案是個(gè)變量,他依賴于你的目標(biāo)和天資能力,絕不唯一。當(dāng)然大學(xué)的課程設(shè)置往往是唯一的,所以會(huì)有點(diǎn)矛盾。

      這里最關(guān)鍵的東西是目標(biāo),大學(xué)學(xué)習(xí)只是達(dá)成最終目標(biāo)高度的一個(gè)環(huán)節(jié),他應(yīng)該為最終目標(biāo)服務(wù)。

      當(dāng)然大學(xué)生很難清楚的知道自己的目標(biāo)究竟在那里,但要總歸要大致知道自己的方向。

      這個(gè)之所以關(guān)鍵是因?yàn),這直接決定你應(yīng)不應(yīng)該學(xué)習(xí)某個(gè)東西。我是在做了很多年軟件后,才發(fā)現(xiàn)軟件和軟件的差別其實(shí)比馬和牛的差別還要大。

      用流行的分類方法比如:前端開發(fā)、后端開發(fā)、.net開發(fā),Java開發(fā)等會(huì)讓人迷失焦點(diǎn),

      所以我一直覺得Barry W Boehm在《軟件成本估算:COCOMOII模型方法》里的分類方法對(duì)學(xué)習(xí)更有幫助。

      在這個(gè)分類方法里軟件被分了三層:最底層是基礎(chǔ)結(jié)構(gòu)型(平臺(tái))軟件的開發(fā);中間層次是開發(fā)工具、系統(tǒng)集成、中間件;最上層是終端用戶編程,也可以理解為一般應(yīng)用的開發(fā)。

      同時(shí)作者還補(bǔ)充了份數(shù)據(jù)說(shuō):在2005年95%的美國(guó)程序員是在做終端用戶編程。

      這似乎把話題扯開了,但其實(shí)不是,關(guān)鍵要大致定位下自己的方向。因?yàn)閷?duì)于目標(biāo)是基礎(chǔ)結(jié)構(gòu)的程序員和目標(biāo)是一般應(yīng)用的程序員,他們要學(xué)習(xí)的東西差別很大。

      Donald Knuth的《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》不是沒用,但如果你花了2年把他啃了一遍回頭專門做應(yīng)用開發(fā),那它真的用處不大。

      至少和一個(gè)精通具體語(yǔ)言、框架、設(shè)計(jì)模式、面向?qū)ο、UML的人比只是鉆研了《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》的人反倒是在劣勢(shì),雖然可能后者更花時(shí)間。

      反過(guò)來(lái)講則是在算法密集型的工作里,那優(yōu)劣情形就會(huì)掉過(guò)來(lái)。

      無(wú)疑的什么都精通最好,但人的時(shí)間是有限的,而軟件相關(guān)的知識(shí)是無(wú)限的,所以把學(xué)習(xí)聚焦在自己的目標(biāo)上非常關(guān)鍵。

      而目標(biāo)是什么則要根據(jù)自己的實(shí)際情形來(lái)定。

      假設(shè)說(shuō)你真的感覺自己的能力挺好,就想做基礎(chǔ)結(jié)構(gòu)型的東西,去做MapReduce,去做操作系統(tǒng)等等,那首先要認(rèn)識(shí)到的是干這個(gè)的人很少,競(jìng)爭(zhēng)很激烈。

      如果說(shuō)在2005年美國(guó)只有5%的程序員是干這個(gè)的,那我估計(jì)今天在中國(guó)也頂多是這么個(gè)比例。

      個(gè)人感覺,大學(xué)的計(jì)算機(jī)課程還真都是往這個(gè)方向培養(yǎng)人的,一旦真的走這個(gè)方向,那么大學(xué)的計(jì)算機(jī)課程還真用的上。需要好好學(xué)習(xí),天天向上。

      當(dāng)然只上課也不行,把課上學(xué)的東西實(shí)踐起來(lái)也很關(guān)鍵(比如開源項(xiàng)目)。

      這里麻煩的事情是,干這個(gè)的可能只有5%,很多人即使很努力也不一定擠的上去。

      那么假設(shè)說(shuō)一個(gè)人很現(xiàn)實(shí),說(shuō):國(guó)內(nèi)排名靠前的幾所學(xué)校湊湊也就5%了,競(jìng)爭(zhēng)太激烈,我不選這個(gè)目標(biāo)方向,我還是95%里做做吧,那這個(gè)時(shí)候我應(yīng)該學(xué)什么?

      我個(gè)人認(rèn)為主要要學(xué)好一些比較硬的,需要大塊時(shí)間學(xué)習(xí)的東西,而不要在花里胡哨的東西上多費(fèi)時(shí)間。

      硬的東西是指:

      數(shù)據(jù)結(jié)構(gòu)和基本算法。

      不管是不是做基礎(chǔ)結(jié)構(gòu)性軟件,基本的數(shù)據(jù)結(jié)構(gòu)和算法知識(shí)還是要有的。

      很可能不太會(huì)有自己從頭寫數(shù)據(jù)結(jié)構(gòu)和算法的機(jī)會(huì),但如果復(fù)雜度不知道怎么算,鏈表、紅黑樹、哈希表的差別都不知道,那就怎么都玄。

      精通一門編程語(yǔ)言

      具體是那個(gè)可以根據(jù)實(shí)際情形來(lái)選。但這里強(qiáng)調(diào)的是語(yǔ)言,不是IDE和框架?梢酝ㄋ桌斫鉃槊總(gè)關(guān)鍵字背后的含義要整清楚。

      這里的陷阱是學(xué)一堆語(yǔ)言,但那個(gè)都不精。

      精讀一個(gè)有點(diǎn)規(guī)模的開源項(xiàng)目(至少要超過(guò)2萬(wàn)行)

      要找那種規(guī)模不太大,又比較有名的項(xiàng)目,一定要精讀,爭(zhēng)取每行都懂。

      累積一定的代碼量

      不算IDE幫助生成的,爭(zhēng)取也在2萬(wàn)行之上。

      面向?qū)ο蠛驮O(shè)計(jì)模式

      這點(diǎn)最好配合著下一點(diǎn)一起做。

      從頭考察一下某個(gè)框架

      考察某個(gè)框架的內(nèi)存機(jī)制、線程機(jī)制等。

      整個(gè)學(xué)習(xí)過(guò)程中最常見的陷阱是學(xué)會(huì)操作一堆IDE和框架的使用,但實(shí)際上這事兒價(jià)值不大,程序員的價(jià)值符合反木桶原理,啥都知道一點(diǎn)的,大多時(shí)候不如某個(gè)上精通的。

      同時(shí)除非很特別的公司,大一點(diǎn)的公司并不期望畢業(yè)生過(guò)來(lái)就能干活。

      有上面的基礎(chǔ)后,再突擊下,應(yīng)該可以面對(duì)大部分公司的筆試和面試。

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過(guò)難過(guò)
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)
        相關(guān)下載

        名稱大小下載