V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
data2world
V2EX  ›  程序员

刚刚看到一篇《开发环境从 windows 到 Linux 攻略》,你们怎么又吵起来了呢?

  •  1
     
  •   data2world · 2018-06-12 14:10:03 +08:00 · 8386 次点击
    这是一个创建于 2382 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚刚看到一篇《开发环境从 windows 到 Linux 攻略》。人家贴主只是说了一下自己的开发环境,下面又开始吵了。win、linux、macOS 又开始争论不休了。。。来吗。其实吧,用什么都无可厚非,没必要自己用什么,就要去贬低另一个。比如我刚入行的时候,听别人说装 linux 吧,方便的很。我就装了( ubuntu 16.04 ),但是实在不喜欢桌面版的,用起来很难受。开发还好,娱乐真的可以吐槽了。所以我的主系统又变成 win 了。至于为什么不用 macOS,因为公司没发(哈哈哈),自己又要打游戏,所以自己也不会买。我现在的开发+娱乐操作系统是这样的:

    • 主系统:win10
    • 开发工具:IDEA (或 Pycharm )
    • 主要语言:Python ( anaconda )

    为什么使用 IDEA (或 Pycharm )?

    • 可以远程链接服务器,不再受操作环境的束缚。
    • 解释器也是服务器上的,而非本地的 win 解释器。
    • eclipse 也可以远程,但是没用过,暂且不表。

    综上,作为一个调参菜鸟。win+IDEA ((或 Pycharm )远程)既可以开发,又可以娱乐。美滋滋。

    59 条回复    2018-06-14 17:22:34 +08:00
    yanaraika
        1
    yanaraika  
       2018-06-12 14:17:11 +08:00 via Android
    做服务端、infra 的表示 Windows 是啥,真以为一个虚拟机能过滤掉所有平台脏东西
    menc
        2
    menc  
       2018-06-12 14:17:59 +08:00
    没毛病,pycharm 的 remote deployment 很舒服,ide 也自带了 remote terminal 可用,对程序员来说,一个 ssh shell 就足够了。
    data2world
        3
    data2world  
    OP
       2018-06-12 14:19:57 +08:00
    @yanaraika 对,所以得看自己做什么,各有各的好和不好。适合自己的才是最好的。
    streamo
        4
    streamo  
       2018-06-12 14:35:57 +08:00 via Android
    @yanaraika 不懂,有什么开发不能在虚拟机下做,求介绍。
    sinoairlc
        5
    sinoairlc  
       2018-06-12 15:03:03 +08:00
    不懂,有什么开发不能在虚拟机下做, 是预算太少电脑跑不动吗
    fy
        6
    fy  
       2018-06-12 15:09:51 +08:00
    其实吧,就环境问题而言,win10 wsl 解决 90%需求,vagrant 能解决剩下的 8%,如果非常有必要,虚拟机解决再剩下 2%。

    反过来,Linux/Mac 在娱乐问题上是真没有什么替代方案。
    yanaraika
        7
    yanaraika  
       2018-06-12 15:13:40 +08:00
    @streamo
    @sinoairlc
    所有涉及到大量中断、超高 io 的都不能在虚拟机下做,会有性能损失;具体包括 openvswitch + dpdk 做容器网络和 linux xdp 做 l4 proxy。另一个方面来说,对于一个足够复杂的系统,bug 数目是和系统规模成正比的,虚拟机额外的抽象常常会有 bug (遇到过很多个,和内核堆到一起在大流量就会出现),所以基本都是直接在 bare bone 上开发
    yanaraika
        8
    yanaraika  
       2018-06-12 15:15:04 +08:00
    @sinoairlc
    @streamo
    @fy

    如果就跑个几 k qps 的服务虚机是肯定够用的。一个判断标准是:如果你用 wsl 开发没有遇到过任何 bug,用 vagrant 没有遇到过瓶颈,那就接着用这些服务
    dikT
        9
    dikT  
       2018-06-12 15:21:05 +08:00
    wsl +10086
    fy
        10
    fy  
       2018-06-12 15:26:50 +08:00
    @yanaraika #8 是这样。不过通常情况下我们也不需要本地开发环境承受那么多压力,不然要内网测试服务器做什么。

    当然了,术业有专攻,还是要因地制宜选择最合适的体系。如果实在有必要,也不能说为了玩游戏我工作不做了吧。
    sinoairlc
        11
    sinoairlc  
       2018-06-12 15:28:07 +08:00
    @yanaraika 我觉得纠结工具的人都不会这么专业吧。。。专业的大佬们只会纠结代码之美。。。刚入行的小白才会纠结 OSX 和 WINDOWS 哪个好看。。。
    nekoyaki
        12
    nekoyaki  
       2018-06-12 15:29:54 +08:00   ❤️ 5
    我一般不乐意吵架,自己用自己的,但是看有些人的说法,翻来覆去说 linux 没啥娱乐方案、打不了游戏……
    我觉着吧,我有 switch、3ds 和 ps4,为什么非要盯着 windows 上那些游戏呢……?
    linux 肯定是不适合大部分用户的,这个没有疑议。可你们有些人能不能放我们小众用户一条生路啊,自己用自己的,别天天想着围剿我们好不好。
    duan602728596
        13
    duan602728596  
       2018-06-12 15:42:08 +08:00 via iPhone
    作为一个前端,我还是选择 mac 吧。
    之前用公司的 Thinkpad 研究 react-native,按照教程推荐的安卓模拟器,没一个好使的,折腾了一下午模拟器,代码没敲几行,磨灭了我学习的兴趣;用的 mac,包装完,运行,一口气不费劲。
    还有就是,之前 Windows 上下载 node-sass,从来就没成功过,在 mac 上居然成功了,太感动了......
    kingname
        14
    kingname  
       2018-06-12 16:01:00 +08:00
    @menc 社区版没有 remote deployment
    streamo
        15
    streamo  
       2018-06-12 16:44:18 +08:00 via Android
    @yanaraika 主要是性能原因的话可以理解。
    hjdtl
        16
    hjdtl  
       2018-06-12 16:49:45 +08:00
    @duan602728596 多半被墙了,翻墙试一下
    duan602728596
        17
    duan602728596  
       2018-06-12 17:02:21 +08:00 via iPhone
    @hjdtl 解决方案是配置环境变量,但是确实 mac 下不用配置了
    Muchisan
        18
    Muchisan  
       2018-06-12 17:06:09 +08:00   ❤️ 2
    我想发一篇:“刚刚看到一篇《刚刚看到一篇〈开发环境从 windows 到 Linux 攻略〉,你们怎么又吵起来了呢?》,你们怎么又换地方吵了呢”。
    mjikop1231
        19
    mjikop1231  
       2018-06-12 18:03:49 +08:00 via iPhone
    @fy #6 啥啊…… docker 只算 10%里貌似不太妥当?
    catror
        20
    catror  
       2018-06-12 18:13:56 +08:00 via Android   ❤️ 1
    我三个系统都用是不是异端?一台高配 windows 本,一台顶配 macbook pro,自己组了一台高性能的台式机装的 ubuntu16.04 ,所以现在三个系统都用。不过作为后台开发,写代码还是最喜欢用 linux,mac 次之,windows 次次之。
    asaxing
        21
    asaxing  
       2018-06-12 18:15:50 +08:00 via Android   ❤️ 3
    @catror 不是异端,是有钱人 /doge
    beaze
        22
    beaze  
       2018-06-12 19:47:53 +08:00   ❤️ 1
    @catror 不是异端, 你是土豪壕蠔譹儫
    catror
        23
    catror  
       2018-06-12 20:39:18 +08:00 via Android
    @asaxing @beaze 😂结果就是工作几年了没存到钱
    natforum
        24
    natforum  
       2018-06-12 20:45:42 +08:00
    windows+hackintosh 路过
    ren2881971
        25
    ren2881971  
       2018-06-12 20:49:12 +08:00
    fuck window server!
    crb912
        26
    crb912  
       2018-06-12 20:50:42 +08:00 via Android
    是因为我回复了下,所以吵起来了。到现在都没敢回,免得又吵翻天了。

    操作系统,爱用啥用啥,反正我是打算万年 ubuntu 了,不玩游戏,不用 qq,对 win 没啥依赖。
    tomychen
        27
    tomychen  
       2018-06-12 22:36:52 +08:00   ❤️ 2
    我看了第一个回复,就知道要吵了
    SimbaPeng
        28
    SimbaPeng  
       2018-06-12 22:41:01 +08:00 via Android
    爱用什么就用什么,吵这个跟吵语言一样无聊
    IvanLi127
        29
    IvanLi127  
       2018-06-12 22:53:14 +08:00 via Android   ❤️ 1
    @sinoairlc 可能你并不知道虚拟机能损失多少性能。
    feverzsj
        30
    feverzsj  
       2018-06-12 23:06:52 +08:00
    虚拟机有性能损失很正常,但是必然的趋势就是上云,而云端的裸机的价格仍然很贵,所以必须想办法用数量弥补性能,这是更高层次的设计需求
    tomychen
        31
    tomychen  
       2018-06-13 00:32:36 +08:00   ❤️ 4
    开发环境不应该是和测试和部署环境分开的么? 在虚拟环境下高 IO 高中断高并发的开发环境下,在当今 SSD 已经普及的前提情况下,如果还有瓶颈,这还是一台普通开发机能解决的问题吗?

    如果不是普通开发机能解决的问题,因为我觉得这个话题的点,应该是普通 PC,笔记本之类的环境而言吧

    如果是 那虚拟机有什么解决不了的,那么多虚拟机都支持多平台了,哪个平台跑不是跑?

    @catror 按说我比你还要异端点 哈哈
    sjmcefc2
        32
    sjmcefc2  
       2018-06-13 01:22:25 +08:00
    能写一篇从 linux 到 freebsd,我觉得那也很厉害。看着像,差别大。
    Miy4mori
        33
    Miy4mori  
       2018-06-13 01:44:59 +08:00
    @tomychen 非常赞同你的看法,如果要测性能我估计也轮不到普通开发机。
    Miy4mori
        34
    Miy4mori  
       2018-06-13 01:46:03 +08:00
    @duan602728596 windows-build-tools 了解一下,win 下折腾 node 必备。
    thedrwu
        35
    thedrwu  
       2018-06-13 02:01:11 +08:00 via Android
    @sinoairlc 不能在虚拟机下开发的比如 3D 图形(数据可视化、3D 游戏…)。如果不能直接驱动显卡,再怎么有耐心都能让你放弃。
    PythonAnswer
        36
    PythonAnswer  
       2018-06-13 02:52:48 +08:00
    linux 桌面办公硬伤

    1. 驱动麻烦, 比如 usb 无线网卡
    2. office 套件, vba 没有
    vegito2002
        37
    vegito2002  
       2018-06-13 04:51:43 +08:00
    有些人上网的目的就是吵架, 看看完了
    Bramblex2
        38
    Bramblex2  
       2018-06-13 06:44:32 +08:00 via iPhone
    我不是很懂… Linux 的问题就是没有游戏没有 office ?

    我用来写代码的工作机还需要能打打游戏,又不是会计你还要做财务报表吗?
    opengps
        39
    opengps  
       2018-06-13 08:26:06 +08:00
    题目中的“又”字把我逗乐了,我想到了那个能让社区火起来的段子~~~
    真没必要凑这个热闹,能解决问题的环境都是好环境!!
    riggzh
        40
    riggzh  
       2018-06-13 08:40:13 +08:00 via iPhone
    @crb912 我回一句竟然有人不用 qq 怕是又要吵起来,v 站有些人就是活少,啥都能吵,啥都要管
    riggzh
        41
    riggzh  
       2018-06-13 08:41:02 +08:00 via iPhone
    @crb912 每天最火的几个帖子永远是吵架的,( ̄▽ ̄)
    dychenyi
        42
    dychenyi  
       2018-06-13 09:23:53 +08:00
    我来说一句,我就是闲暇之余想打个游戏而已,你们都不游戏?那人生还有什么乐趣
    Anhedonia
        43
    Anhedonia  
       2018-06-13 09:42:27 +08:00 via iPhone
    @dychenyi 人家开发环境 为啥总能吵到打游戏上
    dychenyi
        44
    dychenyi  
       2018-06-13 09:46:07 +08:00
    @Anhedonia 很显然啊,什么系统可以愉快的游戏?你要说 xbox、ps 都可以游戏,linux、mac 也有游戏,那当我没说。
    fy
        45
    fy  
       2018-06-13 09:51:23 +08:00
    @mjikop1231 #19 和 vagrant 重合了呀,本地开发感觉 vagrant 更好用。当然 docker 有的时候解决的是另外的问题,那就不分 OS 都一样了。
    Anhedonia
        46
    Anhedonia  
       2018-06-13 11:03:41 +08:00 via iPhone
    @dychenyi 讨论的不是开发上的优劣么

    打游戏很明显不在干活范畴之内啊兄弟
    catror
        47
    catror  
       2018-06-13 11:41:31 +08:00 via Android
    @tomychen 因为你还用 freebsd 吗😂
    fuxiuyin
        48
    fuxiuyin  
       2018-06-13 13:23:45 +08:00 via iPhone
    做 windows 客户端的怎么说……(ー ー;)
    dychenyi
        49
    dychenyi  
       2018-06-13 15:28:34 +08:00
    @Anhedonia 哥们,当然知道是开发机。
    游戏只是一个例子,我其实想说有些应用离不开 win 平台而已。 并顺便嘲笑某些人捡了芝麻丢西瓜的人。
    什么专机专用,双系统,单 mac,单 linux 那是你乐意。本身就是自己的喜好。这贴最后就是爱好嘲讽贴。
    tomychen
        50
    tomychen  
       2018-06-13 17:10:28 +08:00
    @catror 正解...哈哈哈
    gamecreating
        51
    gamecreating  
       2018-06-13 17:13:28 +08:00
    windows 开发 linux 发布 一直这样...
    毕竟 visual studio 强大 没人反驳吧
    e9e499d78f
        52
    e9e499d78f  
       2018-06-13 17:19:47 +08:00
    wsl 太慢
    Torpedo
        53
    Torpedo  
       2018-06-13 18:49:17 +08:00
    @duan602728596 node-sass 不是下人家编译好的包吗?就是容易被墙,所以一般设置一个环境变量,用国内的镜像
    Torpedo
        54
    Torpedo  
       2018-06-13 18:50:05 +08:00
    @Muchisan 真的讽刺。一个帖子吵完,又来另一个帖子。
    xiangbohua
        55
    xiangbohua  
       2018-06-13 19:43:11 +08:00
    感觉还是用命令行逼格高:)
    duan602728596
        56
    duan602728596  
       2018-06-13 19:51:49 +08:00 via iPhone
    @Torpedo 对啊,windows 是这么干的,但是 mac 上就不是
    GoPHP
        57
    GoPHP  
       2018-06-13 19:53:34 +08:00
    实话说,用 Linux 的话需要一颗不怕折腾的心,如果想省心,windows 或者 mac os 都很好,但是为什么我不去用呢?
    首先,windows 很多地方很垃圾,现在除了打游戏基本上用不上了,
    其次,Mac OS 确实不错,对开发和设计友好,软件也丰富多了,相对来说,垃圾少点,但是太贵,黑苹果不感兴趣
    最后,没得选,还是用 Linux 吧,至少可以装个逼
    Muchisan
        58
    Muchisan  
       2018-06-14 10:00:01 +08:00
    @gamecreating Visual Studio 也不是做什么都适合吧,估计只有.net 程序员这么觉得
    gamecreating
        59
    gamecreating  
       2018-06-14 17:22:34 +08:00
    @Muchisan C/C++ .net 是什么
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5360 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:26 · PVG 15:26 · LAX 23:26 · JFK 02:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.