一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

關(guān)于程序員成長的一點思考

  程序員的我們,是否想過今后的路該怎么走、如何發(fā)展、技術(shù)怎樣提高?其實這也是我一直在思考的問題。下面就此問題,分享下我的看法。因為我閱歷有限,有什么說的不對的,大家一起噴!

  一、程序員應(yīng)該打好基礎(chǔ)

  1. 現(xiàn)在開發(fā)工具眾多、語言泛濫,經(jīng)常聽人說”不學(xué)C/C++神馬都是浮云”、”C/C++才是萬王之王”,C/C++就真比php、Lua、AS、Java牛嗎?

  其實不在于語言本身,而在于C/C++依附的平臺。因為最靠近操作系統(tǒng),所以能發(fā)揮其它語言不具有的性能優(yōu)勢,而且很多數(shù)據(jù)結(jié)構(gòu)、算法、特殊功能類,C/C++是不提供的,需要自己實現(xiàn)。這時就需要自己去溫習(xí)”數(shù)據(jù)結(jié)構(gòu)”、”算法”、”TCP/IP”、”操作系統(tǒng)原理”、”編譯原理”等這些知識。正因為如此,我們學(xué)習(xí)的東西被沉淀下來,也正因如此,C/C++經(jīng)過定制的功能比封裝好的功能性能高。

  我上大學(xué)做項目時,用的是.NET平臺C#語言, 因為我本性好專研,老師都是把需要研究、比較難的問題交給我。但C#無論是性能和功能都是都是無法跟C/C++比的,記得當(dāng)時是要做一個”遠(yuǎn)程控制”軟件,配置IP和端口后需要連接動態(tài)生成客戶端程序(木馬),但C#是不提供這個功能的。這也是我工作后轉(zhuǎn)為C/C++程序員的原因,碰巧也是開發(fā)遠(yuǎn)程控制軟件。剛開始寫出來的程序偶爾會莫名奇妙的崩潰,但經(jīng)過兩個月和更長的時候后,我掌握了C/C++。在此要感謝我工作時的指導(dǎo)老師翁躍龍,沒有他我的路不會這么平坦,他教我的不僅僅是技術(shù),更多的是解決問題的思路和做人。

  2. 有些人會說大學(xué)學(xué)的東西是膚淺的,是沒有用的。想想看,在學(xué)校的時候我也經(jīng)常這么想,但出來后才知道這些東西有多么重要。不過大學(xué)學(xué)得再扎實,出來后仍然是需要再溫習(xí)過的。因為上學(xué)畢竟實踐少,所學(xué)不能所用,計算機(jī)是個應(yīng)用驅(qū)動的學(xué)科。我們再來看“計算機(jī)考研”專業(yè)課考的什么(這里并不是說考研就一定好),”數(shù)據(jù)結(jié)構(gòu)”、”計算機(jī)組成原理”、”操作系統(tǒng)”、”計算機(jī)網(wǎng)絡(luò)”。”數(shù)據(jù)結(jié)構(gòu)”、”計算機(jī)組成原理”這兩門課程擺在前面,可見其重要性,分別是軟件和硬件最重要的兩門基礎(chǔ)課。我不相信不學(xué)好”數(shù)據(jù)結(jié)構(gòu)”能夠把性能優(yōu)化做得很好。若說自己學(xué)好了,能不看書、不查資料,說出”B+樹、B-數(shù)的應(yīng)用和區(qū)別”、”KMP為什么能快速匹配字符串”、”快速排序在什么情況會蛻變?yōu)閛(n^2)”嗎?

  我也不相信不學(xué)透”計算機(jī)組成原理”能搞通匯編和內(nèi)核,不知道”CPU和I/O的交互過程”、”指令的執(zhí)行通路”、”CPU運算器的工作原理”,如何寫出高效的匯編代碼?如何弄清楚內(nèi)核中”中斷”、”GDT”、”IDT”這些概念,實模式保護(hù)模式如何切換?”操作系統(tǒng)”和”計算機(jī)網(wǎng)絡(luò)”則是兩門非常重要的支撐學(xué)科,信號量為什么是最快的同步方式、線程調(diào)度比進(jìn)程調(diào)度快、為什么要做內(nèi)存緩沖池,這些都是來自”操作系統(tǒng)”。而”計算機(jī)網(wǎng)絡(luò)”主要是講述TCP/IP的,為什么”對于一個具有幾百萬粉絲的用戶,數(shù)據(jù)如何實時投遞到所有用戶?”要使用多播的方式解決、”如何計算出C/S單向的延遲?”發(fā)送ICMP包測量,這些都是來自它。

  我們大學(xué)學(xué)的課程經(jīng)過多少國內(nèi)外知名學(xué)者專家研究過的,所以計算機(jī)理論課是基礎(chǔ),是解決問題的根源。”算法分析與設(shè)計”是”數(shù)據(jù)結(jié)構(gòu)”的延伸,Divide Conque、貪心、動態(tài)規(guī)劃對于程序算法的優(yōu)化有很大的指導(dǎo)意義。同樣,”計算機(jī)體系結(jié)構(gòu)”也是”計算機(jī)組成原理”的拓展。其次,”編譯原理”、”數(shù)據(jù)庫”、”軟件工程”等學(xué)科的重要性也不言自明。

  二、實踐、理論、再實踐

  作為程序員的我們,滿足于實現(xiàn)一個程序功能的快感,得意于從網(wǎng)上下載別人的代碼加到自己的程序中,陶醉于自己寫了上百萬行代碼。有想過自己是在創(chuàng)造嗎,還是裝配車間的技術(shù)工人。日趨成熟的開發(fā)工具,逐步把有豐富想象力的我們淪為奴隸。從網(wǎng)上下載個壓縮庫就用著,成熟的加密算法直接使了,包裝好的類庫就include。為何不探究其算法實現(xiàn)、性能優(yōu)化、底層機(jī)制。有人會說很”難”啊!究竟是難,還是掌握的知識不夠,還是理論沒有達(dá)到一定高度。

  很難想象不學(xué)習(xí)”計算機(jī)圖形學(xué)”,去做3D項目客戶端圖形算法的后果;不研究”數(shù)據(jù)挖掘”去分析大量客戶數(shù)據(jù)會做得多好;不攻讀”概率論”、”線性代數(shù)”、”人工智能”去設(shè)計AI有多么智能。很多人說,這些東西游戲用不著啊,學(xué)了有什么用?我承認(rèn)初學(xué)編程時,這些東西只是高談闊論。若我們工作了n年后,還只是熟練地做些coding,和剛畢業(yè)的學(xué)生有什么區(qū)別。編程工具只是”工具”而已,別忘記了我們是改變世界的程序員,不提高理論,何以創(chuàng)新、公司拿什么優(yōu)勢和別人去競爭。

  “研發(fā)”是”研究”和”開發(fā)”兩大塊,只做開發(fā),不做研究,對個人和公司都只是短期目標(biāo), 當(dāng)然理論提高了,是需要投產(chǎn)的,不然理論很快淪為”空想社會主義”,公司白花銀子養(yǎng)活研究部門。”實踐、理論、再實踐”,符合馬克思主義哲學(xué)思想,也是計算機(jī)學(xué)科的價值體現(xiàn)。真正的計算機(jī)科學(xué)家不是只搞理論的,理論是要應(yīng)用到產(chǎn)品中的。工程師也不是只做開發(fā)不做研究的,是要應(yīng)用創(chuàng)新,理論微創(chuàng)新。計算機(jī)科學(xué)家相比于程序員,主要是數(shù)學(xué)功底相當(dāng)深厚,所以他們能在理論上有突破。

  三、技術(shù)、管理兩路線。

  1. “游戲能玩多深,技術(shù)就能做多深”,這句話說得很好。只因為我們執(zhí)著,所以在游戲中能攻破一層層難關(guān),凌晨2、3點還能練級打裝備。若能走回正道,做技術(shù)就想玩游戲一樣,技術(shù)做不深才怪呢。走技術(shù)路線的人,一定是對技術(shù)癡迷的人。但要走得長遠(yuǎn),我們需要把技術(shù)做穿、做透。如何做穿、做透?計算機(jī)底層(C、匯編、逆向工程、驅(qū)動、內(nèi)核)、計算機(jī)算法(網(wǎng)格計算、音視屏壓縮、語音識別…)、架構(gòu)(軟件工程、跨平臺、多語言等)都要有涉及。只有我們掌握了這些,才能做到”看問題看到本質(zhì)”、”思想有穿透力”。這些才是最寶貴的,需要沉淀下來,僅僅靠做項目、寫代碼是無法達(dá)到的。

  2. 對于走管理路線的人,是具有“完成任務(wù)為第一要務(wù)”、“有計劃、善于管理時間”、“善于與人打交道”性格特點的人,重要的是”綜合素質(zhì)”,而不是”專攻”。但是這些都是可以改變的,很多公司也會選擇技術(shù)做得最優(yōu)秀的人做管理。由于我是一個技術(shù)癡迷狂,管理這塊,我沒有發(fā)言權(quán),不做多解釋。

  四、心態(tài)。

  1. 人活在世界上在于奉獻(xiàn)而不是索取,幫助別人是一件很快樂的事情,作為程序員的我們心胸要開闊些,低調(diào)些、虛心些,公司的李老師、老張就是一個心胸很寬廣、低調(diào)的人,值得學(xué)習(xí), 三人行必有我?guī)煟覀兪煜さ闹皇亲约旱倪@一塊、這個領(lǐng)域,不懂的地方要虛心向別人請教, 我見過浮躁、過于自信的人,也見過做人低調(diào)的人,發(fā)展結(jié)果完全不同。

  2. 樂于分享,支持開源。這是一個很需要心胸、氣度的事,也是決定個人、公司發(fā)展快慢的重要砝碼。技術(shù)發(fā)展日新月異,總守著自己手中的那點技術(shù),得不到長足的發(fā)展。中國兩千年的封建歷史、門戶關(guān)閉政策還不夠慘痛嗎?”技術(shù)是交流和玩出來的”,這是銳安龍哥告訴我的。他也是一個大黑客、正義的黑客,開源是黑客的一項重要精神,所以黑客能引領(lǐng)技術(shù)。

  3. 每日學(xué)習(xí)。很多人認(rèn)為畢業(yè)了就不用學(xué)習(xí)了,或者不用那么那么地學(xué)習(xí)了。這是一個非常非常錯誤的思想,無論何時何地都要把自己當(dāng)成菜鳥、應(yīng)屆生地去學(xué)習(xí)。書本是學(xué)習(xí)的一個捷徑,Google、百度解決問題是快,但不是系統(tǒng)化地學(xué)習(xí)。看書要了解作者背后的知識底蘊,想一想這個問題得解決作者是怎么想到的,這樣比單純解決一個問題更進(jìn)一層。更重要的是聆聽作者的心聲,感受大師的心態(tài)。最后給大家推薦《黑客與畫家》這本書,寫得真的很好,老吳不提,我還不知道。

