<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢(mèng)蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    java語言的演化——讀JavaOne ppt筆記

    Posted on 2008-06-18 00:20 dennis 閱讀(2058) 評(píng)論(0)  編輯  收藏 所屬分類: java 、涂鴉
      JavaOne2008上有個(gè)session《Upcoming Java Programming Language Features》,講了即將到來的jdk7可能引入的新的語言特性,比較開眼界的是jsr308對(duì)Annotation的擴(kuò)展使用,更多地作為斷言或者說checker使用以便減少bug。在ppt前面,我覺的更有意思的是對(duì)java語言演化的講述,做個(gè)筆記。

    1、應(yīng)用VS.語言

    應(yīng)用是特性越多越好,應(yīng)用是rich的;而語言是pure的,更少的、普通的特性更好。

    2、添加一個(gè)java語言特性的三個(gè)前提:尊重過去、著眼未來以及顧及模型。

    無論是增加、減少或者改變一個(gè)feature都可能broken已經(jīng)存在的代碼,一個(gè)新增加的feature必須兼容已經(jīng)存在的代碼,兼容是個(gè)沉重的包袱,就java語言而言,我相當(dāng)認(rèn)同尊重過去這一點(diǎn),哪怕加入閉包這樣的特性也不應(yīng)當(dāng)以損壞兼容性為代價(jià),更好的選擇是將這些特性讓jvm上的新語言去實(shí)現(xiàn)(比如JRuby、Scala),java語言作為成熟的工業(yè)語言本身不應(yīng)當(dāng)做太大的改變。而著眼未來,也就是說新的語言特性應(yīng)該為未來的語法擴(kuò)展留有空間,它的語法/語義不應(yīng)當(dāng)跟現(xiàn)存的或者潛在的特性相沖突,以便可以持續(xù)地演化。再談?lì)櫦爱?dāng)前的模型,一門語言代表著一種計(jì)算模型,比如simulaOO模型(classes)Erlang就是inter-process communication的模型(actor)。Java語言也有一個(gè)簡單的模型:首先它是“高層”語言,是一門通用、并發(fā)、基于類的OO語言,其次,它跟API、JVM有良好的結(jié)合。Java語言模型有四個(gè)原則:

    a)鼓勵(lì)high-level實(shí)踐,通過抽象來隱藏偶然復(fù)雜度。簡而言之:do the right thing。

    b)追求清晰,程序被讀的時(shí)候遠(yuǎn)遠(yuǎn)多于寫。簡而言之:do the thing right.

    c)青睞靜態(tài)類型,靜態(tài)類型能增進(jìn)對(duì)代碼的信心,靜態(tài)類型能證明bug在編譯時(shí)的不存在,而測(cè)試和動(dòng)態(tài)類型能證明bug的存在。我的觀點(diǎn)是,大多數(shù)難以尋找和解決的bug都是runtime的,靜態(tài)類型在此方面能給出的幫助有限,充分并且適宜的測(cè)試更加能增強(qiáng)你對(duì)應(yīng)用的信心。

    d)語言比之API的更廣泛。one language,many api。API來去匆匆,而語言卻是forever,因而將語言和API分離是明智的,一些特性可以做為庫來實(shí)現(xiàn),jdk5并發(fā)庫的引入就很好,jdk7在并發(fā)方面同樣將引入fork/join模型。

    java語言的演化也當(dāng)遵循這四個(gè)原則。再看看傳說中的閉包語言,當(dāng)它跟泛型結(jié)合的時(shí)候?qū)懗鰜淼臇|西還談得上清晰嗎?閉包的實(shí)現(xiàn)能否解決兼容性問題也是個(gè)疑問。就四個(gè)提案,C3S需要引入method關(guān)鍵字(類似lambda),F(xiàn)CM的#號(hào)看起來比較怪異,在我看來,CICE和BGGA更符合胃口,CICE對(duì)java語言的變動(dòng)應(yīng)該最小,學(xué)習(xí)曲線也比較平緩,BGGA的=>符號(hào)更有函數(shù)式語言的味道。閉包的引入,某種程度上能減少敲擊鍵盤的次數(shù)并實(shí)現(xiàn)一些高階功能,特別是在聚合操作(如filter、map等)和單抽象方法類(如Runnable,Callable)的使用上,但是在現(xiàn)代IDE的自動(dòng)化幫助下,這個(gè)帶來的價(jià)值是值的懷疑的。




    主站蜘蛛池模板: 波多野结衣在线免费视频| 91久久亚洲国产成人精品性色 | 亚洲国产精品日韩专区AV| 亚洲视频免费播放| 你是我的城池营垒免费观看完整版 | 亚洲AV永久无码精品放毛片| 久久青草亚洲AV无码麻豆| 亚洲人成无码网站久久99热国产| 69成人免费视频无码专区| 8x8×在线永久免费视频| 成人性生交大片免费看中文| 黄床大片免费30分钟国产精品| 亚洲国产精品无码久久九九大片| 亚洲videos| 亚洲综合久久1区2区3区| 亚洲AV综合色区无码一区爱AV| 国产91精品一区二区麻豆亚洲| 国产免费131美女视频| 永久黄网站色视频免费观看| 中文字幕无码免费久久99| 五月婷婷在线免费观看| 99爱视频99爱在线观看免费| 午夜无码A级毛片免费视频| 青青操视频在线免费观看| 成年免费a级毛片免费看无码| 成人福利在线观看免费视频| 美女的胸又黄又www网站免费| 美国毛片亚洲社区在线观看| 亚洲AV无码成人精品区日韩| 亚洲熟妇无码八V在线播放| 亚洲一区二区三区国产精华液| 国产成人精品日本亚洲11| 久久精品国产亚洲AV久| 亚洲人成777在线播放| 亚洲伊人久久精品| 国产v亚洲v天堂a无| 亚洲另类自拍丝袜第五页| 国产精品亚洲一区二区无码 | 免费观看一区二区三区| 日韩精品极品视频在线观看免费 | 午夜亚洲国产理论秋霞|