在企業中從事後臺開發工作的程序員一般是在linux上寫代碼還是在windows上寫代碼?

郜素清


計科專業從事嵌入式軟件開發十幾年,代碼基本上都在linux下完成,剛入行前兩年代碼還在windows上寫,現在編程語言基本上都支持跨平臺,所以無論是在windows上或者linux上寫的代碼都能通用執行,所以編譯環境的沒有必要上綱上線大驚小怪,這些問題可能只是局外人或者剛入行的人會在乎在什麼環境下編程,選擇什麼操作系統編程主要和個人的使用習慣以及公司開發的項目有一定的關聯,真正的編程高手也不會太在意是在什麼系統上完成代碼的編寫。

程序員倒是一種非常奇怪的群體,最近部門有個人調試C語言的代碼習慣在eclipse來調試,為了能夠支持調試方便,每次在提交代碼的時候,都要進行兩次加工,畢竟eclipse建立的工程和直接在linux下用手動寫的makefile規則有一定差異,每次代碼提交的時候還需要折騰一段時間,但已經習慣於eclipse上調試代碼,而且效率還非常高,所以個人的編碼習慣非常重要,不要過分去追求什麼操作系統一定就是最厲害的之類的話語。

曾經有一段時間特別執迷於linux系統,直接公司電腦上來就安裝了linux,然後在linux裡面安裝個windows虛擬機,畢竟在linux不能完成所有的工作,比如淘寶買個東西,用網銀支付這些在linux上支持的不是很好,還有一些常見的軟件在linux下也很難找到,整體來講linux對於PC端的支持距離windows還是有非常大的差距,但並不意味著linux就沒有大多的市場,現在主流的服務器基本上都是linux,還有現在手機端操作系統基本上都是基於unix體系下構建出來的,linux操作系統使用人數並不比windows要少,算起來總量還會更多,至於對於程序員本身來講屬於蘿蔔青菜各有所愛。

寫代碼的本質是解決項目中遇到的實際問題,現在很多程序員屬於理想主義者,或者有什麼情懷整體來講,喜歡活在自己的世界裡,覺得技術就是神聖不可侵犯的,技術本身就是給產品或者項目服務,脫離開這個範疇的技術講變得毫無意義,延伸到設計編程工作中,很多程序員對於各種需求響應態度不是很積極,覺得都是用戶在改動需求都是不懂技術的一種表現,技術高手就是通過各種場景的技術攻關,提升在行業內的威望,程序員首先要有技術服務生活的意識,高的格局早就高的成就。

編程環境乃至編程語言都是圍繞編程思想服務,過多的糾纏於細節很容易讓技術困擾著自己的思想。應該來講從事後臺開發的技術人員涉及到的編程環境由個人喜好以及公司具體的要求息息相關,從本質上講沒有必要在編程的環境以及工具上較真,把精力放在編程核心上才是硬道理。

希望能幫到你。


大學生編程指南


我在BAT工作,我們公司默認是這樣的,校招/社招人員入職發放Mac機器,實習生入職配Windows機器。以上機器都是三年使用期,使用期到了之後可以更換,實習生的話繼續使用Windows,正式員工的話可以自由選擇Mac或者Windows。

根據我觀察,基本正式員工,無論什麼前端平臺開發還是後端開發,都是使用Mac。

上面很多人提到了說在Linux環境開發的代碼,編譯出來可以直接放到服務器上運行。

這倒不是我們喜歡使用Mac開發的原因。在大公司,為了安全規範與穩定性起見,通常是不會允許你在本地打包,然後本地上傳到服務器去部署的。因為不同的環境打出來的包是有差異的,有可能影響上線後的服務穩定性。舉個例子,一個正式員工剛剛換了一個新的電腦,本地打了個包,看起來沒啥問題,但是其實可能新電腦還有些配置沒有配全,這個正式員工忘記了,導致上線後這個war包根本不可用,甚至服務起不來,就會帶來不好的影響。因此,大公司都會有標準的流水線,程序員都是提交代碼後,通過流水線打包,從而保證包的穩定性的。

基於上面這種情況,基本上大部分的後臺開發,都不會挑剔代碼是寫在Linux還是Windows上的了,只不過考慮到Mac確實能覆蓋大部分場景,以及可以用來zhuangbility,因此還是用Mac的程序員居多。

