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

隨筆-19  評論-21  文章-0  trackbacks-0
自動化法則

    計算機(jī)原本就該從事簡單重復(fù)的工作。只要把任務(wù)指派給它們,它們就可以一遍又一遍毫不走樣地重復(fù)執(zhí)行,而且速度很快。但卻經(jīng)常看見一種奇怪的現(xiàn)象:人們在計算機(jī)上手工做一些簡單重復(fù)的工作,計算機(jī)則在大半夜里扎堆閑聊取笑這些可憐的用戶。

    我們應(yīng)該利用作為程序員的優(yōu)勢,看到普通用戶無法看到的東西,培養(yǎng)larry所說的“懶惰,急躁和傲慢”讓計算機(jī)高效地為我們工作:命令行是如此地高效,腳本是如此地方便,銜接兩個小工具能達(dá)到如此神奇的效果。。。

古代哲人

1. 亞里斯多德的“事物本質(zhì)性質(zhì)和附屬性質(zhì)”理論:致力本質(zhì)復(fù)雜性,去除附屬復(fù)雜性。你現(xiàn)在想解決問題A,在解決A的問題中遇到了問題B,接著你去解決問題B,戲劇性的是你遇到了很多接二連三的問題C,D,E,或者在很多年后,程序才出現(xiàn)問題C,D,E,可是你的最初問題是A,不是嗎?B,C,D等等都是附屬性質(zhì),當(dāng)這些附屬性質(zhì)越來越多,越來越復(fù)雜的時候,也是開始思考另一個解決A的辦法的時候了。(如果作為學(xué)習(xí),可以試著去解決那些附屬性質(zhì))

2. 笛米特法則:任何一個對象或者方法,它應(yīng)該只能調(diào)用下列對象:該對象本身,作為參數(shù)傳遞進(jìn)來的對象,在方法內(nèi)創(chuàng)建的對象。這么做的主要目的是信息隱藏,同時使類的耦合更加松散。

3. “古老”的軟件傳說。了解歷史才能更好地創(chuàng)造歷史。讀讀那些“古老”的“寶典”(如《程序員修煉之道》《人月神話》《Smalltalk Best Practice Patterns》),會學(xué)到很多有用的東西,或許你會發(fā)出一生驚嘆。“當(dāng)你的老板要求你使用一個低質(zhì)量的代碼庫時,不需要在崩潰中咬牙切齒,告訴他:你正“站在侏儒的肩膀”上的陷阱中,然后他就會明白不僅僅只有你才覺得那是個壞主意。”

擁抱多語言編程

   “每個語言都有自己擅長的地方”(我的想法)。比如perl特別適合文本處理,用來處理網(wǎng)頁也很好(畢竟有些從服務(wù)器上返回的數(shù)據(jù)就是用perl返回的,所以用perl也會比較合適)。

    計算機(jī)語言就像鯊魚,要是保持靜止就會死。

    Java的創(chuàng)造都們實(shí)際上創(chuàng)造了兩樣?xùn)|西:Java語言和Java平臺。后者就是我們擺脫歷史包袱的途徑(Java語言的特性包含了一些它本該可以忽略的東西,如Java程序初始化的順序和從0開始的數(shù)組)。讀到本文我才開始理解平臺的深刻意義。

    舉兩個例子(Groovy和Jaskell)說明。

    Groovy是一種開源的編程語言,它給Java帶來了動態(tài)語言的語法和功能,它會生成Java字節(jié)碼,因此可以在Java平臺上運(yùn)行。在Java之后十多年里浮現(xiàn)出來的各種語言很大程序上影響著Groovy的語法:Groovy支持裝飾,較松散的類型系統(tǒng),“理解”迭代的集合,以及很多現(xiàn)代編程語言的改進(jìn)特性。而且它可以編譯成純正的Java字節(jié)碼。用Groovy寫成的代碼簡潔且并不比用Java寫的代碼效率低多少,而且能充分借用Java平臺的優(yōu)勢。

    Jaskell是運(yùn)行在Java平臺上的Haskell版本。Jaskell擁有函數(shù)式程序設(shè)計語言的優(yōu)勢:函數(shù)不改變外界的狀態(tài),純粹的函數(shù)式語言壓根沒有“變量”概念;函數(shù)式語言對多線程的支持比命令式語言要強(qiáng)得多,用函數(shù)式語言更容易寫出強(qiáng)壯的線程安全的代碼,對并發(fā)支持也比較好(我想這是Erlang流行的原因)。同時Jaskell也能借用Java平臺的優(yōu)勢。

     Java平臺借用這些多語言特性,一定會走得更好,走得更遠(yuǎn)。不過,在帶來好處的同時,也帶來了一個問題:多語言應(yīng)用程序更難高度,解決這個問題最簡單的辦法也跟現(xiàn)在一樣:靠嚴(yán)格的單元測試來避免在調(diào)試器上浪費(fèi)時間。

     多語言開發(fā)風(fēng)格會把我們帶向領(lǐng)域特定語言(Domain-specific Language,DSL)。我們會以一些專門的語言為基礎(chǔ),創(chuàng)造出非常有針對性的,非常專注某一問題域的DSL。抱定一種通用語言不放的年代就快結(jié)束了,我們正在進(jìn)入一個專業(yè)細(xì)分的新時代。大學(xué)時代的Haskell教材還在書架頂上蒙塵嗎?該給它撣撣灰了。

     ps: 我們也可以以C++為基礎(chǔ),來創(chuàng)造一種DSL,思考。



