【高軟做業2】:Java IDE調研分析

一 序言

    隨着軟件項目開發需求的增多,擁有一款優秀的、順手的IDE(Integrated Development Environment)對程序員來講顯得格外重要。本文就Java程序開發,選擇了3款IDE來作調研分析,其中兩款比較有表明性的是:Eclipse、IntelliJ IDEA,另一款是我我的比較喜歡的輕量級編輯器:Sublime Text  3。下面是這些工具的下載地址:html

二 簡介

 1. Eclipse前端

  • Eclipse最初是由IBM公司開發的替代商業軟件Visual Age for Java的下一代IDE開發環境,2001年11月貢獻給開源社區,如今它由非營利軟件供應商聯盟Eclipse基金會(Eclipse Foundation)管理。
  • 從2006年起,Eclipse基金會每一年都會安排同步發佈(simultaneous release)。 每一個版本一般在6月份發佈,並在9月份(* .1),12月份(* .2)和3月份(* .3)發佈後續更新版本。在Neon(4.6)以前,每一個發行版在9月份(SR1)和次年2月份(SR2)發佈了兩個服務版本。

2. IntelliJ IDEAjava

  • IntelliJ IDEA是一種商業化銷售的Java集成開發環境(Integrated Development Environment,IDE)工具軟件,由JetBrains軟件公司(前稱爲IntelliJ)發展,提供Apache 2.0開放式受權的社區版本以及專有軟件的商業版本,開發者可選擇其所需來下載使用。
  • 最第一版於2001年1月時推出,當時是少數使用前階代碼瀏覽及代碼重構的Java集成開發環境之一。在2010年的Infoworld報告中,比較當時市面上的主流Java集成開發環境,包括:Eclipse、IntelliJ、NetBeans、JDeveloper,IntelliJ得到該媒體實測中的最高評比。

3. Sublime Textgit

  • Sublime Text 是一個代碼編輯器,由程序員Jon Skinner於2008年1月份所開發出來,它最初被設計爲一個具備豐富擴展功能的Vim。
  • Sublime Text 爲收費軟件,建議有能力的人付費使用,以支持開發者。不過不購買也能夠一直使用。

4. 版本發佈史程序員

    我從官網中獲取各IDE版本發佈歷史,統計在一張表上,因爲發佈規格不同,全部只用了數字代號來表示。以下:github

    從上表能夠看出:編程

  • Eclipse發佈比較穩定,每一年都會出一個版本(包括後序更新版本)。
  • IntelliJ IDEA出現的最先,前期發佈穩定,後期版本迭代很快。(我的以爲201五、201六、2018這3年發佈的版本號和發佈時間有點混亂,但官網就是這麼寫的)
  • Sublime Text出現的最晚,Sublime Text 2在2013年後就沒有更新,轉向了Sublime Text 3。其發佈的顯著特色就是:更新快!

三 比較

1. 使用前準備vim

    不像Eclipse和IntelliJ IDEA,Sublime Text 3初始是一個文本編輯器,要讓它變成Java IDE須要安裝些插件。教程可參考:https://blog.csdn.net/coderbean/article/details/50582624windows

2. 功能對比瀏覽器

    注:我並非這3款IDE的資深用戶,下面所列舉的功能只是基於我我的使用經驗所總結的,而事實上它們具有的功能要比我列舉的更全面。對於模糊不清的東西,我也儘可能去查閱資料和親自實踐來確保其正確性,即便是這樣,依舊會有錯誤的地方,請諒解。

    一樣是✔,但性能可能不同,這裏我不對各功能進行性能測試。(時間成本過高)

    從上表能夠看出:

  • 若是要開發中大型的Java項目(如:JavaWeb項目),仍是選擇像Eclipse、IntelliJ IDEA這類重量級的IDE。Sublime Text 3雖然能夠經過安裝各種插件來構造一個IDE,但這過程過於繁瑣,並且構造好的IDE所具有的功能估計沒有上述兩款的全面。
  • Eclipse和IntelliJ IDEA的功能都很全面,看起來IntelliJ IDEA更勝一籌。「智能代碼」能夠幫助程序員寫出更加精簡和高效的代碼,而「代碼排版定製」能夠打造本身的代碼排版風格。

3. 佔用資源

    好多網友評價Eclipse太卡,而IntelliJ IDEA吃配置。有朋友回答:「IDEA使用的是內存空間,會把創建的索引都保存在內存中,而實際佔用的CPU少;Eclipse使用的內存空間少,但佔用的CPU多,這就是致使Eclipse比較卡的緣由。」

    這裏我列出這3款IDE在我電腦(Win10 )上運行時所佔用的CPU資源和內存資源。測試代碼就是:while (true) System.out.println("hello world!");我是讓3個IDE同時運行測試代碼,沒有排除其餘影響因素,並且測試也比較單一,因此測試結果並不嚴謹。能夠很容易看出,IntelliJ IDEA 果真很佔內存。

