[讨论] 关于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