鏈接: 卓有成效的程序員




posted on 2010-07-10 12:40 hex108 閱讀(897) 評論(4)  編輯 收藏 引用 所屬分類: Read the book

評論:
# re: 卓有成效的程序員 2010-12-03 02:05 | flagman
使用C++ template metaprogramming,不就可以定義DSL嗎?

只是這樣的實(shí)現(xiàn),目前的問題是還沒有辦法保證定義出的DSL是type-safe的。  回復(fù)  更多評論
  
# re: 卓有成效的程序員 2010-12-03 15:32 | hex108
@flagman

呵呵,你說的問題是存在的(這個問題我再仔細(xì)想想。。。), 3Q ~
相對于卓有成效的程序員(http://ishare.iask.sina.com.cn/f/10584969.html)里提供的關(guān)于DSL例子 ,我更喜歡《程序員修煉之道》(http://forum.eviloctal.com/thread-33274-1-1.html)第二章12節(jié)領(lǐng)域語言 對 DSL的應(yīng)用。 我這里說的DSL也是想側(cè)重于“新發(fā)明”一種小的語言,在這個小語言里,一條簡單的語句能執(zhí)行復(fù)雜的功能,讓抽像層次更高,比如:sendMail(from,to,content)為發(fā)email的函數(shù), 這樣我們就可以直接調(diào)用sendMail了(感覺好像是提供了庫函數(shù)了。。。)。  回復(fù)  更多評論
  
# re: 卓有成效的程序員 2011-10-19 19:13 | high PR Backlinks
thanks for it.  回復(fù)  更多評論
  

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美体内she精视频| 亚洲免费观看高清在线观看| 亚洲欧洲日夜超级视频| 国产精品毛片| 久久婷婷综合激情| 国产美女精品人人做人人爽| 欧美日韩精品在线观看| 欧美日本一道本| 欧美图区在线视频| 欧美色图首页| 国产一区二区av| 国产主播一区二区三区| 激情五月***国产精品| 狠狠色狠狠色综合日日tαg| 狠狠狠色丁香婷婷综合激情| 亚洲日本中文字幕| 亚洲国产精品悠悠久久琪琪| 亚洲精品国产精品乱码不99按摩| 日韩视频欧美视频| 中文久久精品| 欧美一区二区三区四区在线 | 一区二区在线视频| 亚洲人成网站999久久久综合| 中日韩午夜理伦电影免费| 亚洲欧美综合v| 欧美激情亚洲国产| 亚洲一区二区三区免费观看 | 亚洲级视频在线观看免费1级| 一区二区动漫| 久久这里有精品视频| 91久久国产综合久久| 亚洲一区二区三区午夜| 免费视频最近日韩| 国产一区二区三区在线观看精品| 亚洲精品自在在线观看| 久久免费高清视频| 亚洲深夜福利网站| 欧美日本不卡| 亚洲激情一区二区三区| 久久精品国产999大香线蕉| 亚洲精品美女在线观看| 久久精品麻豆| 国产精品亚洲一区二区三区在线| 亚洲精品久久久久久久久久久| 欧美影院精品一区| 一区二区三区四区五区精品| 久久中文欧美| 国内成+人亚洲| 欧美在线亚洲在线| 亚洲一区二区三区免费在线观看| 欧美日韩大陆在线| 夜夜爽www精品| 亚洲国产精品久久久久婷婷884 | 欧美一区午夜视频在线观看| 午夜天堂精品久久久久| 欧美成人亚洲| 激情小说另类小说亚洲欧美| 亚洲综合色网站| 一区二区三区免费在线观看| 欧美精品 日韩| 亚洲精品一区中文| 亚洲国产精品va在线看黑人| 久久中文字幕一区二区三区| 国产精品高清网站| 亚洲欧洲日本mm| 久久夜精品va视频免费观看| 一本一道久久综合狠狠老精东影业| 久久精品国产99国产精品澳门| 欧美日韩成人综合在线一区二区| **欧美日韩vr在线| 欧美激情女人20p| 欧美精彩视频一区二区三区| 一本色道久久综合亚洲精品小说 | 久久高清福利视频| 国产日韩欧美一区二区三区在线观看 | 亚洲美女中文字幕| 欧美性淫爽ww久久久久无| 一本色道88久久加勒比精品| 亚洲区一区二区三区| 国产精品qvod| 久久人人超碰| 麻豆成人在线观看| 中文久久乱码一区二区| 午夜亚洲一区| 亚洲国产精品久久久久秋霞不卡 | 欧美国产成人在线| 欧美激情日韩| 午夜免费在线观看精品视频| 欧美亚洲一区二区三区| 亚洲大胆人体视频| 亚洲精选在线| 国产在线精品成人一区二区三区 | 国产精品大片| 麻豆精品一区二区综合av| 欧美成人一二三| 欧美一级视频免费在线观看| 久久综合九色| 亚洲午夜一区二区三区| 亚洲人在线视频| 夜夜爽www精品| 亚洲欧美在线磁力| 亚洲人成在线观看网站高清| 亚洲看片网站| 亚洲高清久久久| 亚洲一区成人| 亚洲国产欧美久久| 亚洲欧美日韩在线| 日韩亚洲欧美中文三级| 欧美一区二区三区在线观看| av成人天堂| 久久久99久久精品女同性| 在线亚洲+欧美+日本专区| 久久亚洲国产精品一区二区 | 亚洲国产精品久久久久| 中文一区二区| 亚洲精品免费在线播放| 久久黄金**| 久久不射网站| 国产精品va在线播放| 亚洲大胆视频| 136国产福利精品导航网址应用| 亚洲淫片在线视频| 中文精品视频| 欧美图区在线视频| 一本大道久久精品懂色aⅴ | 国产精品视频久久一区| 亚洲精品在线免费观看视频| 亚洲国产经典视频| 久久99伊人| 久久久一区二区| 激情六月婷婷久久| 欧美在线一二三区| 久久久久一区二区| 黑丝一区二区| 美女主播一区| 亚洲电影观看| 日韩一本二本av| 欧美日韩国产小视频在线观看| 蜜臀av国产精品久久久久| 永久免费视频成人| 久久综合九色综合久99| 欧美.日韩.国产.一区.二区| 亚洲丰满在线| 欧美成人tv| 日韩一区二区精品| 亚洲愉拍自拍另类高清精品| 欧美视频在线观看一区| 亚洲视频 欧洲视频| 欧美一级视频| 在线高清一区| 欧美激情bt| 亚洲小说欧美另类婷婷| 久久岛国电影| 亚洲国产精品免费| 欧美日韩精品不卡| 午夜精品久久久久久久久久久久| 久久精品国产亚洲一区二区三区 | 国产精品看片资源| 99v久久综合狠狠综合久久| 亚洲天堂成人在线视频| 午夜精品福利一区二区三区av| 欧美性jizz18性欧美| 亚洲欧美日韩国产综合| 久久久综合免费视频| 亚洲欧洲另类国产综合| 欧美日韩在线另类| 午夜久久一区| 欧美96在线丨欧| 亚洲校园激情| 韩日欧美一区二区三区| 欧美激情bt| 欧美一区1区三区3区公司| 欧美成人免费全部| 亚洲欧美激情诱惑| 尤物精品在线| 国产精品视频久久| 欧美freesex交免费视频| 中文一区在线| 亚洲国产精品www| 欧美专区在线观看| 在线一区亚洲| 在线观看91久久久久久| 国产精品扒开腿做爽爽爽软件| 久久精品国产999大香线蕉| 99精品视频网| 亚洲国产精品一区制服丝袜| 久久精品国产综合精品| 亚洲无吗在线| 日韩性生活视频| 亚洲国产精品va在线看黑人| 国产毛片久久| 国产精品盗摄久久久| 欧美精品久久久久久| 久久一区国产| 久久久999精品| 久久精品99久久香蕉国产色戒 | 欧美制服丝袜| 中文av字幕一区| 亚洲激情亚洲| 欧美激情区在线播放|