用了一段時間Ubuntu開發系統了,感覺也就那樣吧。甚至遇到一些諸如查單詞、發郵件、使用QQ討論、編輯文檔、看PDF文件等等等等情況時,Ubuntu還不如Windows還用。而且還遇到過兩次死機=。=

然後看了看大型的互聯網公司,他們都要求能熟練使用Linux系統做開發。這個是為什麼呢?我只知道Linux傳文件好像很快,感覺有點撿了芝麻丟了西瓜的感覺。大神們給解答解答疑問吧


1.題主提到:查單詞、發郵件、使用QQ討論、編輯文檔、看PDF文件等等等等。

其實,除了qq要用webqq,所以不那麼好用之外,查單詞發郵件沒啥問題,文檔可以用WPS,PDF更是有一大堆閱讀器可以選。

2.其實,也沒有必要全部開發都用linux,。譬如說你用Python、lua之類的腳本語言寫個腳本,或者用java這樣的跨平臺語言來開發一些程序,應該沒什麼問題,我之前的項目組裡,5個java開發沒有一個是會用linux的,linux的java運行環境和其他參數配置,都是linux運維負責的。

3.互聯網軟體開發是個很廣的概念,但是基於linux在伺服器領域的佔有率,大部分工作崗位是和linux相關的。

4.譬如你用c/cpp做開發,很多時候,如果用的是標準庫,那麼問題不大。但是也有很多時候,用的一些函數和API是平臺特有的,譬如說做網路開發的時候可能碰到的epoll之類的。這種東西,在Windows如何調試?

5.還有很多時候會調用系統的shell來幫忙完成一些任務,譬如說獲取機器的設備參數、IP地址、dns、內存之類。又或者是寫個shell腳本幫忙把很多個小程序粘合起來。這個在Windows也是沒辦法調試的。

6.更多的情況是,寫程序的不單單就是寫程序,可能還要自己搭建測試環境,裝個LNMP之類的。別說在Windows上不一樣,就是在debian和centos上也不一樣,centos6和7也有區別。

7.至於說熟悉linux,不僅僅是裝個瀏覽器、辦公軟體之類的吧,更多的是熟悉linux的shell、熟悉linux的許可權管理機制、熟悉linux的進程、線程、網路通信等與Windows的差異。譬如說,有時候調用iptables做一些網路轉發和過濾,或者用awk和sed做一些字元串和文本的處理工作來減輕工作量,這時候,熟悉linux的作用就體現出來了。

應該還有許多吧,留給大神補充吧。

這些解惑的問題,實在沒那麼多精力


老生常談的問題

1:保護費。稍微正規一點的企業都會特別注意這個問題的,不然一封律師函過來,就要準備賠錢了。就按小公司幾十個人算,幾十套windows也是一筆錢啊!要記得郭德綱說的,同行纔是冤家。不過憑良心說,要是你自己寫的軟體別人用盜版,你會怎麼想?

2:互聯網程序,也就是web項目咯,可以說沒理由運行在windows上。又要說到保護費的問題了。伺服器用的東西,保護費更貴。動輒按CPU個數或者CPU內核數收費。當然你小打小鬧沒人管,稍微一上規模,來,賠錢吧。說完保護費,還得說說運維的事兒呢。至少我個人是討厭遠程桌面的。我也不是很能理解windows server的運維工作的。

3:兼容性問題。理論上講,比如java、php這些語言,是可以跨平臺運行的,但是保不齊啊保不齊,哪裡就出點什麼幺蛾子。所以直接笨辦法來保證盡量不出錯,那就是開發的時候就直接在同樣的操作系統下進行。

4:聊不聊QQ真不打緊。即時通訊軟體多得是,非要用QQ才能說話了?正規點的項目,要上QA管理的,有問題上系統去提,誰的鍋誰來回復。以前我呆的一個公司還基於openfire搭建了自己的即時通訊系統,QA上扯不清的,直接上自己的聊天軟體撕逼,撕不清楚就打skype繼續撕。

5:至於說用ubuntu死機,我也不知道你說的是什麼情況。如果只是Xserver死了,重啟一下Xserver就好了。只是跑個eclipse刷代碼,也斷不至於隨便就把Xserver給跑死了。
centos不用交錢啊大哥。換做用windows一年得給微軟多少保護費啊大哥。

是吧大哥。


我已經用ubuntu兩年了 ,成功的戒掉了紅警3!家裡的公司的全部是ubuntu,我覺得非常好,開機很快,做開發工具很多,運行穩定,不會藍屏,死機。組裝個2K主機用起來像1W的快感,系統永遠是正版!

你的問題是,ubuntu死機,是你沒用專用驅動導致死機。
主要還是因為程序是要跑在linux上的,你更加的瞭解linux當然能更好的在這個平臺上開發應用了,你覺得你的程序都是跑在linux上的,但是你一直用windows開發,這個不有點坑麼.我覺得linux桌面還行吧,主要的軟體還能找到解決方案.主要是運行的效率挺高的.主要的開發環境也都有,就是有時候配置一個東西比較麻煩,但是都能找到完整的教程,這個還是很好的.
因為互聯網公司的項目多跑在linux伺服器上
因為這些程序將來是要運行在linux上的,你在windows下怎麼開發?難道在windows下寫好再到linux下測試?太麻煩了吧
推薦閱讀:
相關文章