• <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>
            隨筆-341  評論-2670  文章-0  trackbacks-0
                博客光寫GacUI(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-06-21 09:59 陳梓瀚(vczh) 閱讀(10359) 評論(16)  編輯 收藏 引用 所屬分類: 啟示

            評論:
            # re: 關于編程的胡扯 2012-06-21 17:37 | Richard Wei
            不錯,正在為平臺而煩惱,支持一下  回復  更多評論
              
            # re: 關于編程的胡扯 2012-06-21 21:28 | Pear
            你的博文被光榮登上cnbeta了。。  回復  更多評論
              
            # re: 關于編程的胡扯 2012-06-21 23:56 | vczh
            @Pear
            還把來源給去掉了,不過我發現博客園比這里更活躍啊  回復  更多評論
              
            # re: 關于編程的胡扯[未登錄] 2012-06-22 04:41 | 張東升
            有道理,學習了。  回復  更多評論
              
            # re: 關于編程的胡扯 2012-06-22 04:53 | lwch
            哎~~做產品真的是件很痛苦的事情~~  回復  更多評論
              
            # re: 關于編程的胡扯 2012-06-22 10:15 | 張振渠
            師兄的年度帖~
            先寫后看書用的時間真的好多。。試錯的成本高~  回復  更多評論
              
            # re: 關于編程的胡扯 2012-06-22 17:29 | 春秋十二月
            做研究當科學家曾是我兒時的夢想,雖然年少曾經輝煌而后又曲折坎坷,盡管國內大環境不好,但我從沒有放棄努力,而是愈戰愈勇,因為你不僅是我的榜樣,也應該是所有有理想有志向做技術的一批人的榜樣。如果大多做技術的人都能像你這樣,中國軟件何愁沒核心,何愁不強大?!  回復  更多評論
              
            # re: 關于編程的胡扯 2012-06-22 18:13 | vczh
            @張振渠
            上學的時間不是成本,工作才是  回復  更多評論
              
            # re: 關于編程的胡扯 2012-06-22 18:16 | vczh
            @張振渠
            后期的加速是要是要前期的成本的,趁著讀書的時候搞定他
              回復  更多評論
              
            # re: 關于編程的胡扯 2012-06-24 07:17 | 小魚兒
            怎樣才能加速你學習的過程呢?答案就是,先寫再看書。對于像編譯原理這種略微高深的知識,總要自己寫過幾遍,吃了一些苦頭,才能知道為什么書里非要把算法那么設計結構那么安排。對于像設計模式這種需要大量經驗才可以領悟到的知識,如果你從來沒獨立寫過一個上萬行的程序,你覺得你能理解設計模式在講什么嗎?我覺得這種時候能做的也就是背下來,理解什么的都是扯淡。諸如此類,學習程序,如果要加速那個過程,肯定要花大量的時間寫代碼。當你把項目做得越大、越復雜、算法越扭曲、界面越華麗、尺寸已經大到你覺得不學習新的方法論就肯定會讓代碼失控的時候,這個時候你來看設計模式的書,保證是每看到一個模式都覺得人家說到你心坎里去了。那你不僅可以迅速理解,而且以后還可以不由自主的想起來使用它。


            這句話經典啊,雖然這樣花的代價很大,但這個只是短期。如果你長期堅持。我想每次付出代價越來越小,獲得回報越來越大。  回復  更多評論
              
            # re: 關于編程的胡扯 2012-06-24 22:48 | 裝配腦袋
            前來支持~  回復  更多評論
              
            # re: 關于編程的胡扯 2012-06-25 08:51 | 朱峰everettjf
            學習了,看到之后有些感觸。  回復  更多評論
              
            # re: 關于編程的胡扯 2012-06-25 17:26 | LOGOS
            老板,怎么沒有+1按鈕啊  回復  更多評論
              
            # re: 關于編程的胡扯 2012-06-25 21:49 | phoenixbing
            絕對是肺腑之言。有些段落字字珠璣。  回復  更多評論
              
            # re: 關于編程的胡扯 2012-06-27 18:57 | Flashboy
            @phoenixbing
            人自己都說胡扯了。 呵呵  回復  更多評論
              
            # re: 關于編程的胡扯 2012-07-19 20:50 | wxd
            ”胡扯到這里也差不多了,這就是月經貼,時不時,總是要發一下的。“
            既然是“月”就不能“時不時”這樣就成為了“不調”  回復  更多評論
              
            # re: 關于編程的胡扯 2013-10-31 01:25 | cottyard
            “先寫再看書”太模糊了,沒有說明具體做法,我覺得可以是先寫一點,然后略看一遍書,懂的吸收不懂跳過,然后寫很多,寫寫看看,最后再狂看。。。  回復  更多評論
              
            久久久久国产| 久久精品国产亚洲AV不卡| 亚洲国产精品无码久久久不卡| 伊人久久成人成综合网222| 亚洲午夜无码久久久久| 精品免费tv久久久久久久| 激情久久久久久久久久| 中文字幕久久精品无码| 国产精品久久影院| 亚洲AV无码1区2区久久| 久久一本综合| 99久久精品国产麻豆| 久久亚洲AV无码精品色午夜| 久久久久四虎国产精品| 97精品依人久久久大香线蕉97| 国产综合成人久久大片91| 99久久777色| 性欧美丰满熟妇XXXX性久久久| 久久久人妻精品无码一区| 99久久精品国产免看国产一区| 久久热这里只有精品在线观看| 国产免费福利体检区久久| .精品久久久麻豆国产精品| 久久久一本精品99久久精品88| 久久亚洲中文字幕精品一区| 欧美亚洲国产精品久久蜜芽| 国产日产久久高清欧美一区| 亚洲AV无码1区2区久久| 亚洲精品美女久久777777| 久久精品国产免费观看三人同眠| 国产精自产拍久久久久久蜜| 国产成人久久精品二区三区| 久久婷婷综合中文字幕| 久久91精品久久91综合| 国产亚洲精品美女久久久| 91精品国产9l久久久久| 久久99国产精品久久99果冻传媒| 久久久国产乱子伦精品作者| 国产亚洲欧美精品久久久| 99久久婷婷免费国产综合精品| 国产精品久久久久9999|