當前位置:
係統粉 >
電腦問答 >
其他問答 > 對程序員來說,為什麼Linux係統比Windows係統更好?
對程序員來說,為什麼Linux係統比Windows係統更好?
提問者:tiancaiycl | 瀏覽 次 | 提問時間:2017-05-17 | 回答數量:10
已有10條答案
kinglovechina
回答數:166 | 被采納數:144
2017-05-17 13:56:05
對於程序員來說,最好的工具就是能夠提升效率,能夠偷懶。軟件安裝windows是麵向普通用戶,因此所有安裝都是依靠鼠標拖拽式安裝,例如安裝vscode編輯器,我需要下麵幾步打開瀏覽器打開vscode官網點擊下載下載完畢後,雙擊安裝看似上麵幾步也不是很慢。沒有對比就沒有傷害。Linux係統下是這樣1.wget 下載地址 && sudo dpkg -i vscode.deb就這樣好了。道理很簡單,原本一步能做完的事絕不弄成三步做。程序員為了偷懶已經傷心病狂
Shell其實windows也是有命令行工具,為什麼總是被人吐槽呢?因為實在太醜了,PowerShell還算勉強好點。但是Linux的Shell才是最強大,上至一句話幹掉係統 sudo rm -rf /*,下至scp -r。你可以擁有整個係統最高權限。windows為了安全,很多細節你不能把控。連個包管理器也很難用。利用Shell我們可以做很多自動化的工作,自動化一鍵大包項目上傳服務器部署。一個終端窗口解決你所有工作問題。
生態在服務器領域Linux處於龍頭地位。不管是Docker還是機器學習框架Tensorflow,都是先基於Linux環境。因為他們對Linux兼容性好,安裝時不會出現各種莫名其妙的問題。減少了解決問題的成本。
源代碼開放,可自由修改對於程序員來說,源代碼開放的產品是毫無保留,連“內褲”都為你展現的產品……在此基礎上更進一步的是,Linux操作係統不僅源代碼開放,而且可以自由地執行、複製、再發行、修改、強化。通俗點來說,就是人家不但家底給你看,免費給你用,還允許你自由地“揉捏”——就這條件,就算你拿一個團的美女去誘惑程序員,他也舍不得丟掉 Linux 呀!
專業性強,安全性高,性能穩定專業性
與 Windows 不同的是,Linux 是為程序員而生的。甚至可以這麼說,沒有程序員就沒有 Linux。在全世界程序員的共同努力下, Linux 擁有了眾多專業級的調試工具,開發工具,安全工具,編程工具……
但如果要比供普通人群使用的軟件,Linux 與 Windows 較勁可就小巫見大巫了:Windows 上有數量龐大的各類遊戲,各類播放器,各類聊天工具,各類瀏覽器,Linux 上卻隻有可以用手指頭數得清的 ……
安全性
Linux 是一個典型的多用戶多任務操作係統,除了 root 這個超級用戶以及授權用戶外,每個用戶都隻能對自己的文件進行操作,不可以輕易刪除、修改其他用戶的文件。形象點來說,就是 A 用戶已經把自己搞得灰頭土臉、片甲不留了,B 用戶仍然可以悠哉遊哉地喝茶看報。
性能穩定
關於 Linux 性能的穩定性,用數據來說話更有表現力。在穩定性要求較高的服務器上,Linux 和 Unix 幾乎一統天下,Windows 毫無招架之力。Linux 可以數月、數年的持續高效運行而無需重啟。
我是程序猿,不過不是什麼大牛,既不在git上有項目,也不是供職於BAT這種大企業,我覺得當今大部分程序員應該也和我的處境是一樣的,我自己的理解是1 linux免費 目前大部分的項目都是B/S類型的 那服務端不用linux用啥?用win麼?2 linux輕量 服務端的linux一般是命令行,沒有圖形化,這就比win好,有純命令行的win麼?沒有把?3 傳承問題 因為國內大部分服務器都是linux,所以你能在很多來源社區,論壇上麵找到很多linux的運維資料,這樣就形成了一個良性循環4 linux開源 不過這對於90%的程序員來說並沒什麼卵用,大部分程序猿(如鄙人) 並沒有多少機會,或者說目前這個階段還達不到修改底層源碼的水平,能真正接觸,甚至優化os內核的這樣的程序員畢竟是少數頂尖大牛,不過也就因為這樣,在少數的巨頭企業的帶動下,這種開源os成為大家掙相學習的對象,主要還是成熟,優秀且免費的東西,上哪找去?linux不火誰火?
我是做dba的,算運維吧,linux的運維成本要比windows低很多,最簡單的例子,linux很多變更操作是不用重啟的,pc重啟不算啥,服務器每次重啟我都有種死一會的感覺。此外linux由於開源,可使用的運維工具也多,出問題可分析的日誌,資料也多。windows比較封閉,隻有重啟大法。至於命令行,專業運維人員其實更鍾情於命令行是有原因的。因為一旦掌握了,你就可以隨心所欲了
為什麼!我認為用數據說話才好。如果真是那麼好,你手機為什麼不是Linux而是Android或者IOS。如果那麼好還有喬布斯的歲月!你別告訴我Linux多麼技術性,多麼底層之類的,這比較狗屁(這是有技術比較的)。一件明明幾分鍾可以搞定的事,去搞半天還在配置,這叫什麼效率。有盜版能輕而易舉做動畫,你在Linux上麵瞎折騰。然後說安全,所謂病毒木馬等少,這原本就是悖論,Android少不少,根本不少,因為一種不流行的東西根本不會有太多人去關注,WPS有破解版不嘛!無論常規技術吹得多麼牛逼,隻有流行,破解,漏洞等必然就多
幹了七年linux服務器開發了,感覺linux是側重點不同,它主要注意力集中在穩定和用戶自我靈活運用上,一般用它也主要是當服務器用。要說易用當然還是windows,交互體驗就是好啊,linux上寫代碼簡直蛋疼,別扯什麼自己配置ide各種功能都有什麼的,怎麼配都蛋疼,沒辦法時才會在linux上直接開發,在上麵操作如雨時也沒有感覺到自己很牛逼,隻感覺蛋疼。
工作中的技術選型會優先考慮linux,因為確實有很多優勢。選擇GUN/Linux的理由優點:1安全 - 幾乎不存在諸如病毒、間諜軟件、流氓軟件之類的問題。2易維護 - 請忘掉掃描病毒、磁盤碎片整理、清理注冊表以及頻繁的被要求重啟等等諸如此類的問題。3穩定 - GNU/Linux 是非常穩定的。 雖然個別應用程序可能會崩潰,但操作係統本身的崩潰是非常罕見的。(事實上一些非官方打包程序是較為不穩定的)4軟件自由/開源 - 您可以隨意的使用軟件。如果您願意的話,甚至可以自由地學習程序源代碼,修改程序以及任意的分享程序,而不用受製於所謂的用戶許可協議。(當然要在GPL或者其他開源許可協議的條件之下)5開放標準 - GNU/Linux 和運行在其上的應用程序,大多數都符合開放標準,這使得與其他平台的無縫兼容成為可能,並幫助您避免受製於一些廠商的限製。6社區 - GNU/Linux已經被形容為 "world wide team sport",由全世界的優秀程序員提供支持。7低成本 - 大多數 GNU/Linux 發行版是可以免費下載的,並且擁有大量的免費程序支持。此外,大多數 GUN/Linux 對硬件的要求較低,這意味著您並不需要頻繁的對硬件進行升級。8合法 - 人們可以合法並且免費的獲取一些高質量的軟件,這意味著我們並不必要去盜版或者使用盜版(當然這是非法的),也不會受製於一些利用壟斷地位而濫用市場支配手段的企業。(是不是該特指下微軟...)9透明公開 - 絕大多數 GNU/Linux 是開放開發的,使用公共郵件列表、公共IRC頻道、公共bug追蹤、公共新特性追蹤等等。10多樣選擇 - 在 Linux 的世界中,有很多不同的發行版本,有些由商業公司支持,有些則由非商業組織維護。這些不同的發行版本可以運行在不同類型的計算機上,比如手機、個人計算機甚至超級電腦。我們甚至可以根據自己的愛好和需要選擇不同的桌麵環境,以更好的完成我們的工作。11嚐新 - 或許僅僅是為了不斷的嚐試一些新的或者不同的東西,成為很多人最原始的動機。改用GUN/Linux的一些挑戰1從頭學起 - 您將會學習一個全新的不同的操作係統、很多新的程序,以及很多全新的名詞術語。 ——並且您需要 忘卻 在其他操作係統(如MS Windows)上學習的舊知識。2缺失的應用軟件和遊戲 - 您會失去一些熟知的應用程序,典型的如Microsoft Office、 Adobe Photoshop 和其他流行的大型主流遊戲。雙係統啟動、WINE或虛擬機會提供這問題的部分解決辦法。當然有很多可選的高質量 GNU/Linux 原生軟件值得用,後麵將介紹各種 GNU/Linux 下的應用軟件。3缺少硬件支持 - 絕大多數硬件是支持的,但不是全部——在購買新硬件組件前建議您研究一下兼容性 ——越新的和分布越少的組件,出問題的風險越大。4尋求幫助更難 - 通常朋友、家人、同事不能幫您解決 GNU/Linux 相關問題,所以您需要在線獲取幫助,這通常並不如您的朋友“現場”幫您解決那樣高效。
從來不會拿linux和windows比,也不會覺得linux比windows好。linux環境純,資源消耗少,非常適合做web服務器,體積小擴展性強。windows方便管理,也能做遊戲服務器,開幾個虛擬機想裝什麼都可以,擴展同樣很強大。總有人覺得linux比windows高大尚,因為開源 git什麼的,windows沒有嗎?C寫的在windows就不能運行嗎?他們唯一值得注意的區別是收費和不收費。
這個問題的主體說的是linux對程序員開發的好處,實際上和小編說的有比較大的偏差。首先,對於程序員而言開發環境首選是windows,絕大多數語言在windows下都可以進行編碼和編譯,如python、java甚至linux c,少數無法在windows下編譯的那個是極其小眾了,使用的人不多;其次,windows下程序員的開發效率是最高的,開發的本質就是看需求、看設計、寫代碼和測試,這離不開好用的輸入法、好用的office軟件、好用的IDE、好用的原型工具、項目管理工具、數據庫模型設計工具、UML工具、協作工具等等等,在windows下這些都支持的非常好,選擇很多,反觀linux就不一樣了,所以說開發不是單純的編碼,編碼隻是開發的一小部分工作而已;最後,linux有著其天然的有所,開源是一個,健壯性、穩定性是一個,很多第三方中間件或服務(如:openstack的產品係列)隻能在Linux下運行是一個,所以Linux很多時候是作為線上運行服務器或線下開發測試服務器使用。其實很多程序員都不懂Linux的,有的甚至基本命令都不知道,這很正常,現在的開發語言很多都是跨平台的,開發的時候隻要注意一些細節用什麼係統懂一樣。會用Linux的不一定是好程序員,反之不會用的也不一定不好,不過會用Linux的程序員一般都會幫助部署或者由研究過分布式和大數據的,整體上來說會linux的程序員相對來說會厲害一點。
gtalove2008
回答數:193 | 被采納數:35
2017-05-17 14:14:57
無意義的比較。本人不是程序員,喜歡臨時寫腳本偷懶,從win10遠程登陸到linux命令行上寫,或者win10開bash,有時在外應急,隻有安卓手機,也是遠程登陸linux命令行執行自己寫的工具處理任務,這些都是執行在linux環境下的,同時linux服務器執行效率比windows個人電腦快。但是,工作總得和各地的人交流,qq和微信,還是windows上方便,尤其是經常截圖後加點箭頭方框文字什麼的,即使linux上有wine版但不穩定,有截圖工具但後期加點標示不方便,還有內部的辦公係統,隻支持ie8,非常蛋疼。看個人實際需要,我是win和lin並用的。