最後補充一句,程序員在提交代碼之前,是需要自測的,因此還是要保證自己的電腦環境與代碼運行環境相匹配才好。

以上是我的個人淺見,如有想法,歡迎在下方與我溝通或給我點贊。

我是蘇蘇思量,來自BAT的Java開發工程師,每天分享科技類見聞,歡迎關注我,與我共同進步。


蘇蘇思量


在企業中從事後臺開發,一般用什麼操作系統,其實主要還是得看你在什麼企業、具體從事什麼崗位。

國內程序員大軍還是Windows最多

國內的碼農,基本上有80%以上還都是用Windows電腦進行開發,這主要有兩個原因。

  • 對中國碼農來說Windows是用戶習慣

跟美國深受Linux/Unix哲學影響不同,中國的程序員基本上都是在Windows環境下成長起來的,計算機進入中國市場的時候,基本上都是Windows電腦走入千家萬戶。

加上中國的計算機教育開始比較晚,Windows已經成了主流桌面系統,等到個人計算機開始普及的時候,我國基本上才有成熟的計算機教育體系,Windows電腦就順理成章成了主流。

國外的程序員則不一樣,尤其是發達國家,很多家庭很早就能買起個人電腦,幾乎每個家庭都有,即使是現在,國內計算機都沒有完全普及。國外的程序員成長起來伴隨的是Unix/Linux哲學,跟國內不一樣。

  • 對企業來說Windows電腦相對成本更低

問題來了,macOS成本又比較高,那麼就只能買Windows PC或者Linux PC,不會選擇Mac電腦,畢竟對於小企業來說,Mac的成本確實有點太高了。

而大部分在Windows環境下成長起來的中國程序員,還是會更多的選擇Windows,而不會選擇將自己的電腦換成Linux,畢竟玩命令行對於很多人來說難度太大,從頭學起成本餓又太高,除非必要,否則主力Windows系統。

大廠基本都是MacBook Pro

不過現在有個趨勢,在互聯網大廠,基本上都是MacBook Pro作為開發機,除非是有個人要求或者說特殊需求,比如有的會用Linux、有的會用Windows,或者根據自己的需求不得不用Windows等等,除此之外基本標配MacBook Pro作為主力開發機。

  • 那麼這些大廠包括哪些呢?

比如在Google基本上就是定製版的Ubuntu和macOS作為主要系統,Facebook大多數人都會使用MacBook Pro,年輕的一些Uber、snapchat、Instagram也大多會用MacBook Pro作為主流開發機。

國內比如阿里巴巴、騰訊、百度、字節跳動、小米、滴滴、美團、餓了麼、拼多多、蘑菇街等眾多的比較靠前的企業,辦公電腦也會有很大比例的MacBook Pro電腦,並且一般也都是高配15寸的作為主要開發機。


  • 為什麼大廠喜歡給員工配Mac電腦

總結起來其實就一句話:省心、高效!

macOS是FreeBSD親兒子,也就是說這貨是Unix,基於Unix意味著Unix/Linux眾多的工具拿來就可以用,什麼Emacs/Vim、各種shell等等簡直不要太方便。

而且能夠兼顧好日常使用和辦公,Windows寫代碼沒有macOS爽,Linux很難兼顧日常生活使用,macOS則是尋求了一個相對平衡。

最後就是穩定、高效,我用這麼多多年Mac,不用考慮關機、從來沒有過病毒、從來沒有出現過崩潰的問題,盒蓋即走、開蓋工作。一切都是為生產力工具而定義的。

當然Mac電腦還有很好的工藝設計水平,本身也可以算作一種員工福利。總之,目前來說Windows是主流,少部分Linux,大廠都基本標配MacBook Pro,我覺得一個程序員應該擁有一臺MacBook Pro,當然你說你是.NET除外,你說你忍不了蘋果居然沒有一個像樣的官方的包管理除外。


EmacserVimer


企業中搞後臺開發工作的程序員一般都是在linux上寫代碼的。原因嘛,一是企業沒錢,二是linux支持社區成熟。詳細來說是這樣滴:


一、linux大多數免費

企業嘛,當然是以盈利為目的。那麼使用的資產當然要選性價比高的或者完全就是免費的。比如程序員就可以選剛畢業的學生,便宜啊!

