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

单纯以代码开发为用途的话, Linux 和 Mac 区别大吗

  •  
  •   yidinghe · 315 天前 · 1754 次点击
    这是一个创建于 315 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我觉得两者共同点都蛮多的

    1. 命令行用法、各种开发工具的执行命令几乎都一样
    2. 对虚拟化容器的支持也几乎一样
    3. 没什么游戏玩

    所以如果不是专门开发苹果软件的话,比如只是开发前端后端,那么并不需要买两台电脑,而是买一台 Windows PC 再装一个 Linux 即可,甚至 Linux 都可以装在移动硬盘上,开发的时候从移动硬盘启动,想玩游戏就正常启动。

    当然对于在公司上班的程序员,除了开发环境外,还要考虑办公环境。这方面两者差别多大我就不清楚了。

    ShadowPower
        1
    ShadowPower  
       315 天前
    前端基本上一样,后端有时候有坑,取决于具体的开发内容。
    如果不开发苹果软件,还真用不上 Mac 。如果喜欢可以选,但实际上在开发方面没有什么特别的优势……
    Tompes
        2
    Tompes  
       315 天前   ❤️ 2
    实际体验其实是 linux (pc) > mac , 毕竟可以加内存(不考虑开发苹果软件的话

    甚至 linux+proton 已经基本可以畅玩多数游戏了。。
    billlee
        3
    billlee  
       315 天前 via Android
    命令行并不一样,bsd 工具和 gnu 工具区别很大。虚拟化就区别更大了,涉及到网络的地方 bsd 实现和 linux 实现完全是两套不同的方案
    reeco
        4
    reeco  
       314 天前
    不涉及系统开发,没有区别。所谓的开发环境不就是 IDE + 浏览器吗
    leokun
        5
    leokun  
       314 天前
    除了 IDE 和浏览器之外,还要考虑一下其他软件,比如什么数据库管理软件,redis 管理软件,代理等等
    godsoul
        6
    godsoul  
       314 天前
    不说别的,休眠功耗就没有拼的过苹果的
    allenwalker233
        7
    allenwalker233  
       314 天前
    仅就标题回答的话,主流一点的 linux 发行版的覆盖场景更广一些,即前人为你踩过坑可以借鉴的经验多一些
    zsh2517
        8
    zsh2517  
       314 天前   ❤️ 1
    1. 命令行:同 @billlee #3 ,尽管很多宣传(以及吹 mac 的人)说 mac 能有一个接近 Linux 的开发体验,但是实际用着,bsd 系命令行工具和 gnu 系差别不小,熟悉 Linux 了很多地方不习惯(我 brew 装了一套 gnu 系的工具);二选一的话我选择 windows + wsl ,好歹人家是真的 linux 。另外 brew 感觉不咋好用(相较于 win

    2. 虚拟化和容器:

    2.1 docker:linux docker 是原生运行,而 win/mac 是虚拟机运行 linux ,然后里面跑 docker 。这一点就不如 linux ,和 windows 在一条线上。但是 windows docker desktop 基于 wsl ,我印象可以从 wsl 直接修改容器配置,而 mac 的话想在创建后修改挂载之类的很麻烦。
    2.2 Apple Silicon 芯片属于 ARM 系,虚拟机、docker 都需要针对的镜像和工具,或者走转译运行 x86 。用起来经常遇到 docker 镜像没有/架构不兼容问题;另外虚拟机换源需要换 ubuntu-ports, armbian, archlinuxarm 这种东西。

    3. 游戏:公司电脑,没装过游戏,不清楚。
    zsh2517
        9
    zsh2517  
       314 天前
    @zsh2517 没写完不小心发出去了。

    补充第一点:brew 感觉不咋好用(相较于 linux 下面的包管理来说 )。但是和 win 上的 winget, choco 这种相比感觉好点。
    zsh2517
        10
    zsh2517  
       314 天前
    RE:比如只是开发前端后端,那么并不需要买两台电脑,而是买一台 Windows PC 再装一个 Linux 即可

    在配置允许的情况下,对我来说最舒服的是 windows + WSL 。

    至少对我来说,大部分时候用 Linux 主要是为了『和服务器环境一样』、『 Linux 系命令行用着舒服』、『 docker/xx/xxx 生态』等等,应该没多少人为了 Linux DE 用 Linux 。
    这个时候 WSL 恰好提供了一个基本打开 即用的虚拟机,还能结合 windows 提供的 XRDP 直接跑 GUI 程序,基本上是最优解了
    IvanLi127
        11
    IvanLi127  
       314 天前
    @ShadowPower 如果是 web 方向, 我觉得开发后端是一样的,尤其是和服务器基本一样。开发前端就难了,设计稿这类东西如果不是 web 版的,就得想办法装软件看。我以前还在 windows 上标注好导出 pdf 回 linux 看
    ShadowPower
        12
    ShadowPower  
       314 天前
    @IvanLi127 突然想起来还有这事,我已经有 3 年的时间都在看 Web 版的设计稿了……
    IvanLi127
        13
    IvanLi127  
       314 天前
    @ShadowPower 我好像二创了 op 的问题,🤣忽略我,我说编码外的去了。🤣如果纯写代码这部分,后端是不完全一样,前端是一样的。
    param
        14
    param  
       314 天前 via Android
    最大的不同是包管理的不同,linux 和 linux 之间的区别也很大,这么多发行版。从包管理来看,Mac 在众多的 Linux 之间也不怎么样吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5300 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:53 · PVG 15:53 · LAX 23:53 · JFK 02:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.