-
1 # 日衝資訊 黃
-
2 # 散居獵人
取決於目標軟體執行環境。
如果開發win32或win64軟體,就在windows環境下開發。
如果開發linux軟體,就在linux環境下開發。
也可以用虛擬環境在windows下開發linux或安卓app等。
絕大多數程式設計師還是在windows7下開發應用軟體。
-
3 # 枝枝葉葉
網際網路 伺服器 大多數用 linux,linux 是開源免費的作業系統,做伺服器,其效能,以及軟體生態,比windows 更合適
-
4 # 樂百川
這個問題其實是偽命題,因為雖然網路上使用linux的使用者發出的聲音更大,但是毫無疑問,還是使用windows的程式設計師更多。只不過使用windows的程式設計師一般都沒什麼必要討論windows的使用方法,畢竟大家都會。
當然有一說一,linux的優勢就在於包管理器可以很方便的安裝程式設計所需的各種sdk,而且會自動配置環境變數。通過使用者目錄下的一些配置檔案可以比較方便的遷移開發環境,這一點確實是windows做不到的。
但是其實吧,這個問題也不是那麼重要。因為一般情況下程式設計師的開發環境變動的並不是很大。你搭建好一個java8的開發環境,可能好幾年都不用換了。
就我個人而言,linux下的docker等工具,才是更吸引我的地方。這也是linux上獨有而windows上沒有的功能。也是我使用windows程式設計的一個痛點。好在現在vmware等虛擬化軟體也支援hyperv了,大家可以在使用vmware的時候同時使用windows版的docker,也是算是一個小小的補償吧。
-
5 # 只說程式碼的大餅
首先,說下這幾年自己使用過的開發工具,
1.VS2010 到現在的VS2019.。
2.IntelliJ IDEA。
3.Android Studio。
4.VSCode。
以上這些工具都是在Win10下使用的,感覺也沒什麼問題,編譯好的專案也沒發現過因為是win下編譯的而出現問題。
最後,最近幾年流行docker部署應用,一次打包,多處執行。不管是Linux還是win10現在都可以使用docker打包應用程式。
總結:
身邊還真的沒有使用Linux下程式設計的,但有在虛擬機器裡寫程式碼的。
還有就是現在都流行程式在docker裡跑,把程式打包成映象就能在不同系統環境下跑 了,關係型資料庫可能還是不太適合在docker裡跑,一般可能還是在linux作業系統下 直接執行,所以並沒有像你說的程式設計師都在Linux下程式設計的問題,反而使用Windows或 者mac開發的程式設計師更多,大廠有可能是在Linux下開發 。
-
6 # Sean段
Linux和Windows實際上不是環境而是作業系統,除了這兩個以外,還有蘋果電腦支援的macOS,當然這只是指電腦的作業系統,畢竟目前程式設計師主要還是使用電腦來程式設計的,雖然iPad作為程式設計工具現在也是可行的。實際上,現在很多程式設計師會喜歡用macOS來,不過喜歡使用哪個作業系統來用作程式設計用電腦的作業系統還是主要取決於幾個方面。
IDE的支援IDE實際上才是開發環境,Windows作為主流的作業系統IDE支援肯定是最全的,除了iOS App開發環境XCode不支援外,其他程式語言基本都能支援,而且因為比較大的使用者量,所以面對Windows作業系統開發的IDE還是比較完善的,而且基本都有不錯的使用者介面。
對於Linux來說,因為原本就是一個來自開源社群的作業系統,所以本身就自帶了很多開發工具。但是因為Linux的使用者介面沒有Windows那麼成熟,所以有些IDE介面上來說並不是那麼好,不過功能來說還是差不多的,而且來自開源社群的開發力量可以讓Linux很多技術支援比較前沿,IDE也同樣道理。不過沒有大廠的背景,所以對於Windows應用或者Mac/iOS App的開發支援會相對弱一點。
順便也說一下macOS,現在因為iPhone的崛起,所以蘋果電腦作為開發用電腦開始逐步普遍起來了,所以基本上主流開發語言都能在macOS上找到相應的IDE,到時對於Windows軟體的開發可能支援就沒有Windows好了,比如.Net Framework等等。
IDE支援來說三個作業系統都不錯,不過也有各自的短板,基本算是打平吧。
Windows來說,如果開發的是Windows軟體的話,無容置疑是最一致的作業系統,不過目前更多的應用是在移動端或者伺服器端,也就是說Windows作為模擬環境並不是那麼的一致。而且,作為伺服器來說,Windows還是和Linux有一定差距。
Linux這點上就比較有優勢了,基本不同Linux版本佔據了80%以上的伺服器市場,所以使用Linux來開發伺服器端的應用大概率來說是和釋出環境是類似的。但是,對於App或者軟體前端的開發,Linux的支援就比較差一點了,畢竟Windows和macOS有更大的普通使用者基礎,這樣開發的應用主要還是在這兩個平臺上的。Android是一個Linux核心的系統,但是Android的應用是在Java虛擬機器上執行的,所以三個作業系統的支援都差不多。
與釋出環境的一致性來說,伺服器端開發Linux是有絕對優勢的,其他就不同平臺有不同平臺的優勢,所以Linux在這點上略勝一籌。
其他軟體支援程式設計不單單隻有開發環境支援,還需要其他軟體的支援,對於這點來說Windows作為佔有率最高的作業系統,軟體支援還是非常好的,基本上能找到任何想要的軟體,尤其是想Adobe全家桶之類的軟體。
macOS因為最近一段時間的崛起,很多軟體都能有mac版,不過Mac版軟體的使用成本比較高,比較難找到破解版軟體,絕大開發相關的正版軟體收費都不便宜的。
對於其他軟體支援來說,Linux支援相對比較弱一點,Windows和macOS應該不相伯仲。
硬體支援硬體支援主要是指電腦和其他裝置。Windows這點上因為已經有那麼長的發展歷史了,基本電腦都能支援Windows,就是是蘋果也能安裝Windows,那麼這樣購買開發用電腦的時候就比較靈活,而且能更好的控制成本。對於其他裝置的支援,Windows的驅動支援還是不錯的,不過要更深一層的控制其他裝置可能就比較困難了。
Linux在發展初期就是以替換Windows為目標的,所以基本Windows的能用的電腦,Linux都能用,不過對於一些開發相關的裝置驅動比較難找,不過開發者功力夠的話,Linux核心開源的特性可以讓開發者更容易開發底層驅動。
macOS電腦要求就比較高了,雖然現在有很多黑蘋果電腦出現,不過畢竟還是在Apple電腦上比較穩定,所以成本就相對高了。對於其他裝置的支援,Apple電腦支援也不是那麼好。
總結實際通過幾個方面的比較,整體來說對於高手來說Linux的確會有非常大的靈活性,但是普遍的開發者來說,三個作業系統差別不大,只能說蘿蔔青菜各有所好了。
而且因為Linux一般不是開箱即可用,所以選擇使用Linux作為日常工作開發作業系統還是比較少的。
-
7 # 晨曦之星77206556
也就是開發ios的是必須在mac上吧,其他一部分開發人員用的是mac,更多的還是windows,至於linux。。。。。通常是當伺服器的吧,伺服器一般都裝精簡版,就是沒有圖形介面,完全命令列。。。。。全命令列用個毛線的ide啊。。。。而且郵件文件很多還得靠傳統的那些軟體,linux下的openoffice感覺也不怎麼好用。。。。。
-
8 # rwxd
工業平臺有幾個Linux能執行的?我們使用Linux開發的東西最後都部署到Windows伺服器上了。沒辦法,廠家要求的。而且進口掃碼槍之類的,內部是西歐編碼,除了Windows,UTF-8下根本不識別。我們能怎樣
-
9 # 一個會運營的技術
主要是c++的編譯問題,大多數情況下,linux的c++的編譯環境配置可以節省時間,你非要在Windows上搞也沒問題,就是配置環境太費時間。並不是絕對的,安卓的ndk基本在windows上不用配置,補充一句macos和Linux從編譯上來講是基本算是兩回事了。
-
10 # 杯水斗量
主要考慮程式是為Linux寫的還是為Windows寫的。Windows很少用作伺服器的Linux更多用於伺服器端。Windows客戶端程式開發一般變動的不多,而伺服器端會有各種程式的開發。所以,考慮更多的是Linux環境
-
11 # LegendaryMK
看你幹什麼,做出來的軟體是要在什麼平臺下執行,跟用什麼系統做軟體無關。安卓兩個平臺都行,但如果牽扯到ndk,建議還是在linux下開發,win下面debug有各種問題。如果是c++,那看你的目標程式是要在win下還是linux下執行。如果是網頁前端,那還是在win下面吧,畢竟用的多的是ie,chrome,firefox。如果是後端,那最好linux,在穩定性和速度上都比win好一些,系統維護上面linux也方便些。
-
12 # 托馬斯的爸爸
一個優秀的程式設計師,用什麼平臺都是一樣的。現在微軟已經打通了平臺,為全平臺提供開發者工具。Linux已經成了windows的一部分,所以除了mac開發,其它開發都可以用windows
-
13 # 程式設計師葉子
這是由目標程式環境和人員使用習慣決定的。
很多後臺程式或者說服務端開發喜歡在linux環境開發,開發環境和目標釋出環境一致,減少中間環節,而且是開源,免費,執行流暢,專注,使用習慣了。
但同樣,也有更多的人喜歡在windows環境下開發,除了gui操作方便順暢,各類軟體多,遊戲多,硬體驅動支援的好外,同樣也是使用習慣了,很多人一開始就在用windows,習慣成自然,現在如go語言之類還可以跨平臺編譯,vs都內嵌了ssh工具,docker的必備,特別是我們常用的java大部分無需考慮平臺特性的特點,實際上我周圍開發的人還沒有一個人在用非windows,少量有人用mac是為了蘋果端的開發。
現階段環境下,用哪種開發環境已經不是屏障了,主要就是使用習慣決定的。
回覆列表
程式設計環境的選擇主要要考慮這樣幾個因素:
使用者的需求:所使用的程式設計環境應儘量接近實際的執行環境。如實際的作業系統是LINUX則應在相同的LINUX環境下進行程式設計,至少應保證核心版本和實際的需求相一致。還有一個重要的因素是地域和時間,這些設定也應跟實際的執行環境相一致。否則,在程式設計過程中程式設計師無法發現諸如亂碼、相容性之類的問題,影響程式質量。開發成本:作業系統、編譯器、模擬器等等,都有版權和許可的要求。這一點在WINDOWS環境、XOS環境中很常見。一些軟體如MSDN(VS)要按每個使用者每個CPU收費。比如,一個30人左右的團隊,每年更新MSDN服務的費用可高達二十多萬,如果用高階的服務費用還會更高。LINUX環境一般對開發來說是免費的,但也有一些應用和服務會收費,如QT。在網際網路開發中,JAVA、Python這些語言都做到了跨平臺執行。因此在選擇程式設計環境是自由度會大一些,但同時也提升了測試的成本。一是要準備多種平臺進行測試,增加了環境準備的費用。二是要在不同平臺上反覆測試,增加了測試的工作量。
總之,開發平臺並非是按照程式設計師的喜好進行選擇的,開發過程中程式設計師往往是人在江湖身不由己,被選擇是用LINUX還是WINDOWS。