四 生態區

1. 用戶支持

    良好的用戶支持是促進IDE不斷更新和完善的重要條件(我本身說的)。用戶越多,軟件Bug被發現的概率就越大,進而加速軟件完善。此外,開發出的軟件被衆人確定和使用,這對開發者來講是極大的知足和鼓舞。如此一來,就會造成軟件迭代更新的良性循環。

    下面是我在網上搜索到的近期的一些統計數據(點擊圖片能夠查看詳細信息):

    從這些數據中,咱們能夠看到:

  • 對於Java開發來講,Eclipse和IntelliJ IDEA的支持度仍是很高的,而Sublime Text 我更傾向於把它定義爲文本編輯器。
  • 在中國使用Eclipse的開發者佔據更大的比重,多是由於種種緣由吧,好比:Eclipse開源且免費、項目組開發工具未更新、你們不肯跳出熟悉的環境去嘗試新事物等。
  • Sublime Text 雖然在Java開發方面不行,但使用者也不少,這說明也有適合它的開發項目,好比:前端開發。

2. 開發者社區

  • Eclipse 是開源項目,擁有龐大的開發者社區致力於項目與插件的開發,其中不乏專業的開發者社區,如:IBM developerWorksOracle Eclipse 開發人員中心,還有來自世界各地的開發者齊聚GitHub爲其貢獻本身的知識和才華(Eclipse GitHub)。
  • IntelliJ IDEA
    • 旗艦版:因爲旗艦版並不開源,開發者基本都是JetBrains公司的員工(JetBrains Product Support)。
    • 社區版:社區版是開源且免費的(只是功能不如旗艦版強大),除了JetBrains的員工外,還有來自各地的開源愛好者參與開發(JetBrains GitHub)。
  • Sublime Text 雖然不是開源的,但其社區卻是很活躍(衆多插件開發),如:官方論壇(Sublime Forum)SublimeText GitHub 等。

 五 結尾

1. 問:你第一次用這些軟件是何時?當時是怎麼獲得它們的?你如今還在使用它們嗎?

  • 第一次使用Eclipse是大一下學期,當時因爲課程須要,因此下載了該IDE(官網下載)。
  • 第一次使用Sublime Text是大二的時候,當時看到同窗在他的Mac上調出這個軟件,而後就被這個軟件的黑色主題和高亮語法吸引到了。因而我就去官網下載了(當時是ST2),順便找了個註冊碼。
  • 第一次使用IntelliJ IDEA是在大四實習期間,只是出於好奇下載來試試看。也是去官網下載了旗艦版,而後在網上找了序列號,不過如今過時了。
  • Eclipse和Sublime Text 我到如今還在使用,IntelliJ IDEA是在老師佈置了做業後去下載來玩玩的。

2. 問:你如何精通這些軟件?它們給你什麼好處?壞處?

  • Emmmmm.... 對於這些軟件的使用,我連熟悉都談不上,更不用說精通了。我只是個知足於實現目前需求的小白用戶。
  • 給個人好處,固然是爲我編程開發提供支持。全面而強大的功能幫我節省了沒必要要的時間,如:查看JDK源碼、查找/替換、調試代碼等。
  • 給個人壞處,「路徑依賴」,就是當人們熟悉了一種事物後,就很難跳出那個熟悉的環境去接觸新事物。我如今編輯基本都是vim模式,若是一個IDE不支持vim,我應該不會考慮使用它。正由於太依賴於vim,才致使我在百度搜索輸入錯字時,潛意識的就去按Esc,而後按daw。其實這就和你在和朋友QQ聊天時,時不時ctrl+s保存同樣。

3. 問:這類軟件再過10年、20年還會存在嗎,爲何?

  • 再過10年,我以爲還會存在的,由於人工敲代碼這種形式的編程還存在,因此IDE也會存在。
  • 再過20年,我不肯定。即便存在,編程形式和如今應該也有很大的不一樣。會不會在一些領域,咱們把全部可能的工做都模塊化,到時候直接配置便可?或者是人工智能編程?語義識別(語音編程)?

4. 問:面向將來,你以爲這些軟件還需作哪些改進?

  • 外觀,要符合程序員的審美主題;內在,功能強大、運行高效、靈活配置;能開源的儘可能開源
  • 結合人工智能、機器學習,打造個性化IDE。就像輸入法能夠把你經常使用的字詞放到前面,根據你的輸入習慣來猜想你要輸入的字同樣,若是一款IDE能夠採集用戶操做信息,進行分析,而後給出適合該用戶的反饋,變成該用戶的專屬IDE。
  • 配置信息線上同步。每次從新安裝軟件都要從新配置一遍,這樣很煩。能夠像衆多瀏覽器同樣,讓用戶登錄帳號,而後記錄用戶的配置信息(快捷鍵、插件等),等用戶換了一臺電腦,安裝該軟件後能夠立刻獲得同步。
相關文章
相關標籤/搜索