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

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>
            欧美日韩精品三区| 91久久精品网| 亚洲国产精品热久久| 狠狠久久亚洲欧美| 在线国产欧美| 亚洲精品黄网在线观看| 99www免费人成精品| 99这里只有精品| 亚洲欧美国产视频| 亚洲欧美在线另类| 久久精品中文字幕一区二区三区| 欧美一区二区三区免费看| 久久综合九色综合欧美狠狠| 亚洲第一综合天堂另类专| 亚洲精品久久久久中文字幕欢迎你 | 国产精品美女久久久浪潮软件 | 欧美一区二区三区在| 欧美制服丝袜第一页| 麻豆精品视频在线观看| 欧美了一区在线观看| 国产精品午夜在线观看| 亚洲日韩欧美一区二区在线| 亚洲女人天堂成人av在线| 另类图片国产| 亚洲视频狠狠| 免费观看30秒视频久久| 欧美性猛交99久久久久99按摩 | 亚洲自拍三区| 免费在线视频一区| 国产日韩精品视频一区二区三区| 亚洲国内自拍| 久久久久久久波多野高潮日日 | 久久久中精品2020中文| 欧美日韩在线第一页| 一区在线免费观看| 欧美一区日韩一区| 亚洲精品一二区| 久久精品女人的天堂av| 欧美午夜一区二区| 亚洲欧洲日韩在线| 久久一区视频| 午夜精品免费在线| 国产精品成人免费| 宅男噜噜噜66一区二区66| 久久综合色婷婷| 午夜久久资源| 国产精品乱码一区二三区小蝌蚪| 亚洲第一综合天堂另类专| 久久久久久一区二区| 亚洲欧美乱综合| 国产精品久久久久一区| 中文日韩欧美| 日韩一本二本av| 欧美日韩亚洲一区二区三区四区 | 久久综合色播五月| 国产日韩高清一区二区三区在线| 亚洲网站视频| 亚洲精选大片| 欧美日韩爆操| 一区二区三区欧美亚洲| 欧美激情第3页| 久久免费99精品久久久久久| 影音先锋日韩精品| 国产在线精品自拍| 国产亚洲人成网站在线观看| 亚洲一区二区在线免费观看视频 | 国产综合色产| 乱码第一页成人| 麻豆精品视频| 一本色道久久综合| 亚洲午夜精品国产| 国产日韩精品久久| 久久久91精品| 久久亚洲精品视频| 亚洲国产精品高清久久久| 久久综合图片| 欧美大片在线看免费观看| 亚洲美女视频网| 99ri日韩精品视频| 国产精品成人免费视频| 久久久久99| 蜜臀a∨国产成人精品| 在线视频日本亚洲性| 亚洲一区二区成人| 国内激情久久| 亚洲国产日韩欧美| 国产精品盗摄久久久| 久久久91精品国产一区二区精品| 久久噜噜噜精品国产亚洲综合| 91久久精品日日躁夜夜躁国产| 亚洲精品色图| 国产在线乱码一区二区三区| 亚洲第一中文字幕在线观看| 欧美日韩一二区| 久久久综合网| 欧美午夜精品久久久久久久| 久久高清一区| 欧美激情视频网站| 久久国产88| 欧美韩国日本综合| 久久精品亚洲乱码伦伦中文| 欧美ed2k| 老司机午夜免费精品视频| 欧美性生交xxxxx久久久| 裸体女人亚洲精品一区| 国产精品乱人伦中文| 巨胸喷奶水www久久久免费动漫| 欧美精品在线免费| 久久久亚洲精品一区二区三区| 欧美日韩国产精品成人| 鲁大师成人一区二区三区| 国产精品第一页第二页第三页| 亚洲高清影视| 国产一区二区三区免费在线观看| 亚洲精品一区二区三区福利| 黄色成人免费网站| 亚洲天天影视| 亚洲天堂久久| 欧美日本国产| 亚洲国产清纯| 91久久国产精品91久久性色| 欧美一区二区三区免费观看视频| 正在播放日韩| 欧美久久久久中文字幕| 亚洲黄色一区二区三区| 久久精品亚洲精品| 精品盗摄一区二区三区| 一区二区三区成人| 亚洲免费成人| 欧美肥婆在线| 亚洲二区三区四区| 狠狠干成人综合网| 欧美一站二站| 久久久久久久999| 国产亚洲精品成人av久久ww| 亚洲欧美日韩中文播放| 午夜视频精品| 国产精品专区一| 中文在线资源观看网站视频免费不卡 | 亚洲手机在线| 欧美久久视频| 亚洲欧洲视频在线| 日韩视频免费观看| 欧美裸体一区二区三区| 亚洲精品乱码久久久久久按摩观| 亚洲国产天堂久久综合网| 久久综合给合久久狠狠色| 欧美电影资源| 一区二区免费在线观看| 欧美亚一区二区| 午夜精品久久久久久久久| 久久久久久久999| 亚洲电影免费在线观看| 免费人成精品欧美精品| 亚洲男人第一网站| 国产视频久久久久久久| 久久久久久久97| 亚洲高清123| 亚洲资源av| 国产一区二区久久久| 狂野欧美一区| 国产精品99久久久久久久久| 欧美在线综合视频| 最新中文字幕亚洲| 欧美午夜a级限制福利片| 日韩一级网站| 久久久天天操| 在线一区二区三区四区| 国产日产精品一区二区三区四区的观看方式| 亚洲欧美日韩中文在线制服| 美国三级日本三级久久99| 亚洲精品自在在线观看| 国产精品你懂的在线| 欧美在线视频一区二区三区| 亚洲国产精品一区制服丝袜| 午夜影院日韩| 亚洲欧洲综合另类在线| 国产精品久久久一区二区三区 | 国产精品白丝av嫩草影院| 亚洲欧美一区二区精品久久久| 麻豆精品网站| 亚洲欧洲99久久| 亚洲理伦电影| 黑人一区二区| 国产精品二区三区四区| 欧美在线观看网址综合| 欧美成人一区二区三区| 亚洲自拍偷拍麻豆| 亚洲青色在线| 麻豆av一区二区三区| 亚洲欧美日产图| 99re6这里只有精品| 伊人影院久久| 国产乱理伦片在线观看夜一区 | 亚洲精品一级| 欧美福利网址| 久久亚洲色图| 欧美一区二区三区视频免费| 99re热这里只有精品免费视频| 在线观看福利一区|