開發平臺選linux是因為很多linux的發行版都是免費的。像用過的suse linux,centos linux等都是免費的,不要錢的。公司要上哪個linux的發行版,直接在網上搜索與下載,快的很,也方便的很。

windows嘛畢竟是微軟耗時耗力開發出來的系統,可視化方面確實無人能比,封閉性又比較高。這麼好的系統微軟當然不會免費提供了。如果後臺使用windows開發,首先要購買正版windows服務器版,然後每年可能還要繳納維護費,一般企業誰受的了?

二、linux支持社區多

後臺開發使用linux後,程序員肯定也會遇到系統問題。不過你以為免費的系統就沒人維護嗎?大錯特錯!

linux是這麼的流行,吸引了全世界的眾多程序員來保護它、維護它、完善它。網上linux維護社區特別多,基本你遇到的系統問題在維護社區裡都能找到,根本不用擔心linux用不了的問題。


你看,免費的linux還有這麼人維護,誰還會用付費的win系統呢?


所以啊,後臺開發使用linux是主流。今後你想從事程序員工作的話,還是得多多在linux上練習才行。


C語言編程答疑


大多數企業應該是優先使用linux,就以我上班公司為例,除了qa設計之類跟代碼不相關的工作崗位一般都是用windows系統,跟開發相關的幾乎都是linux系統,原因無外乎以下幾點。

linux開源

linux是開源,使用linux是不需要付費的,相反windows系統企業使用的話,可能需要花錢購買。

命令行功能強大

其次,linux命令行功能極其強大,windows在這方面可能就遜色許多了,命令行功能強大,對於開發來說是一件極有幫助的事!linux下shell>

性能和安全

由於輕巧的架構,linux的運行速度比Windows 系統都要快。還有兩者權限設計有很大差別,Linux相較與windows權限多而且複雜,windows權限設計上過於簡單,這就導致linux安全性較windows高。

所以企業可能選擇linux的較多,對於開發人員來說,也習慣於使用linux!

不足之處,歡迎補充!


涼了個小秋


開發人員是基於Linux系統來寫代碼還是基於Windows系統來寫代碼,是需要區分場景的,不同種類的應用,開發環境是有一定要求的:

(1)、如果開發人員開發的是EXE程序,毫無疑問,開發是需要在Windows平臺上編寫代碼的;

(2)、如果開發人員開發的是iOS應用,必須在MacOS上寫代碼;

(3)、如果開發人員開發的是Android應用,可以在Windows系統或者Mac機上寫代碼;

(4)、開發Java應用,在Windows/Linux/MacOS上都可以寫代碼,但建議在Linux環境下寫代碼(雖說Java是跨平臺的,但也有一些代碼是平臺不兼容的);


以上,可以總結一下:如果開發的應用是針對特定平臺的,則需要在特定平臺上寫代碼;對於跨平臺類的應用,一般建議在和部署環境一致的開發環境中寫代碼,以此確保兼容性。


網絡圈


我是做python開發的,我們每個人都有一個linux開發服務器。代碼是寫在服務器上的。


無關腫痛


大部分在Windows...少部分在macOS.......Linux寫不了代碼...或者說Linux也就只能寫代碼...


ACME63610374577


我都是裝個虛擬機,然後把代碼全部拷貝到windows下用sourceinsight查看代碼找問題,然後回到虛擬機裡用gedit直接寫或者ctrl c/v,調試嘛一般printk或者printf就可以了!有沒有和我一樣的?為啥不專業,因為做的太多了,設計機械圖,電路原理圖,佈線,寫FPGA程序,還得調試硬件,上位機的qt界面也要做,有時候還得上simulink仿真優化算法,實在是沒時間研究那麼細,除了c和verilog好一點,別的都是用的時候語法都會忘,必須把以前的代碼打開看看,就像微信的小程序即開即用,用完即忘!


大樹NB


現在跨平臺趨勢下,mac無疑是最好的開發環境,因為unix like,而且又能提供完美的人機交互體驗,當然還有萬能的touch pad讓你擺脫鼠標,極大的提高coding效率。另外現在無論什麼語言,在Linux/unix這類環境下,無論是包管理,還是開發工具,版本管理,部署,都比windows環境友好得多得多。如果不是基於windows的桌面應用,我想現在應該沒有多少企業使用windows作為生產開發環境了。


分享到:


相關文章: