<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      絕大多數新技術的學習,都是浪費生命

       

            很多程序員,在很多的時間,都會說出很多相同的話來,其中最為引起共鳴的就是這么一句話:“每天都要學習新知識,不然就會被淘汰”。

          嗯,這真是件很辛苦的事情,你看,老中醫就過得很輕松,收銀員也過得很輕松,官員當然過得更輕松。沒別的,絕大多數正常的人類,學會一種技能,則無需進一步學習其他的,大致上就能夠或輕松或艱難的生活下去。這個所謂絕大多數,應該是90%。

            那么,程序員或者好聽一些,軟件工程師這種職業,為什么就過得更辛苦一些呢?

       

           因為我們實際上完全沒有必要每天甚至每個星期甚至每個月都要學習新知識,因為很多所謂的新知識都是些將簡單的問題復雜化的東西,它們既沒有令事情變得更簡單,有時候甚至引起倒退,更多的時候是盲目的消耗了程序員的精力而一無是處。

            我們完全可以過得非常輕松。

       

            舉個例子,大家知道微軟的Wpf、Wcf和WF這些新的東西,其中任何一個專題,程序員都需要花費大量的時間去學習,當然,也許學習半年之后,還是碰到很多疑惑。人的一生有多少個半年呢?這樣的學習對你究竟有什么好處呢?

             簡單的拿Wpf做例子,你需要了解這種新東西誕生的理由。

             微軟的工程師認為,桌面編程應該有一個類似Html的界面設計方式,使用一種規范的Xaml來描述界面,這是第一個動因。第二個主要的動因,是微軟的.net框架,這上面需要有專門的本地應用開發技術,微軟的工程師認為Winform形式太過落伍了。

             還有其他原因嗎?

             當你看到非常炫目的界面效果之后,你會覺得震撼,震撼之后你會覺得不學習實在就太會落伍了。

       

             可是結果呢?

             你想要用他開發桌面軟件,面臨的第一個問題,就是每個用戶下載的時候都需要下載好幾百兆的東西,還不一定保險。因為XP也好、Vista也好、Windows7也好還是Windows 2008 R2也好,老實說你要下載的包都不相同。

             第二個問題是用戶安裝你的軟件非常困難,這些打包附帶的東西顯然無法讓用戶在安裝你的軟件之后,還有更多的興趣再看一眼。

            第三個問題是開發應用并不簡單,有太多的概念,比如Xaml、比如樣式、比如Trriger、比如StoryBoard、比如MVVM,沒有圖表控件、沒有自動完成控件,完成一件最簡單的任務你比以前可能需要更多的時間,而非更少。

             第四個問題是有太多的細節,比如Command如何帶參數、比如進度條怎樣后臺展現進度,嗯,我敢肯定的說,包括微軟的開發工程師在內,整個地球上用Wpf開發應用的程序員們,只有不到十個人有一個通用的方案,來使用進度條簡單的在后臺報告進度。

             第五個問題是慢,驚人的慢。大家可以看看“飛信”,這是一個微軟控主導決策的,嗯,使用.net 2.0。為了解決程序發布的問題,專門弄了個微型的.net框架,但是你將它與QQ比,是不是覺得慢得太多?持續多年以后,移動的先生們不耐煩了,才有的現在的基于C++的原生版本,請比較一下速度。這里特別提醒一下,飛信的開發,是中國移動投入巨資、得到微軟中國整個團隊無微不至的支持的,這些高人甚至赤膊上陣親自動手,這樣使用他們的開發工具,歷時數年也不過是做出一個被淘汰的產品。先生,請掂量一下,你比他們這些家伙更厲害嗎?你比孩子的母親對孩子更了解嗎?

       

              嗯,最后可以看到,包括微軟自己在內,地球上并沒有太多基于Wpf的產品。少得可憐,但它確實浪費了至少一百萬程序員的生命,基本上每個程序員因此短命了半年以上。

           微軟則繼續想在僵尸的基礎上,禍害更多的人,于是出現在Web領域,老天,有了Silverlight,事實無情的宣告這種妄想進一步失敗,依然找不到多少有點看點的Silverlight的商業應用。微軟碰了一鼻子灰,但他成功的繼續禍害了50萬以上的另一批程序員,這個時間估計超過半年,因為據說Web程序員更固執、也更舍不得告別已經浪費的生命。

       

             故事還沒有完結,微軟開始將這一套東西轉到手機領域。

            我仿佛看見一只野狗,被左邊的一個人踢了一腳,這個人叫桌面應用;又被右邊的人踢了一腳,這個人叫做Web應用;然后,他高高的跳向空中,嗯,空中等著他的那個人叫手機開發,他是不是也長著一雙腳呢?

            他們推出WP7,這種微軟最新的手機操作系統,開發工具是Silverlight,我已經看到他失敗的那一天了……

       

            這是新技術典型的例子,你不用責怪微軟,dos到Windows,是一種包裝,將底層封鎖住;Win32到.net FrameWork是第二次包裝,繼續封閉第二底層;.net“原生”開發到Wpf又是一種包裝,這是封閉了WinForm的內容改用Xml呈現的包裝。

            你能夠想象得到,每一次包裝,顯然都帶來運算效率的下降,這種包裝如果成功,是有益的,因為硬件性能畢竟在快速的增長。當然,也正由于這種包裝,電腦發展幾十年之后,我們常見的應用基本上都沒有真正的變快,甚至與二十年前比較更慢了。

            同時,開發應用軟件,好象每經過一次包裝,復雜度又增加許多,而開發成本又上升許多。

       

           這很矛盾,不是嗎?多數時候,微軟的目的都是讓開發更簡單,這是沒錯的。

           但什么是簡單?

           我的理解是:第一是概念盡可能少,理解上簡單。第二才是代碼盡可能少,實現上簡單。

           微軟幾乎百分之百的工程師,和幾乎百分之百的高層決策人員,都不理解第一個問題,“概念要盡可能少”。

       

          嗯,你這么想想吧,剛剛看到有研究Prism的,我估計此人又要浪費半年以上的生命。

          這是個什么東西呢?MVVM框架嗎?依賴注入嗎?模塊化嗎?

          看看上面這句話,普通人定然看不懂,這也是我們絕大多數程序員漸漸變得不會說人話的原因。

          你只要看到Prism那些難以理解的代碼,然后看到使用這種編程框架需要理解多少個概念,使用這種框架開發應用會使人多么發狂。對于一個團隊來說,這又會造成多大的災難。

       

          請記住,即使你誤入了微軟的賊船,也一定要記住:每次面臨一項新的技術的時候,花費5分鐘的時間了解一下,它的目的是什么?它是否達到了這些目的?使用這種東西需要理解的概念多不多?有無可能在一天內完全掌握?

          如果不能,忽略它。

          微軟是沒錯的,錯的是你,先生,你不知辨別,你也不知道自己究竟有多長的生命。

       

          想一想,還是列出一個清單吧:

          1、Asp.net Mvc V3:可以看一下,新的視圖引擎確實更簡單

          2、WCF:忘掉它,這是微軟希望擴展和取代Web服務的東西,它不是標準,這些年也基本上很少有應用。

          3、WPF:忘掉它,要開發原生應用,還是老老實實的用VC+Mfc,要好看一點,用Vs2010里的Ribbon體系。

          4、WF:不需要關注,當然,如果你從事工作流范疇的開發,這個有一定益處,問題是性能也堪憂

          5、Sql2008 R2的數據挖掘部分:忘掉它,基于數據庫的挖掘,基本上是很難實用的.

          6、Silverlight:請轉向Html 5吧,或者現實一些,Flash。你不應該這樣特立獨行,遵循多數人的標準吧

          7、Wp7:躲遠一點,買手機也不要買這種

          8、Silverlight手機開發:不要碰,賺不到錢的

          9、嵌入式開發WinCe或windows Mobile:轉向Android或者linux吧

          10、Ado.net Entity FrameWork :忘了它,這只是微軟在面臨強抱的時候無力的呻吟,它希望能夠實現數據庫和對象之間的無縫連接、也希望解決領域驅動開發問題,但是老天,十年之內請大家不要幻想這種DDD的方式能為成為現實---這也意味著所有程序員失業先…

          11、linq:關注但一定要慎用,linq To Sql性能肯定不如原生Ado.net直接訪問數據庫,linq To Object很多基于IEnumerable接口的,很顯然在針對數組和IList的時候較之直接編程性能大幅下降。

          12、TFS:重要,很好的工具,但記住一定要用基本安裝,只使用源碼管理和基本的項目管理,不要安裝SharePoint之類,簡單就好

          13、Tfs的Scrum模版:重要,這樣一種方法論,對個人對團隊都有益處

          14、Vs2010的單元測試項目:重要,這是改變個人變成習慣,改變心態的習慣。不會TDD的基本上是苦瓜程序員。會了,你就是蜜瓜程序員。

          15、.net Framework:出現之后,桌面應用開發工具出現斷檔,僅在Web領域應用,在桌面應用和手機應用中應該遠離。

          16、C# 3.0之后:C#語言設計的存在一定問題,從細節的所謂裝箱拆箱到高層面的linq之類,我猜想語言設計人員沒有列出“開發人員應掌握多少概念、特定場景如何實現、結合.net Framework的主要領域是哪些”這樣的清單。邏輯層次上下浮動的很厲害。但C# 3。0之后的擴展方法、匿名代理、lambda表達式、匿名類、動態類型等,可以多用,對簡化代碼和代碼的清晰度確實有益。

      posted @ 2011-01-15 21:49  玄歌  閱讀(39282)  評論(300)    收藏  舉報
      主站蜘蛛池模板: 黄色国产精品一区二区三区| 国产线播放免费人成视频播放| 二区三区国产在线观看 | 毛片网站在线观看| 99精品国产一区二区三| 亚洲老熟女一区二区三区| 亚洲欧美色综合影院| 日韩有码中文在线观看| 在线人人车操人人看视频| 人妻va精品va欧美va| 高潮潮喷奶水飞溅视频无码| 依依成人精品视频在线观看| 久久国产成人精品国产成人亚洲 | 日本深夜福利在线观看| 国产精品毛片无遮挡高清| 欧美午夜精品久久久久久浪潮| 国产成AV人片在线观看天堂无码| 欧美日韩精品一区二区三区高清视频| 香港特级三A毛片免费观看| 欧美白人最猛性xxxxx| 韩国无码AV片午夜福利| 人妻中文字幕一区二区视频| 国产精品国产三级国快看| 国产精品日韩中文字幕| 亚洲综合日韩av在线| 清原| 亚洲第一区二区快射影院| 亚洲精品欧美综合二区| 少妇激情一区二区三区视频小说| 国产成人精品无码播放| 会理县| 成人污视频| 欧美日韩另类国产| 久久亚洲精品中文字幕波多野结衣| 岛国岛国免费v片在线观看| 屏东市| 在线观看国产成人av天堂| 无码专区视频精品老司机| 高清自拍亚洲精品二区| 精品国产中文字幕懂色| 亚洲av男人电影天堂热app|