[討論] 關於Java開發OS推薦

作者: ripple0129 (perry tsai)   2018-11-23 22:26:20
先前推文推薦Java新人使用mac or linux開發
有人不認同
那我就在這邊好好闡述我的觀點吧
企業多數部署JVM的主機OS為Linux
而Linux使用的shell為bash shell為主
Mac OS本身也是直接內建bash shell
在操作部署上面可以無縫接軌
懂得寫shell script基本的自動化可以輕易達到
而當部署時對於linux上的理解就有其必要性
Mac OS本身為BSD改來的核心
同是UNIX系列在多數地方是大同小異
當你java問題狀況發生於系統層面
譬如說權限問題
你對於linux的權限管理就要有所了解
語系問題在linux上的locale你就要有所了解
最終你面對的是系統衍生的問題時
總是容易卡關
使用windows開發java的人
部署時面對是自己不熟悉的系統
處理起來自然綁手綁腳
對於平日就在用UNIX系OS的人
很快就能夠定位問題的原因
這在職場上面真的是看的出差距
至少就我在職場的認知
再來現在不少公司用docker了
你dockerfile要的也是sh指令
畢竟image八成是linux為底
最終導入docker的公司
你不了解shell根本沒辦法寫dockerfile
也只能請同事幫忙打包
Windows用慣的人
往往都要找熟悉linux來處理系統相關問題
當然你要在windows是部署JVM production 環境
我上面說的話就不成立了
不過拿windows來部署的企業看看有沒有1/10吧
Java架構師有不懂windows部署的
還沒看過不懂linux部署的啊
以上是我的觀點
如果有推薦java於windows上開發
好處大於UNIX系的
歡迎提出討論
作者: justben (BEN)   2018-11-23 22:31:00
我只有用過 Android Studio 在 Mac 慢到靠腰在win就還蠻快 也因為裝備比較好就是java ide 類 寧願用win, 有要用 shell script 還是 ulike
作者: abccbaandy (敏)   2018-11-23 22:40:00
java用途太廣,你說的是哪塊? web那塊用什麼都沒差吧
作者: pttworld (批踢踢世界)   2018-11-23 22:43:00
多數在UNIX
作者: atpx (秋雨的心情)   2018-11-23 22:45:00
桌機還是屌打NB, 如果只用一種開發工具當然不會覺得慢如果同時要開2-3種工具含VM, NB就出局了
作者: loadingN (sarsaparilla)   2018-11-23 22:49:00
zsh屌打bash bash是不是過氣了
作者: wildli0422 (wild)   2018-11-23 22:59:00
推一下,系統改用Mac以後開始被逼著學著下指令
作者: alog (A肉哥)   2018-11-23 23:17:00
你跳哪個系統都一樣都有權限問題噢,部署系統本身不論你用W或L陣營第一次也是都會有很多需要調整 包括如何調效系統都有我覺得用Mac的起來的感覺就是舒服 但是不會因為你用什麼作業系統你在處理什麼事就會變得容易理解平常還是要多做功課 多做研究
作者: alihue (wanda wanda)   2018-11-23 23:20:00
老實說應該要同事用什麼你就用什麼,沒得選
作者: alog (A肉哥)   2018-11-23 23:20:00
挑作業系統應以你的軟體生態、使用習慣來決定,讓你發揮出最大的產出
作者: alog (A肉哥)   2018-11-23 23:21:00
部署這種事 我講白一點 如果你只有windows server 可以部署同事對linux沒有你想像中的精通你一樣要從菜鳥開始弄起 因為你只是熟一部分的部署或設定方法
作者: alihue (wanda wanda)   2018-11-23 23:21:00
所有軟體都是為了更方便工作為目的
作者: alog (A肉哥)   2018-11-23 23:23:00
還有如果你的協力廠商的軟體跑在windows跑java你還是會乖乖給他放在上面跑
作者: jej (晃奶大馬桶)   2018-11-23 23:23:00
瞭解shell是一回事啦你一定沒有遇過公司要求你寫power script
作者: alog (A肉哥)   2018-11-23 23:24:00
所以你要用什麼作業系統做開發真的是個人自由 因為真的要上別人機器時 什麼樣的情況都有
作者: jej (晃奶大馬桶)   2018-11-23 23:24:00
也有的是公司用power script寫Jenkins docker
作者: alog (A肉哥)   2018-11-23 23:25:00
部署麻煩大家都必須經歷過的 但一次麻煩 第二次還是 第三次繼續這樣就是個人問題或沒再繼續精進了
作者: jej (晃奶大馬桶)   2018-11-23 23:25:00
只能說都要懂啦
作者: alog (A肉哥)   2018-11-23 23:26:00
那些不會是你用什麼系統開發就會免除的 mac 只是運作類似 *nix like的東西 不代表你就不用做其他功課 也沒有這麼神精準找到問題
作者: csieflyman (風之驕子)   2018-11-23 23:53:00
前公司產品跨平台及資料庫 平時公司內開發測試都是linux server 但實際客戶平台大多是windows server + sqlserver 結果同事都用mac或linux是怎樣... 只有我用windows 撰寫及測試部署腳本 還要研究windows防火牆 AD認證...等一堆東西linux 平台我也要弄 script 要寫二份 開發及安裝測試也要二次 如果那時就有docker就好了
作者: AvatarH (Avatar Hsieh)   2018-11-24 00:08:00
Windows也有Bash Shell和Xshell,SSH到Linux就好了,為何一定要MAC? VMware+Vagrant也可以開發Linux下的系統啊!
作者: alihue (wanda wanda)   2018-11-24 00:10:00
嗯,現在win有linux subsystem了原原po連能不能跟上公司不被裁員,還想建議對方用更不熟的環境根本是害人
作者: YahooTaiwan (超可愛南西我老婆)   2018-11-24 00:19:00
你是不是沒待過以 Windows 系為主力的公司啊?言語中透露出滿滿的井底之蛙感
作者: qrtt1 (有些事,有時候。。。)   2018-11-24 00:23:00
新人就 java 不熟了,你又叫他用平常沒用過的 linux, osx這樣也太痛苦了吧。一個時間有一個主要的學習障礙就夠他受
作者: alihue (wanda wanda)   2018-11-24 00:25:00
我前面亂嘴IDE,結果你還真的發過IDE文
作者: hegemon (hegemon)   2018-11-24 11:29:00
用linux開發才是正解,同樣的價錢買筆電回來自己轉linux可以買到頂級了,看看macbook那啥鳥價錢
作者: jete   2018-11-24 12:14:00
用久了ubuntu覺得windows好難orz
作者: gpctv (gpctv)   2018-11-24 14:04:00
看標題我以為是用java寫一套OS
作者: jej (晃奶大馬桶)   2018-11-24 14:40:00
推jete 用Ubuntu後 到現在win10還搞不懂怎麼操作 囧
作者: angusyu (〒△〒)   2018-11-24 17:46:00
Ubuntu 桌面效能很爛,不是隨便tune一下就能媲美其他系統
作者: justben (BEN)   2018-11-24 20:52:00
左:ge62mvr Win10 中:Mbp2015 雙螢幕 右: Dell980 嗚幫兔一起用就沒差了 大家都是好捧油
作者: sharku (明珠求瑕)   2018-11-25 13:01:00
贊同, 覺得macbook不行表示還買太低階
作者: THEWORLDS (天下)   2018-11-25 13:10:00
真可愛 標題跟內文完全沒中點連結全球95%都是用LINUX在線上跑 但是大概70%都是跑WIN系統所以最簡單的方式是在WIN寫扣然後再LINUX上跑CODE這個業界普遍在用的方案連題都沒題還敢自稱推見喔還有LINUX普遍快的原因是因為內核基礎系統api較少
作者: alan3100 (BOSS)   2018-11-25 17:06:00
可是我覺得CICD和container大幅降低碼農OS知識門檻耶
作者: fayhong (恰似飛鴻踏雪泥)   2018-11-26 10:48:00
其實你這論點拿去 9 成 9 的語言都成立吧,除了是開發C#、WinForm、Win SDK 等 Windows 相關應用的人,非得使使用 C#、VisualC++、VB.Net、ASP.Net 的人以外,現在連 M$ 買下的 R,都有 Linux 版的 RStudio 了我在 Linux 跟 Windows 上都能開發 Java,如果我在開發時還要搞定權限設定問題,那只有一個可能,就是架構設計一開始抽象化就做得不好,讓寫程式的人要去煩惱底層的問題即使在 Linux 上,現在也能寫一些 C#、F# 之類的程式了,其實用什麼系統真的不是那麼重要,順手就好了另一方面,Objective-C 之於 macOS 也是如此可能是我們團隊維運跟開發分得比較開,我們的架構還真沒讓開發人員花太多力氣在處理跟系統相關的 issue 上
作者: superpandal   2018-12-01 11:40:00
哪裡都馬有權限 看做到哪裡而已 程序外還是程序內內外都有那更好拉看本質就是這樣而已...

Links booklink

Contact Us: admin [ a t ] ucptt.com