在我而言,Linux是比Windows好的多的軟件開發環境,其中Ubuntu是非常方便易用的Linux發行版。下面列出Ubuntu對于Windows的一些關鍵優點所在:
在Windows下面,隨著安裝的軟件越來越多,系統越來越笨重。不知道是不是Windows系統的特性,我安裝完常用軟件之后,還沒有進入開發環境,內存已經占用700M以上。在Linux下面基本不存在這樣的問題。
在Windows下面,我們要安裝一個軟件,例如Maven,需要:(1)到apache網站去下載Maven,(2)解壓或安裝,(3)設置環境變量,把Maven的可執行文件目錄加入到PATH環境變量,等等。如果Maven升級了,就要再一次重復上述過程。
在Linux下面,一切非常簡單:在終端窗口輸入sudo apt-get install
maven2,Ubuntu就會自動下載、安裝和配置Maven,自動把Maven的可執行文件目錄加入到PATH環境變量,完全不需要用戶的手動干預。
軟件升級也一樣簡單。首先輸入sudo apt-get update命令檢查Ubuntu軟件倉庫中是否有新版本的軟件,然后輸入sudo
apt-get upgrade就可以升級所有已經有新版本的軟件。升級完成就可以直接使用了。
對于習慣使用maven或ant等自動化構建軟件工具的程序員來說(恕我冒犯,我認為不使用這些工具的人根本稱不上Java開發人員),經常要在終
端窗口中重復輸入一些常用的命令,例如mvn clean install, /etc/init.d/tomcat6
restart等等。這時候,命令記憶就非常有用了。在Windows中,也有一定的命令記憶功能。當你在命令窗口下工作時,按向上箭頭鍵可以顯示用戶輸
入的上一條命令,按向下箭頭鍵可以顯示用戶輸入的下一條命令,但也僅此而已。如果關閉了命令窗口,重新打開窗口這些記憶就完全丟失了。
在Linux下面則根本不同。Linux可以記憶至少數百條以前輸入的指令,關閉終端窗口之后也不會丟失記憶。更強悍的是,就算關機重啟之后,這些記憶仍然不會消失。仍然可以通過上下箭頭鍵找回以前輸入過的命令。
Linux下面另一個對開發者很貼心的功能就是命令補齊。在Ubuntu下面,你只要輸入命令/目錄/文件的部分名稱,然后按alt + /,Ubuntu會自動給你補齊剩下的部分。這樣我們可以少很多擊鍵。
Windows是病毒和木馬滋生的溫床,相對而言,Linux是一片凈土(不絕對,但相對于Windows來說,絕對是兩個數量級以上的免疫力)。我們不需要安裝殺毒軟件,因此CPU和內存占用更小,程序運行更快,不一而足。
- 其他優點還有很多,例如對iso文件的掛接可以直接通過命令行進行,不像Windows需要安裝專門的虛擬光驅軟件等。因為與軟件開發關系不大,所以不再論述。
上面說的是Linux相對于Windows的優點。至于缺點,最主要的就是在Linux上面運行的軟件比Windows少得多。但是對于Java軟件開發來說,這不是一個大問題,因為:
例如Eclipse, NetBeans, Maven, Ant, JDK, Apache, PHP, MySQL, 等等。以及與開發間接相關的軟件FireFox, QQ, MSN, 等等。
- 即使沒有Linux版本,也有相同或相似功能的替代品。
例如IE可以用FireFox代替(剛好強迫實現了瀏覽器兼容性),迅雷可以用wget代替,Photoshop可以用GIMP代替(GIMP是免
費的,順便免除了成本的負擔——如果你購買正版Photoshop的話,或者免除了道德和法律的負擔——如果你使用盜版的Photoshop的話),等
等。
以后的系列文章,著重介紹在Ubuntu 9.04下Java開發環境和基礎設施的搭建。所有的內容都出自我們真實的軟件開發經驗,有相當的可行性和可靠性。如果大家在設置過程中有什么不明白的地方,歡迎隨時交流。