国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java與.NET之外的語言視界詳談

2019-11-18 12:02:39
字體:
來源:轉載
供稿:網友

  去年的這個時候,我寫了一篇文章來總結C++的2003年,題目是《波瀾不驚》。其實當時我預料,C++的“波瀾不驚”不僅會是2003的主題,恐怕也是之后很多年的主題。不過這個預料在僅僅一年之內就被打破,今年微軟推出的C++/CLI著實翻起了一些波瀾,給本已平靜的C++世界涂抹了一縷亮色。按照Stan Lippman的說法,C++/CLI是一座橋梁,將原本屬于靜態世界的C++與動態的CLI聯系起來。動靜結合,自然不同凡響。C++/CLI大致將于2005年推出第一個正式版,而大約要到2007年才能夠完全成熟。
  
  目前的C++/CLI語言,從設計上來講可為是毀譽參半。贊譽之詞不必多說,至于社群里的反對意見,大致是來自兩種情緒。其一是覺得C++/CLI對C++進行了專屬的改造,使得自己熟悉的C++代碼面目全非。其二是覺得C++/CLI將C++的復雜性與CLI的復雜性統統暴露出來,令人望而生畏。依我看來,第一種責難其實出于一種不必要的宗教虔誠,并不足以為據。倒是第二種看法,頗值得我們擔憂,假如得不到很好的解決模型,我們也可以認定C++/CLI只是一小撮專家們手中的屠龍術,而很難產生更廣泛的影響。
  
  假如把C++/CLI的喧囂撥開,看看傳統的C++,那么2004年就不僅僅是“波瀾不驚”了,甚至可以說是“水波不興”。我甚至要頗費一番思考,才能夠列出一兩件事情,來代表C++社群這一年的所作所為,還要擔心讀者怪罪我小題大做。
  
  Boost庫在2004年改進了兩版,加入了一些很棒的組件,比如序列化庫等等。標準委員會也開會接納了幾個小玩意進入C++ 0X標準。C++社群自2000年以來,傾心于基礎庫的建設,這對于C++來說的確是必須,但是對于這個迅速變化的世界究竟能起到多大的影響,現在還很難說。其實一直以來,Boost庫的精致程度就已經非常高,但是對外界的影響力還不夠。我當然樂于看到“三年不鳴,一鳴驚人”的局面,但是對此并不樂觀。總的來說,C++社群要加油。
  
  與之相對應的,在實際工程中,C++的應用還是非常穩定地發展著。只不過,人們固執地使用著傳統的、基于對象或者面向對象的風格,至多摻入少許的STL。從1998年以來,C++領袖們一直號召使用者轉向新風格,現在看來這么多年過去了,效果并不很理想。其中主要的原因,固然是因為通往“新風格”之路的艱辛,也一定程度上是因為新興動態語言的替代作用。“動靜兼濟”之美,未必要通過C++自身的涅磐來達成。事實上,類似Python和Ruby這樣的動態語言,一方面提供了遠遠超越java和C#的動態能力,另一方面又能夠方便地與C/C++交互。用它們與C/C++混合開發,毫無疑問是開發應用系統的極佳組合方案。
  
  2004年12月1日,Python升級到2.4。從語言本身來說,2.4與2.3的差別很小,對一般開發的影響幾乎可忽略不計。但是,就在12月1日當天,ActivePython、PyWin32等主要Python實現包均同步升級到2.4版,此后數日,各主要Python軟件包均升級兼容2.4版,動作之整潔劃一,有如一家紀律嚴明的公司,充分體現了Python社群的成熟,令人震撼。
  
  然而,對于Python來說,本年度最令人振奮的消息是IronPython的橫空出世。IronPython不僅向Python社群證實了.NET平臺,也向.NET證實了Python。其開發者Jim Hugunin已經被微軟招入麾下,專職研究.NET平臺上動態語言的實現技術。Python等動態語言有望將軟件的開發效率在Java和C#的基礎上進一步提升2-5倍,所以,毫無疑問的,我們當然希望Python能夠進入.NET,成為一等公民。不過一般來說,2005年恐怕還不可能。微軟還是非常熱衷于推銷自己發明的語言,而對于開源社群的貢獻保持著一種官方的矜持。也許Java社群在這方面反而要更積極一些。
  
  日本人Yukihiro Matsumoto發明的Ruby語言,以其更純粹的面向對象支持、更一致的類型系統和為人津津樂道的block/iterator結構而迅速崛起,逐漸呈現與Python分庭抗禮之勢。對于熟練的Python開發者來說,Ruby的吸引力并不是很大。但是對于剛剛踏入動態語言世界的C++/Java程序員來說,Ruby似乎比Python有更大的魅力。2003年8月,Ruby發布了1.8版,這是一個比較大的升級。而2004年,Ruby再接再厲,連續推出1.8.1和1.8.2,同時,Ruby社群成立了RubyForge網站,實現了力量的大整合,其發展勢頭更加迅猛。
  
  腳本語言老將Perl今年把精力投入到了Perl 6上。雖然距離Perl 6的成形還很有一段路要走,但是Perl 6已經成為熱門話題,O'Reilly甚至已經出版了一本書。而源于巴西的動態語言新丁Lua發布了5.1版,以其獨特而小巧的設計、出奇的高效令世人驚奇。
  
  總的來說,在動態語言領域里,老將的優勢是支持庫豐富,新丁的特長則是語言設計美麗,新老各有優勢,讓人難以取舍。假如能新老結合,豈不是很美好?這就是Parrot項目的初衷——為動態語言提供最優化的基礎運行平臺。在2004年,其版本號升級到0.1.1。我們已經可以憧憬一個這樣的未來,即Python、Perl和Ruby自由協同,互相無拘束地調用。因此可以說,Parrot VM是比任何單個動態語言發展都更為意義深遠的事件,假如動態語言家族實現大統一,整個編程世界將被非常深刻地影響,今天任何一個執迷于Java或.NET世界而無暇四顧的人,在不久的未來都將為此而深感震撼。
  
  事實上,動態語言本身的能力是有局限的,一般而言其效率也是較差,但是與C/C++的相互結合,使得程序員在開發時得以動靜兼濟,取長補短。很多人都相信,動態語言是編程技術發展的新方向。縱觀2004,展望2005,這種猜測是很有希望成為現實的。
  
  2004年1月26日 Boost 1.31.0發布
  2004年3月22-26日 C++標準委員會在悉尼召開第33次會議
  2004年3月23日 Lua 5.1 work 0發布
  2004年4月11日 微軟發布Visual C++ Toolkit 2003
  2004年4月20日 GCC 3.4.0發布
  2004年5月27日 Python 2.3.4發布
  2004年8月 linux Standard Base 2.0加入一個C++ ABI標準
  2004年8月 微軟發布Visual C++ 2005 EXPRess Beta,展示新的C++/CLI
  2004年10月1日 Ruby語言的權威著作《Programming Ruby》第二版問世
  2004年10月 C++標準委員會在微軟總部雷蒙德召開第34次會議
  2004年11月8日 Ruby 1.8.2 preview 3發布
  2004年11月19日 Boost 1.32.0發布
  2004年10月29日 Parrot 0.1.1發布
  2004年12月1日 Python 2.4發布

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大洼县| 永清县| 赫章县| 德格县| 桂平市| 丰都县| 收藏| 太仆寺旗| 大石桥市| 秦皇岛市| 汉中市| 西贡区| 永修县| 翼城县| 安新县| 于都县| 汝南县| 从化市| 金阳县| 周宁县| 彰化县| 读书| 军事| 靖安县| 大宁县| 开化县| 静乐县| 林周县| 惠州市| 晋城| 栾川县| 华池县| 湖南省| 陵水| 绥芬河市| 全椒县| 井陉县| 新竹市| 万盛区| 桐庐县| 延庆县|