7個改變世界的Java專案
1. JUnit
Kent Beck先生關於Smalltalk的單元測試被Kent Beck 和Erich Gamma 帶進Java——JUnit。在這十年裡,JUnit帶來了測試驅動開發的普及浪潮。許多其它流行語言的單元測試版本也跟著被創造出來了,例如.NET、 C、Python、Perl。
2. Eclipse
剛進入20世紀,隨著Java和它的API的成熟,Eclipse IDE(整合開發環境)為程式設計師提供了一個幫助他們提高生產效率和融入到成長中的Java社群的環境。Eclipse也是第一個用SWT UI 工具包的大型專案。Eclipse已經逐步向成為一個普及的整合開發環境的目標發展。現在它為整合平臺外掛提供了豐富的基礎平臺。(SWT是SUN公司的 Swing的強勁競爭者,它證明了Java 程式也可以提供豐富的本地介面。
3. Spring
Spring 框架在提高Java開發人員的生產效率方面扮演著一個重要的角色。它維持了簡單和特點的平衡。Spring為Java開發人員提供了一套服務。這套服務提供了普遍使用的應用功能,例如資料訪問和事務管理。作為Sun公司的企業JavaBean系統的競爭者,Spring為Java應用創造出了另外一個可選的簡單的路徑,同時也創造出了一個Java應用開發思想上的健康競爭。
4. Solr
多年來,Solr伺服器(整合了Lucene搜尋引擎)已經為web和企業應用提供了一個簡單實用的搜尋功能的解決方案。Solr的特別之處在於它為強力和快速的Lucene搜尋庫提供了HTTP訪問,使它能夠成為任何系統的一部分,無論這系統是不是由Java實現。比其它專案好的地方,Solr已經使強力快速的搜尋成為現代Web應用的一個可選項。
5. Hudson and Jenkins
原名為Hudson,現在也叫Jenkins,這個持續整合工具是Java開發設定的關鍵部分。Jenkins為軟體專案提供了自動構建和測試。隨著 JUnit的測試持續整合,Jenkins在Java的平臺上是敏捷研發成為可能。雖然Hudson和Jenkins現在整合在一起,但並沒有偏離 Kohsuke Kawaguchi的努力,Kohsuke使它成為世界級的持續整合平臺,並提高了大部分Java研發的質量。
6. Hadoop
Hadoop是著名的MapReduce模型的Java實現。它的強壯使得最大多數的“大資料”系統成為可能。透過降低從巨大的資料集合中抽取有價值的資料的成本,Hadoop 已經被大量使用,如Facebook用它來做海量資料分析,Yahoo 的個人和廣告業務,還有很多其他的公司。就像Linux使大型網站能夠構建在便宜的硬體上一樣,Hadoop則透過在軟體層的高容錯性使大規模的分散式計算成為可能。Hadoop和上面提到的Lucene都是Doug Cutting的努力成果。
7. Android
Java的歸屬(Sun或者Oracle)爭論一直持續著。Google卻選擇用Java語言作為它十分流行的Android移動作業系統的程式語言。這個選擇在整個件研發人員的社群中引起了新的關注。Android 程式編譯過程比普通Java程式要多經過一個步驟,將JVM二進位制碼轉換成Dalvik二進位制碼。(Dalvik是專門為移動裝置最佳化的虛擬機器)Google 已經可以利用Eclipse 為軟體研發人員提供一個成熟的編寫Android應用的開發環境。
java的開源生態系統是強大而健康的,這是我們(Oreilly)建立OSCON Java(Open Source Convention Java)的主要原因之一。在過去10年中,一些專案已經被廣泛接受,並且已經統治了Java軟體開發世界,一些甚至影響到了使用者的日常生活。
Kent Beck先生關於Smalltalk的單元測試被Kent Beck 和Erich Gamma 帶進Java——JUnit。在這十年裡,JUnit帶來了測試驅動開發的普及浪潮。許多其它流行語言的單元測試版本也跟著被創造出來了,例如.NET、 C、Python、Perl。
2. Eclipse
剛進入20世紀,隨著Java和它的API的成熟,Eclipse IDE(整合開發環境)為程式設計師提供了一個幫助他們提高生產效率和融入到成長中的Java社群的環境。Eclipse也是第一個用SWT UI 工具包的大型專案。Eclipse已經逐步向成為一個普及的整合開發環境的目標發展。現在它為整合平臺外掛提供了豐富的基礎平臺。(SWT是SUN公司的 Swing的強勁競爭者,它證明了Java 程式也可以提供豐富的本地介面。
3. Spring
Spring 框架在提高Java開發人員的生產效率方面扮演著一個重要的角色。它維持了簡單和特點的平衡。Spring為Java開發人員提供了一套服務。這套服務提供了普遍使用的應用功能,例如資料訪問和事務管理。作為Sun公司的企業JavaBean系統的競爭者,Spring為Java應用創造出了另外一個可選的簡單的路徑,同時也創造出了一個Java應用開發思想上的健康競爭。
4. Solr
多年來,Solr伺服器(整合了Lucene搜尋引擎)已經為web和企業應用提供了一個簡單實用的搜尋功能的解決方案。Solr的特別之處在於它為強力和快速的Lucene搜尋庫提供了HTTP訪問,使它能夠成為任何系統的一部分,無論這系統是不是由Java實現。比其它專案好的地方,Solr已經使強力快速的搜尋成為現代Web應用的一個可選項。
5. Hudson and Jenkins
原名為Hudson,現在也叫Jenkins,這個持續整合工具是Java開發設定的關鍵部分。Jenkins為軟體專案提供了自動構建和測試。隨著 JUnit的測試持續整合,Jenkins在Java的平臺上是敏捷研發成為可能。雖然Hudson和Jenkins現在整合在一起,但並沒有偏離 Kohsuke Kawaguchi的努力,Kohsuke使它成為世界級的持續整合平臺,並提高了大部分Java研發的質量。
6. Hadoop
Hadoop是著名的MapReduce模型的Java實現。它的強壯使得最大多數的“大資料”系統成為可能。透過降低從巨大的資料集合中抽取有價值的資料的成本,Hadoop 已經被大量使用,如Facebook用它來做海量資料分析,Yahoo 的個人和廣告業務,還有很多其他的公司。就像Linux使大型網站能夠構建在便宜的硬體上一樣,Hadoop則透過在軟體層的高容錯性使大規模的分散式計算成為可能。Hadoop和上面提到的Lucene都是Doug Cutting的努力成果。
7. Android
Java的歸屬(Sun或者Oracle)爭論一直持續著。Google卻選擇用Java語言作為它十分流行的Android移動作業系統的程式語言。這個選擇在整個件研發人員的社群中引起了新的關注。Android 程式編譯過程比普通Java程式要多經過一個步驟,將JVM二進位制碼轉換成Dalvik二進位制碼。(Dalvik是專門為移動裝置最佳化的虛擬機器)Google 已經可以利用Eclipse 為軟體研發人員提供一個成熟的編寫Android應用的開發環境。
java的開源生態系統是強大而健康的,這是我們(Oreilly)建立OSCON Java(Open Source Convention Java)的主要原因之一。在過去10年中,一些專案已經被廣泛接受,並且已經統治了Java軟體開發世界,一些甚至影響到了使用者的日常生活。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29212814/viewspace-1272591/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 谷歌風投將改變醫療行業的7個專案谷歌行業
- 量子計算機改變世界的7大方式計算機
- 改變一個狀況不佳的專案組(轉)
- App改變世界APP
- AI Agent技術的最新進展與改變世界的典型專案巡禮AI
- 7 個改變我生活的 Git 小技巧Git
- 改變世界的17個公式:勾股定理、相對論公式
- 程式碼改變世界 | 如何封裝一個簡單的 Koa封裝
- 學習專題7 | 如何不再害怕改變
- 愚蠢軟體和改變世界
- 5個造福世界的開源專案
- 十個改變了計算機世界的演算法,你知道幾個?計算機演算法
- Basic語言誕生50週年:改變整個世界C語言
- IQTelecom:物聯網將改變整個世界(資訊圖)QT
- AI正在改變專案經理的工作方式AI
- 大資料改變世界的五種方式大資料
- Github改變開源世界的七種方法Github
- 改變世界的10大計算機病毒計算機
- 量子計算將如何改變世界?
- 資料資訊圖:App 改變世界APP
- 風變,用技術改變與世界的相處方式
- 關於一個java專案呼叫另一個java專案的心得Java
- 新專案管理——改變種群習性的努力(轉)專案管理
- Google X:改變世界的神祕實驗室Go
- 專案管理從改變團隊開始 (轉)專案管理
- 中國對AI的投資是如何加速改變世界的?AI
- 專案管理中7個重中之重的要素專案管理
- Linux:改變世界的一次程式碼提交Linux
- MIT 改變世界的 10 件事情:黑客文化的起源地MIT黑客
- 2018年區塊鏈技術將改變世界的5個方面區塊鏈
- 專案管理持續改進的九個方面(轉)專案管理
- 革命:鋰電池技術可能改變世界
- 資料世界正在發生變化要求資料領導者做出的三個關鍵改變
- 《演算法改變世界》描繪的場景重現演算法
- 將會改變未來IT世界的十種程式語言
- 改變未來世界的九種革命性技術
- 改變無法改變的Query 變數變數
- java 方法呼叫,形參改變,實參是否發生改變Java