it知識庫關(guān)于程序員成長的一點思考,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 黄在线观看www免费看 | 国产91麻豆精品 | 国产成人精品magnet | 69视频在线观看 | 久久精品99视频 | 福利在线播放 | 色呦呦影院 | 美女色黄网站 | 国产99er66在线视频 | 国产综合激情在线亚洲第一页 | 九九99久久精品午夜剧场免费 | 国产精品天天看特色大片不卡 | 色在线视频网站 | 国产高清乱理论片在线看 | 国产欧美精品区一区二区三区 | 国产免费一区二区三区在线观看 | 精品一区二区三区五区六区七区 | 一区二区视频在线观看免费的 | www久久久久 | 五月激情综合网 | 婷婷成人基地 | 免费91视频 | 亚洲一区二区三区在线免费观看 | 日韩一区二区视频在线观看 | 怡红院在线观看精品 | 222aaa精品影院 | 四虎影视永久在线 yin56xyz | 亚洲天堂岛国片 | 色婷婷久久合月综 | 成年美女黄网站色大片图片 | 日韩综合第一页 | 久久青青草原精品国产软件 | 中文字幕在线有码 | 日色网| 国产偷久久| 中日韩美中文字幕 | 久久国产亚洲精品麻豆 | 国产在线精品观看 | 狠狠色噜噜狠狠狠狠米奇7777 | 91精品国产福利在线观看 | 日韩中文字幕精品免费一区 |