青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Zachary.XiaoZhen - 夢想的天空

關于編程的胡扯

    博客光寫GacUI(http://www.gaclib.net/)的Demo更新也好無聊啊。所以今天先換換口味,胡扯點別的。

    一年一度的高中畢業生填簡歷的日子即將就要到了,又有很多人問計算機專業的事情。其實我從心底里覺得,高考后才來問這個,已經完了一大半了。當然另一小半十分有前途的人可以在大學四年趕上來,不過估計他們還是要讀個研究生,才能把自己訓練成能用的碼農。

    編程是一件很難的事情。當然我的意思跟那篇著名的《編程是一件很難的事情》不一樣。想把代碼寫好,本來就是一件非常困難的事情。我大三的時候訓練一個大一的老鄉,就光是C++,長達四年后她還搞不清楚模板元編程究竟是什么。而且還有C語言學會了轉C++會把壞習慣帶進來啦,C++的人轉做C#之后發現很多C++的好技巧到了C#都只會讓程序變得更慢啦,很多寫動態語言的人不理解類型的好處還在那里胡扯啦,還有C#和javascript明明放著大好的函數式風格不用,非要把代碼寫的超長(本來光是這樣沒什么問題的,只是有某些人不肯學習新知識)??梢?,就算把自己訓練了好多年,最終進入了工作崗位,想把代碼寫好,也是一件非常困難的事情。

    當然有些人說,如今只有產品做得好才能賺錢,代碼寫的好有個屁用。這只能是人各有志,有些人就不喜歡鉆研代碼,這本來也沒什么。但是這些人老是跳出來忽悠別人,也只會讓編程變得更難。只是幸好,我的單位并不會跟某些單位一樣說一些“把代碼寫得那么好有什么用,搞到我們還非得學東西才能看你的代碼,趕緊做點新feature啦”的這種話,我已經覺得很好了。

    寫得好這個東西還是比較抽象。我認為其中一條就是代碼要好維護。我一直以為,只有代碼寫得好維護,好改,清晰易懂,這樣加新的功能才會容易,不出事情,順利發布軟件。后來我發現我錯了,騰訊不也是QQ一版一版的發嗎,原來加班也是一種方法,啊哈哈哈。如果在一個單位里面,不加班別人就會找你麻煩的話,我相信你也不會花心思把代碼寫好的,反正都要加班。

    不過對于志向就是寫代碼的那一些人,最好還是不要受到這些外來信息的干擾。最近跟我們組里的一個test manager聊天,他是一個菲律賓人,說是從紙帶時代開始就寫代碼了(不過看起來好年輕……),工作的時候還覺得C語言是一個嶄新的語言。后來他跟我說,如果一個人有志向與,代碼一條路走到黑,最好就去學習一下怎么當architect。他說道,Architect的知識架構是由各種pattern組成的,然后就說了自己年輕的時候的很多故事來作證這個道理。然后還講了微軟的其中一個創始人到現在還堅持一線寫代碼的事情,不過沒告訴我是誰。

    在這之前,剛好MSR的Daan Leijen因為來北京參加programming language相關的conference,就來我們這里參觀了一下。后來我看他做過GUI,做過parser combinator,發明實現過語言,就前去搭訕,結果發現他讀書的時候的導師竟然是Erik Meijer。按照他的話說,“then we are connected”,如果說成中文,就是有緣分吧。接著就跟他討論了一些parser combinator和類型系統之類的東西。我說我之前也搞過這些東西,最后還貢獻了一部分給公司,換了個組之后還開了講座什么的。他講到他讀書的時候,也是學校沒教自己自學的這些東西,后來周圍也沒什么人做,但是并沒有讓他喪失動力。然后就說了一句話讓我印象很深刻:“原來你也做這些東西啊,我應該可以看到為什么你要從產品組跳到MSRA來了。”他直到今天,頭發都基本上掉光了,還在那里繼續研究programming language的東西,還給了我幾篇論文。我覺得很好,人就該像他那樣。

    有些時候,人就得有那個信念,才能把可行但是難度大的東西,也最終搞出來。我自己寫了11年的程序,其實并沒有接觸過十分廣泛的東西,因為很多時間都花在重寫我的一些idea上面了。譬如說編譯器就寫了五六個,GUI庫就寫了八遍,還有些雜七雜八的。不過從這個過程之中,可以明顯感覺到自己什么時候比以前更進一步。這種signal有很多,譬如說當你決定要添加一個比較復雜的功能,也可以迅速知道怎么做而不用動到架構啦;譬如說你覺得你的代碼越來越順眼啦;譬如說你因為架構不行決定重寫的時候,你發現前一個版本的代碼可以撿起來繼續用的部分越來越多啦。

    寫到這里,我想起很多人都問過我,程序要怎么寫才能寫得好,或者說設計模式要怎么寫,之類的問題。如果把學習編程花費的精神代價做標準的話,捷徑是沒有的。但是如果僅僅把時間作為標準的話,捷徑顯然是有的。怎樣才能加速你學習的過程呢?答案就是,先寫再看書。對于像編譯原理這種略微高深的知識,總要自己寫過幾遍,吃了一些苦頭,才能知道為什么書里非要把算法那么設計結構那么安排。對于像設計模式這種需要大量經驗才可以領悟到的知識,如果你從來沒獨立寫過一個上萬行的程序,你覺得你能理解設計模式在講什么嗎?我覺得這種時候能做的也就是背下來,理解什么的都是扯淡。諸如此類,學習程序,如果要加速那個過程,肯定要花大量的時間寫代碼。當你把項目做得越大、越復雜、算法越扭曲、界面越華麗、尺寸已經大到你覺得不學習新的方法論就肯定會讓代碼失控的時候,這個時候你來看設計模式的書,保證是每看到一個模式都覺得人家說到你心坎里去了。那你不僅可以迅速理解,而且以后還可以不由自主的想起來使用它。

    當然,如果你不是一個喜歡寫代碼的人,那這個方法肯定沒有用,因為中途放棄什么的太多了。這種時候,只能怪你沒緣分,設計模式不渡你了。如果你最后撐下來了,雖然你自己覺得你也花費了相當的努力,但是別人反正是看不到你的努力的,就會開始覺得你有捷徑了。為什么呢?因為效率高啊,時間花得短啊。

    光寫代碼也是沒用的。同人于野一篇講成年人還能不能進步的博客說得很好,知識分為舒適區,學習區和恐慌區。舒適區的意思就是,你很容易就可以做完。學習區的意思就是,你需要花費大量的智力才可以做完。恐慌區的意思就是,你根本不知道如何下手。當你在為了練習編寫大量的代碼的時候,你要盡量把題目都安排在學習區這里,這樣才能讓你進步快的同時,還不會被問題打倒,可以繼續積累成就感了。

    學生做這個最方便了,工作之后,如果剛好遇上個黑心公司要你天天加班,你反而沒時間做學習區的內容了,公司給你的肯定是舒適區的苦力活。

    說到這里,如果你還有時間練習的話,千萬不要去想:“我每一個程序都要跨平臺”,“我只做這個語言”等等。反正將來,語言你都要會,平臺的差異你都要知道,為什么要斷送自己了解這些東西的機會呢?你真的以為不知道垃圾收集的原理,和一些底層的可以通過C++的練習而得到的的操作,你真的可以在某些關鍵時刻操縱好C#嗎?當然有些人會覺得,我估計一輩子不會遇到這些問題的,所以我還是不管他了。人各有志嘛,C#不渡你,也是你自己的事情。如果你真的可以一輩子都在一個平臺上用一種語言做同一種程序做到退休,那真是幸福的生活啊。

    胡扯到這里也差不多了,這就是月經貼,時不時,總是要發一下的。

posted on 2012-07-14 10:15 BoyXiao 閱讀(115) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


導航

留言簿(43)

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久9热精品视频| 99国内精品久久| 欧美成人69| 午夜精品一区二区三区在线视| 亚洲视频欧美在线| 亚洲香蕉网站| 亚洲欧美在线磁力| 久久精品五月| 久久亚洲综合色| 欧美激情国产精品| 国产精品美女午夜av| 亚洲欧美日韩一区| 欧美综合国产| 欧美国产日本韩| 国产精品日韩精品欧美在线| 性做久久久久久| 欧美一区二区观看视频| 久久久蜜桃一区二区人| 欧美国产综合视频| 一区二区三区欧美在线| 欧美日韩在线视频一区| 欧美成人dvd在线视频| 亚洲精品视频免费观看| 亚洲欧美日韩视频二区| 欧美v日韩v国产v| 国产精品久久久久久影院8一贰佰| 国产综合一区二区| 欧美三区在线视频| 1000部国产精品成人观看| 亚洲免费观看| 久久久999成人| 亚洲美女黄网| 美女被久久久| 国产婷婷成人久久av免费高清 | 久久夜色精品一区| 99国产一区| 久久婷婷国产综合国色天香| 欧美性色综合| 在线观看欧美一区| 久久久亚洲成人| 亚洲综合精品自拍| 欧美精品在欧美一区二区少妇| 国产亚洲欧美一区在线观看| 99热在这里有精品免费| 久久另类ts人妖一区二区| 日韩亚洲欧美一区二区三区| 米奇777在线欧美播放| 黄色日韩精品| 久久精品国产99| 亚洲天堂男人| 欧美亚洲成人网| 亚洲精品孕妇| 亚洲国产日韩欧美综合久久| 亚洲午夜视频在线| 欧美日韩综合不卡| 亚洲午夜日本在线观看| 亚洲区第一页| 欧美**字幕| 一本色道婷婷久久欧美| 亚洲国产婷婷| 欧美激情精品久久久久久| 亚洲破处大片| 亚洲黄色在线视频| 欧美成人午夜激情| 亚洲人线精品午夜| 亚洲第一区在线观看| 免费在线欧美视频| 99re6这里只有精品| 亚洲精品一区久久久久久| 欧美精品自拍偷拍动漫精品| 亚洲精品在线三区| 亚洲精品综合精品自拍| 欧美性一区二区| 欧美一级网站| 久久精品亚洲热| 在线观看日韩国产| 亚洲国产精品电影| 在线一区二区三区四区| 亚洲精品一区二区三区在线观看| 免费观看日韩av| 欧美暴力喷水在线| 亚洲天堂成人在线视频| 亚洲视频一区二区在线观看 | 亚洲精品中文字| 夜夜嗨一区二区三区| 国产精品一二三视频| 久久阴道视频| 欧美日韩一级黄| 久久久精品性| 欧美激情二区三区| 欧美影片第一页| 欧美大片专区| 欧美在线精品免播放器视频| 久久米奇亚洲| 99视频一区二区三区| 欧美影院午夜播放| 一本久久a久久精品亚洲| 午夜免费电影一区在线观看| 激情视频亚洲| aa级大片欧美三级| 激情亚洲网站| 亚洲视屏一区| 亚洲经典三级| 午夜精品视频在线观看| 99爱精品视频| 欧美一区二视频| 亚洲视频你懂的| 久久综合一区二区三区| 亚洲视频高清| 免费成人性网站| 久久久噜噜噜久久中文字幕色伊伊| 欧美日韩国产va另类| 免费观看日韩av| 国产日韩欧美综合一区| 一本色道久久88综合亚洲精品ⅰ | 欧美大片va欧美在线播放| 香蕉久久夜色精品国产使用方法| 久久综合福利| 久久久一区二区| 国产九九精品| 99精品欧美一区| 亚洲美女av网站| 久久一本综合频道| 久久不射网站| 国产伦精品一区二区三区免费迷| 男女av一区三区二区色多| 国产日韩成人精品| 亚洲一区二区三区在线| 亚洲麻豆国产自偷在线| 久久精品一区中文字幕| 西瓜成人精品人成网站| 国产精品人人做人人爽| 日韩午夜免费| 亚洲天堂网在线观看| 欧美精品精品一区| 亚洲国产日韩一区| 日韩小视频在线观看| 亚洲欧美日韩综合| 蜜桃av久久久亚洲精品| 久久精品一二三区| 国产欧美日韩麻豆91| 亚洲永久免费av| 欧美影视一区| 国内精品久久久久久久97牛牛| 欧美中文日韩| 欧美成人综合网站| 亚洲国产天堂久久综合网| 欧美电影专区| 99re热精品| 久久成人免费日本黄色| 永久免费视频成人| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲激情在线观看| 亚洲视频在线观看一区| 国产精品影片在线观看| 久久精品视频一| 欧美高清视频免费观看| 亚洲国产欧美日韩另类综合| 美女任你摸久久| 亚洲精品男同| 久久成人在线| 亚洲激情电影中文字幕| 欧美伦理在线观看| 亚洲欧美在线播放| 亚洲电影免费观看高清完整版在线| 亚洲美女尤物影院| 国产欧美日韩免费| 欧美激情亚洲视频| 午夜欧美大尺度福利影院在线看| 欧美xxx成人| 亚洲女人天堂av| 在线看国产一区| 国产精品久久久久久久9999| 欧美伊人久久久久久久久影院| 欧美18av| 新狼窝色av性久久久久久| 亚洲黄一区二区三区| 欧美日韩国产欧| 久久久亚洲成人| 亚洲尤物影院| 亚洲精品日韩激情在线电影| 久久亚洲图片| 香蕉成人啪国产精品视频综合网| 亚洲精品国产欧美| 国产一区二区三区四区在线观看 | 国产日韩欧美一区二区三区四区| 午夜国产不卡在线观看视频| 欧美风情在线| 久久久久免费| 亚洲综合国产精品| 亚洲午夜极品| 亚洲国产精品嫩草影院| 久久成人综合视频| 亚洲视频在线观看免费| 最新国产乱人伦偷精品免费网站| 国产欧美一区二区精品性| 欧美四级电影网站| 欧美日韩久久| 欧美日本中文字幕| 欧美96在线丨欧|