個人工程實踐有關編譯工程。下面我就市面上經常使用的三款java開發工具進行調研分析。
javascript
vs
vs
html
Eclipse:是一個開放源代碼的、基於Java的可擴展開發平臺。就其自己而言,它只是一個框架和一組服務,用於經過插件組件構建開發環境。java
幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發工具(Java Development Kit,JDK)。git
MyEclipse:是在eclipse 基礎上加上本身的插件開發而成的功能強大的企業級集成開發環境,主要用於Java、Java EE以及移動應用的開發。MyEclipse的程序員
功能很是強大,支持也十分普遍,尤爲是對各類開源產品的支持至關不錯。web
IntelliJ IDEA:是java編程語言開發的集成環境。IntelliJ在業界被公認爲最好的java開發工具之一,尤爲在智能代碼助手、代碼自動提示、重構、J2EE支持、sql
各種版本工具(git、svn等)、JUnit、CVS整合、代碼分析、 創新的GUI設計等方面的功能能夠說是超常的。IDEA是JetBrains公司的產品,這家公編程
司總部位於捷克共和國的首都布拉格,開發人員以嚴謹著稱的東歐程序員爲主。tomcat
三者安裝大小比較:框架
大小包括安裝包大小(或者安裝好之後佔硬盤大小)和佔內存大小。
eclipse安裝包大小50兆,但還要再安裝一個jdk,有180兆,合計200多兆。運行時佔內存通常1G如下。
myeclipse安裝包1.5G左右,它在eclipse基礎上增長了不少插件,運行時也能達到1.5G左右的內存。
idea的安裝包大小不大,500兆,也內置了jdk。可是運行內存就比較大了,通常須要2G+,沒有8G內存的電腦運行會吃力。
三者界面比較:
Eclipse:
Myeclipse:
IntelliJ IDEA
Eclipse和Myeclipse界面類似,Myeclipse是在Eclipse上面增長了一些集成插件。二者的界面較爲簡潔乾淨,但有時也會有簡陋感。
IntelliJ IDEA界面相對前二者來講模塊豐富,佈局協調。
三者功能對比:
eclipse自帶的插件不多,若是寫web項目,須要本身配置不少東西。對新手不夠友好。
myeclipse功能豐富,相比eclipse,對javaweb的支持要完善不少。能夠新建javaweb項目,不用配置,直接開始寫代碼;
自帶tomcat,不用本身再下載配置;jar包拖進web項目的lib文件夾自動buildpath,而eclipse都要手動。好處還有不少,
省去了不少配置,對新手友好。
idea比myeclipse功能更多,自帶更智能的代碼提示、嚴格的代碼檢查,自帶反編譯,對html、jsp、javascript、sql等多種代碼的
支持也更好。可是它的配置比eclipse還要麻煩,對新手比eclipse更加不友好。
三者市場佔用狀況:
沒辦法直接統計用戶數量,但咱們能夠從用戶的搜索量了解用戶數量。在百度指數上搜索"eclipse","myeclipse"和"idea"+"intellij"對比的結果
能夠看到eclipse的搜索指數在2016年和2017年飽和,大幅領先另外2個ide。而myeclipse在2017年搜索指數開始降低,idea則一直穩定增加,
在2017年超越了myeclipse,並可能在2018年超越eclipse。myeclipse用戶量降低的緣由多是它愈來愈大,致使的卡頓問題令人放棄使用的。
筆者原來用myeclipse的時候數次由於它的卡頓問題頭疼,最後一次也是實在找不到解決辦法了,就轉向idea了。
1.這些軟件的開發者是怎麼說服你(陌生人)成爲他們的用戶的?他們的目標都是盈利麼?他們的⽬標
都是賺取⽤戶的現金麼?仍是別的?
這種開發工具靠的是用戶體驗來贏取口碑吸引用戶。eclipse是開源軟件,目標不是盈利。Myclipse和IntelliJ IDEA收費。目標是盈利。賺取用戶的是現金
2.這些軟件是如何到你手裏的(郵購,下載,互相拷貝 、在線使用……)
官網下載
3.這些軟件有Bug 麼?⼜是如何更新新版本的?
有Bug。常常會出現版本不穩定,與其餘開發軟件不兼容問題。通常經過發佈插件,或者官網更新新版本解決。
4.此類軟件是何時開始出現的,同⼀類型的軟件之間是如何競爭的? 發展趨勢如何?
Eclipse最初是由IBM公司開發的替代商業軟件Visual Age for Java的下一代IDE開發環境,2001年11月貢獻給開源社區。
2001年1月發佈IntelliJ IDEA 1.0版本,同年七月發佈2.0,接下來基本每一年發佈一個版本(2003除外),固然每一年對各個版本都是一些升級。
發展趨勢是IntelliJ IDEA將會逐漸取代Eclipse和Myeclipse.
5.列舉你在使⽤上述軟件時觀察到的「特殊」現象,它們和硬件有什麼不一樣?這些能說明軟件的某些本質特
性麼?
當咱們在使用IDE進行編程的時候,咱們使用的都是高級語言,和硬件相距較遠,java爲解釋執行,雖然不會進行編譯,可是和硬件的聯繫也是存在的。
和以前的單片機不一樣,以前更爲底層的實現須要使用匯編語言,而高級語言理論上來講和彙編層是徹底隔離的,這是和硬件相比的一個差異。從這個角
度來講,軟件是將硬件功能封裝好,只需輸入簡單的指令便可讓硬件進行復雜的操做,而直接控制硬件時,所需輸入指令或者人工操控的話,也會更爲
複雜和繁冗。
軟件和硬件的區別:硬件是看得見、摸得着的物理部件或設備。在研製硬件產品時,人的創造性活動表如今把原材料轉變成有形的物理產品。而軟件產品
是以程序和文檔的形式存在,經過在計算機上運行來體現他的做用。在研製軟件產品的過程當中,人們的生產活動表如今要創造性地抽象出問題的求解模型,
而後根據求解模型寫出程序,最後通過調試、運行程序獲得求解問題的結果。硬件產品的成本構成中有形的物質佔了至關大的比重。就硬件產品生存週期
而言,成本構成中設計、生產環節佔絕大部分,而售後服務只佔少部分。軟件生產主要靠腦力勞動。軟件產品的成本構成中人力資源佔了至關大的比重。
軟件產品的生產成本主要在開發和研製。研製成功後,產品生產就簡單了,經過複製就能批量生產。
6.你個⼈第⼀次⽤此類軟件是何時,你當時是⼏年級,班主任叫什麼?在哪⾥,什麼狀態,當時的
軟件是如何獲得的(買的正版,盜版,下載?)
第一次使用是在大一的java實驗課,班主任是李老師。是在官網下載的
7.你是如何精通這類軟件的?它給你什麼好處,壞處?
首先的掌握基本的功能,好比如何建立項目,導入項目等等。而後經過熟練使用快捷鍵,加快開發速度。這類工具的精通使用沒有捷徑,只有
經過多用,多摸索。它可以讓我快速便捷地開發java軟件。
8.你如今還⽤它麼,或者是同類軟件的不一樣品牌,爲什麼?
如今還在用IntelliJ IDEA。IntelliJ IDEA目前來講仍是市面上功能最強大的一款java開發工具。
9.這種軟件再過10年,20年還會存在麼,爲何?
不會存在。java20年後存在不存在還很差說,更別提更新速度較快的java開發工具。