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

请教大家关于开发机器的两道问题

  •  
  •   levelworm · 2020-11-12 13:06:51 +08:00 · 3782 次点击
    这是一个创建于 1506 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我看到很多人买 Mac 做开发机,因为环境上贴近 Linux 。而 Windows 下做开发,很多时候需要 Linux,就只能用 WSL 或者 VM 。

    第一个问题是,为什么不直接用 Linux 机器呢?不好意思我纯粹是个编程爱好者,公司里头我用的也是 Windows 机器,写 SQL 和 Python,并没有觉得有什么不方便的,很可能我离开发还有一段距离吧。

    第二个问题,我目前在 Windows 下面用 VM 进 Linux 做自己业余项目的开发,请问 VirtualBox 这样的虚拟环境和 Mac 相比究竟差别有多大?

    48 条回复    2020-11-13 08:55:10 +08:00
    LokiSharp
        1
    LokiSharp  
       2020-11-12 13:15:39 +08:00 via iPhone   ❤️ 1
    不直接用 Linux 是因为菜或者穷
    不用 Windows 是因为配环境麻烦
    用 Mac 主要是 20k 以内的笔记本屏幕颜色能看的只有 MBP
    levelworm
        2
    levelworm  
    OP
       2020-11-12 13:23:43 +08:00 via Android
    @LokiSharp 求问笔记本颜色能看是什么意思?我倒是见过同事的机器,datagrip 的字体比较好,不过也就这样了。
    xuanbg
        3
    xuanbg  
       2020-11-12 13:24:04 +08:00   ❤️ 1
    反正对比 Windows,我只不过是更喜欢用 MBP 而已,和 Linux 有个毛线关系?
    eGlhb2Jhb2Jhbw
        4
    eGlhb2Jhb2Jhbw  
       2020-11-12 13:24:33 +08:00   ❤️ 1
    1. 可以用 Linux,但是想装个 office 或者 微信 就很麻烦,Linux 上 GUI 软件也比 Mac 少。
    2. 我没精力维护两套系统,毕竟虚拟机算一个单独的系统。
    levelworm
        5
    levelworm  
    OP
       2020-11-12 13:26:04 +08:00 via Android
    @eGlhb2Jhb2Jhbw 有道理,的确软件少。关于第二段,docker 如何?
    cz5424
        6
    cz5424  
       2020-11-12 13:30:51 +08:00 via iPhone
    Linux 装个微信耍耍,mac 的生态比较完善,可以满足工作和生活
    eGlhb2Jhb2Jhbw
        7
    eGlhb2Jhb2Jhbw  
       2020-11-12 13:33:51 +08:00   ❤️ 1
    @levelworm #5 先不说配置繁琐不繁琐,就虚拟机这个玩意,我是能不用就不用。毕竟不是 100%硬件利用率,总觉得亏了,哈哈哈。
    virusdefender
        8
    virusdefender  
       2020-11-12 13:36:14 +08:00
    Linux 桌面太难用,qq 微信 钉钉啥的也得折腾下才能装
    Mutoo
        9
    Mutoo  
       2020-11-12 13:37:16 +08:00
    刚入 macbook 的时候,心里就是把它当作漂亮的 linux desktop 来用。好处是主流的软件通常都会有 macOS 支持。
    laminux29
        10
    laminux29  
       2020-11-12 13:38:17 +08:00
    1.买 Mac 以及其他类似超高溢价的苹果产品,除了针对于苹果的特殊岗位必须之外,其他大部分是爱虚荣、要脸面,本质是贪图周围人的情绪价值。这种行为会导致其技术实力差或提升慢。大家可以观察一下,无论程序员,领导,还是各种女生,凡是有这类操作的,双商、经济、专业实力、社会地位、家族实力或人脉关系等方面,总有一样或几样,低于其他相同特质人的平均水平。


    2.对于正常开发,除了针对于苹果的特殊岗位之外,正常操作应该是,一台够用但至少四五个屏的台式机,以及一台支持 ESXi 的多核大内存垃圾佬拼装型小服务器,服务器上用 USB 接一台多磁盘位的磁盘阵列拿来备份。

    台式机只是一个多屏跳板,开发、测试、数据库等操作应该都在 ESXi 服务器上。这样无论你用 Windows 、Linux,无论你 VS IDE 还是 vim,无论是 SQL 还是 Python,无论是 MSServer 还是 Mysql,都能自如切换。而且虚拟化后,各种开箱即用式的环境,更能提高开发与测试速度。


    3.扫下盲,ESXi 是 VMware 公司的虚拟化产品,相当于一个操作系统,和 Windows 、Linux 出于同一个级别。一台裸服务器上装 ESXi 后,这台服务器就可以在 ESXi 上安装各种虚拟机。VMware 目前是地球上,虚拟化的领军公司。
    frandy
        11
    frandy  
       2020-11-12 13:39:59 +08:00
    已经转 linux 下开发办公 3 年多了,没用 mac 是因为穷
    mandex
        12
    mandex  
       2020-11-12 14:15:06 +08:00
    钱是公司出就买 Mac,钱是自己出就买 Windows
    datou
        13
    datou  
       2020-11-12 14:20:11 +08:00
    折腾 linux 桌面环境绝对是浪费时间浪费生命的事情....
    chaleaoch
        14
    chaleaoch  
       2020-11-12 14:21:56 +08:00   ❤️ 1
    第一个问题是,为什么不直接用 Linux 机器呢?(因为不好用)不好意思我纯粹是个编程爱好者,公司里头我用的也是 Windows 机器,写 SQL 和 Python,并没有觉得有什么不方便的(1. 有些包在 windows 下编译很困难,需要安装 vistualstudio,https://www.lfd.uci.edu/~gohlke/pythonlibs/ 具体可以参考这个链接. 2. 有些包在 windows 下压根就不支持你咋弄?),很可能我离开发还有一段距离吧。(也许吧)

    第二个问题,我目前在 Windows 下面用 VM 进 Linux 做自己业余项目的开发,请问 VirtualBox 这样的虚拟环境和 Mac 相比究竟差别有多大?

    (virtualbox 你是直接开 GUI 在里面开发还是 samba 这种 还是 vscode remote 这种还是...)

    Macos 的另一个优点是干净. 譬如 双十一了 搜狗输入法, 福昕 pdf 360 全家桶总弹小广告. macos 上面没有这个问题, 另外 macos 对通知 权限管理这种 控制的非常好.

    在一个我能想到的优点就是和 ios 的联动,不过我用安卓所以不评价.
    aladdindingding
        15
    aladdindingding  
       2020-11-12 14:23:04 +08:00
    事实情况是你的工作中交流是很大一部分,linux 折腾哪些聊天工具就是浪费时间
    PUBG98k
        16
    PUBG98k  
       2020-11-12 15:12:04 +08:00
    Linux 和 mac 都不适合我.还是 Windows 比较适合我.虽然 linux,macos 我都会用也挺熟练的.
    就 偶尔娱乐下打一把 lol 这个 linux,macos, 就把我拒之门外了.
    bruce00
        17
    bruce00  
       2020-11-12 15:33:04 +08:00
    楼主,可以发一下你头像原图吗?谢谢~
    chendy
        18
    chendy  
       2020-11-12 15:41:30 +08:00
    看自己需求选工具就行
    个人啥需求没有,就是觉得 mac 下各种快捷键比 win 的舒服
    luckyrayyy
        19
    luckyrayyy  
       2020-11-12 15:49:29 +08:00   ❤️ 1
    好家伙,定性了,用 Mac 虚荣。互联网大厂普遍虚荣,公司有虚荣文化。
    LokiSharp
        20
    LokiSharp  
       2020-11-12 15:51:54 +08:00   ❤️ 1
    @levelworm #2 mac 的屏幕色域比大部分 pc 要好,然后对高分屏的支持好很多
    luckyrayyy
        21
    luckyrayyy  
       2020-11-12 15:52:34 +08:00   ❤️ 2
    回答楼主的疑问,我用了好几年的 Ubuntu+MacBook Pro 。Linux 不好的地方就是图形界面不好用,像 Ubuntu 2020 年了还不支持非整数的缩放倍数,我 2060s 的显卡桌面都跑不满 120 帧。办公软件少,office 没有,微信和一些公司内部软件没有。
    我是怎么解决的? wine 嫌麻烦,但是好在台式机性能强,Linux 上没有的东西我都在 Windows 虚拟机里处理,开发在 Linux 上和 MacBook 上没有显著区别。
    lyz1990
        22
    lyz1990  
       2020-11-12 15:57:12 +08:00
    用了几年 Ubuntu,换工作后因为 QQ 需求过大,换 mac 了
    murmur
        23
    murmur  
       2020-11-12 15:57:40 +08:00   ❤️ 1
    虚荣其实是有道理的,公司给了你最贵的笔记本,走哪里都倍有面子,是不是也应该随时随地加班回报公司

    你看我们这种小公司就不发 mbp,因为下班不需要加班,享受你和家人的生活去吧
    lagoon
        24
    lagoon  
       2020-11-12 16:06:26 +08:00
    实际工作用,和玩,不是一个概念。



    之前用了好几年的 Linux,今年用 Flutter,才开始在公司用 Mac 。

    Linux 我实际感受,还是会有各种小问题。当然,大佬们会说,那是技术不行。这种话就好比当年有人说:大佬都是用记事本写代码一样莫名其妙。


    常见软件支持,Mac 也好一些。比如设想,大家欢快的用着钉钉,你跳出来说,你的钉钉由于是 Linux 版,支持不太好。xx 功能不行,我们换个软件吧?现实吗?





    系统对于多数人来说,稳定至关重要。特别是大家工作强度都很大,忙于专精自己的工作,说起来就是 996,再说起来就是为什么不学点工作不需要的高逼格技术?


    Mac 比 Linux 省心,比 Windows 专注,而且整体质量普遍不错,对我来说是省心省力的最优选择。
    当然,如果工作需要用到只支持 windows 的软件,当然选 windows 了。
    cmdOptionKana
        25
    cmdOptionKana  
       2020-11-12 16:10:56 +08:00
    @levelworm 我也想问楼主一个问题,你现在是用什么系统?
    cheng6563
        26
    cheng6563  
       2020-11-12 16:12:36 +08:00
    没啥特殊原因,Linux 桌面版是真的不好用。
    dnL
        27
    dnL  
       2020-11-12 16:18:16 +08:00   ❤️ 1
    又有人出来说买苹果就是爱慕虚荣(装逼)了,你买房为啥买精装房啊,日租房、大通铺、宾馆、桥洞子不能住还是怎么的?
    sheep3
        28
    sheep3  
       2020-11-12 16:31:38 +08:00
    @laminux29 牛逼!!!强!!!好棒哦
    vincent7245
        29
    vincent7245  
       2020-11-12 16:55:45 +08:00
    个人观点:
    省心
    首先要明白自己的需求是什么,开发者的最大价值是用代码实现功能,而不是整天折腾各种无关的系统环境。
    所以我的需求就是稳定,省心,专注的开发环境,在 Linux,Windows 和 mac 中只有 mac 符合这个需求。

    首先稳定,个人感觉比 Windows 稳定
    其次省心专注,开发环境配置和 Linux 逻辑一样,作为应用层的开发这其实完全可以把 Mac 当 Linux 用了。而且软件不会有各种烦人的广告弹窗,相信我,用了 mac 以后你的世界都安静了。

    为什么不直接用 Linux,桌面生态 Mac 虽然比不上 Windows,但是还是甩开 Linux 几条街了,常用的软件都有,而 Linux 用个 QQ 都很折腾。我知道会有大神说你技术不行就别怪系统,我再重申一遍我的观点,作为开发者我真正的价值是用代码实现业务,而不是整天浪费时间折腾这些不相关的东西。
    lv2016
        30
    lv2016  
       2020-11-12 17:05:30 +08:00
    颜值党,用 mac 只是因为它是最符合我审美的机器🐶,不论是系统层面还是本身笔记本的设计
    zhlssg
        31
    zhlssg  
       2020-11-12 17:05:57 +08:00
    windows 有个问题,比较难受,有时候不知道为什么文件权限会出现问题,我在两台不同的电脑上都遇到过
    eGlhb2Jhb2Jhbw
        32
    eGlhb2Jhb2Jhbw  
       2020-11-12 17:12:48 +08:00   ❤️ 1
    @laminux29 #10 自己兜里只有五毛钱,看到别人进出收费的公厕都眼红。
    aobamaM
        33
    aobamaM  
       2020-11-12 17:47:52 +08:00   ❤️ 1
    @chaleaoch 自己兜里只有五毛钱,看到别人进出收费的公厕都眼红。
    aobamaM
        34
    aobamaM  
       2020-11-12 17:48:32 +08:00   ❤️ 1
    @laminux29 自己兜里只有五毛钱,看到别人进出收费的公厕都眼红。
    gzf6
        35
    gzf6  
       2020-11-12 17:55:15 +08:00
    你可以换个思路,Mac 可以比较轻松的安装三大系统,干最多的事,PC 安装 MacOS 比较折腾,仅此而已,如果开发完全不涉及 apple 的东西,那当然哪个顺手用哪个。
    DarkCat123
        36
    DarkCat123  
       2020-11-12 18:39:24 +08:00
    @laminux29 # 10 躺枪了,感觉自己确实“总有一样或几样,低于其他相同特质人的平均水平。” 不过阁下一定是人中龙凤吧,双商、经济、专业实力、社会地位、家族实力或人脉关系等方面皆为翘楚。
    no1xsyzy
        37
    no1xsyzy  
       2020-11-12 22:23:56 +08:00
    @laminux29 1. LTT 这个日常级果黑仍然承认,在你需求的配置完全等于给出的配置的情况下,苹果的溢价并不高。
    苹果的表面溢价来自需求配置的复杂性:很多时候为了满足某一方面的配置,其他方面的配置将远远高于你的需求。
    程序员通常不需要很好的显卡,而且几乎未曾需要高色准的屏幕 —— 再垃圾的屏幕开高对比度模式也不至于伤眼。
    2. 你怎么得知的“正常”?四五个屏那是定制化 ARM 瘦终端吧,一般高端显卡也就四个口。
    看来 ARM 授权费收少了,“正常开发”的数量竟然不能让 ARM 躺着收钱,甚至被英伟达收购!
    原来正常就是捡垃圾?
    3. 扫下盲,虽然付费版 ESXi 非常棒,有目共睹;但 ESXi 免费版确实垃圾,同样有目共睹。
    如果每个 “正常开发” 都采用付费版 ESXi 原来世界上 “正常开发” 的数量甚至不足以让 VMware 的收入超越亚马逊!
    4. 请了解下 Qubes OS,一机就可以解决跳板 + 虚拟化的问题。
    levelworm
        38
    levelworm  
    OP
       2020-11-12 22:26:07 +08:00
    @cmdOptionKana Windows 10 + Ubuntu VM,后者纯粹自己玩,因为我不是靠开发吃饭的,所以纯粹是业余项目。
    cmdOptionKana
        39
    cmdOptionKana  
       2020-11-12 22:49:05 +08:00   ❤️ 1
    @levelworm 具体还是要看开发什么项目,ruby, python, php 之类的,用 windows 是会遇到一些小麻烦,就算用 Go,遇到需要 cgo 的库也要搞一翻环境,而如果是 c#, java 则用 win 应该没啥不妥。

    用 VM 基本上可以解决大部分问题,但性能、内存占用等在心理上会有点膈应。

    我个人还是更喜欢 Windows, 用着蛮舒服的。
    levelworm
        40
    levelworm  
    OP
       2020-11-12 22:52:41 +08:00
    @cmdOptionKana 看来还是和项目有关,的确是。我们公司做开发的都用 Windows 因为用 Unity,然后做 BI 的就用 Mac 。
    xcstream
        41
    xcstream  
       2020-11-12 23:07:14 +08:00   ❤️ 1
    linux 桌面垃圾 中文支持还是不太行
    namelosw
        42
    namelosw  
       2020-11-13 00:01:15 +08:00   ❤️ 1
    我的原因比较无厘头. Windows 和 Linux 默认比如复制粘贴全选之类的快捷键和 Vim (Ctrl C/V 等) / Emacs (Ctrl A/E 等)的很多快捷键是冲突的, Mac 因为有个 Command 就全躲开了, 效率直线提升...
    kwanzaa
        43
    kwanzaa  
       2020-11-13 00:16:32 +08:00   ❤️ 1
    Windows/Linux/macOS 都用。
    只不过没有特殊需要,绝对不会去在 Win 下开发。
    EminemW
        44
    EminemW  
       2020-11-13 00:46:03 +08:00
    1.纯 linux 开发会有 openvpn 掉线的问题。。2.win 装一些服务软件经常需要配环境,还不能一次成功。3.如果环境都用远程服务器的测试环境,那么开发体验就会强依赖于网络带宽
    Osk
        45
    Osk  
       2020-11-13 01:03:27 +08:00 via Android
    不用 Linux 还不是硬件支持太糟心:
    - 市面上的笔记本基本适应 windows .
    - 无厂商支持靠开源社区东拼西凑一堆项目搞出来的太难用,也很分裂。
    - linux 有一些我需要的功能的实现方案就很离谱
    Macv1994
        46
    Macv1994  
       2020-11-13 07:33:38 +08:00 via Android
    我用 Linux 加 Windows 主要是因为穷
    iceheart
        47
    iceheart  
       2020-11-13 08:27:46 +08:00 via Android
    我用 linux 好些年了,没觉得哪里不好。
    Linux 这几年越来越好用,以前写代码还得虚拟机里跑 vsstudio 。自从有了 code 之后几乎就不碰 windows 了。
    要说问题,也就剩微信,钉钉没有 linux 版本了。
    zjsxwc
        48
    zjsxwc  
       2020-11-13 08:55:10 +08:00
    已转 linux 5 年,硬件量足还便宜,mbp 吃灰沦为 ppt 播放器

    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   970 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:29 · PVG 06:29 · LAX 14:29 · JFK 17:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.