大厂为啥都发苹果电脑?哪个系统是开发之王?

大家好,我是程序员鱼皮。最近秋招火热进行中,今年大厂为了抢人才,各出奇招。比如腾讯校招支持 24 届应届生投递,京东校招开放 1.8 万个岗位、同时将校招生薪酬再次大幅上调!

大厂除了薪资福利待遇能打之外,资源和配套设施也会更齐全一些,比如给研发人员配备的电脑是清一色的 Mac 苹果电脑。

为什么大厂都发苹果电脑呢?难道真的就是因为苹果电脑更贵一些?还是因为有其他的理由?

其实有一个很重要的点:苹果电脑用的是 Mac 系统,而其他品牌的电脑基本不会使用 Mac 系统,大多数都是 Windows。

那么苹果系统到底是不是开发之王呢?学编程到底用什么电脑呢?

关于这个问题,其实网上争议不断,有同学表示苹果电脑性能好、Bug 少,妥妥的生产力:

也有同学说开发 Linux 最好用,Mac 除了装逼,没啥用:

作为一名 Windows、Mac 和 Linux 系统都使用了多年的程序员,我会结合自己的经历来给大家一些参考和建议。

接下来先分别聊聊每种操作系统的优点和不足吧。

Windows

先说下国内用户最多的操作系统 Windows。我第一次接触 Windows 还是在小学一年级,也算是用了近 20 年的 Windows 吧。一直到大三进入字节跳动实习前,我都是 Windows 的忠实用户。

当然了,大学前用 Windows 最主要做的事情不是学编程,而是打游戏。GTA、DNF、守望先锋,叫的上名字的游戏我基本都玩过,曾经也想过去开游戏直播哈哈。哦对了,前段时间确实开了几场黑神话悟空的游戏直播,这游戏你不用 Windows 电脑基本是玩不动的。

Windows 相对于其他操作系统的优势之一,就在于能用它来玩游戏!

再延伸一点,可以说 Windows 的 软件生态非常丰富 ,无论是游戏、办公、甚至是看片儿,Windows 总有那么几款软件符合你的诉求。而且即使到了 2024 年,有些软件还是只有 Windows 版本的,比如我开直播要使用的软件,就只有 Windows 才有,所以只能用 Windows 电脑来直播。

毕竟用户基数摆在那里,可以理解。

而且在 Windows 上使用软件、或者 "强制使用原本不能用的软件" 也是相对方便的,对于学生党来说,能节约很多时间和金钱成本。这点我就不展开说了,你懂的。

此外,Windows 还有一些其他优点,比如。比如。。比如。。。

好,接下来说一下 Windows 的缺点。我用 Windows 多年,一个很不爽的体验就是它 不够安全、不够稳定 。盗版软件多、一不留神电脑就中毒了;电脑配置再高,还是不可避免地出现蓝屏和死机,丢了数据真的心态爆炸啊!

我们办公室里有一台 3 万多的 Windows 顶配主机,到了夏天偶尔还会出现蓝屏,相信大家也有过类似的经历吧。

此外,Windows 升级比较频繁,而且每次升级的版本改动很大,经常出现 软件兼容性问题 ,导致原本正常使用的软件,更新系统后就不能用了。前段时间微软全球蓝屏事件,大家应该还没忘吧。

对于学编程的同学来说,Windows 还有 2 个问题。

首先就是 安装编程相关的环境比较麻烦 ,刚开始装个 Python、Java 啥的可能还好,等之后你要装 Docker、跑一些知名开源项目的时候,就知道有多麻烦了。虽然在 Windows 上可以使用 WSL(Linux 子系统)或者第三方虚拟机来辅助搭建编程环境,那也不如天然支持的要香呀。

还有就是 Windows 的 可定制性比较差 ,系统对用户不透明。绝大多数同学只是用它来办公还感受不到这点,但在你后面编程搭环境、尤其是学习一些系统安全知识的时候就会发现,很多时候你要修改系统设置时,很难找到对应的入口,或者就是必须反复重启电脑才能修改成功。

综上,个人感觉 Windows 更适合家用娱乐和基础办公。

Mac OS

我是从大三在字节跳动实习的时候,第一次接触到 Mac OS 系统,原因很简单,公司发的。

作为一个十几年 Windows 忠实用户,我刚开始用 Mac 非常不习惯,无论是界面、快捷键还是终端。所以就是白天工作用 Mac,下班就换成自己的 Windows 笔记本。

记得我当时有个同事,他就疯狂给我安利 Mac 怎么怎么好用、怎么怎么高效。我当时还心想:哼,哥们用 Windows 效率也贼高好吧。

但没想到,用了半年之后,我就 "真香" 了,从大四开始,我基本上就把 Mac 作为自己的主力机了。

先说说我感受到的 Mac OS 的优点吧,首先就是我用了 Mac 几年了,几乎没有发生过死机。虽然也死机过,但次数屈指可数,明显比 Windows 的 稳定性高

Mac 上 安装软件也很方便 ,就跟我们手机上装软件一样,Mac 有自己的正版的应用商店,安装软件更高效、软件更好管理、也更安全。

有同学说了:Windows 也有应用商店呀?

但你用 Windows 的时候会从商店里下载么?

而且个人感觉 Mac OS 的界面也更好看大气,当然,这个也可能和 Mac 电脑本身的屏幕和设计有关。所以做前端开发和设计的同学用 Mac 的体验会更好一些。不过这一点在如今的影响是越来越少了,因为很多其他品牌的电脑都在仿苹果的设计。

此外,如果你是一个苹果控,那么你还能感受到 Mac 生态系统的强大,各设备间同步数据真的非常方便。哪怕像我一样除了电脑之外不用苹果生态,使用 Mac 也不会有任何负面体验。

对学编程的同学来说,Mac OS 最大的亮点莫过于它是 基于 UNIX 操作系统 的,自带了很多开发工具和终端,而且终端的很多命令和企业开发常用的 Linux 系统类似,便于我们搭建环境和学习命令行的使用:

在 Mac OS 中使用 Homebrew,想装什么开发环境和库都很方便:

此外,苹果电脑近几年持续进化,芯片从 M1 到 M3 的跃进,带来的是更丝滑的系统使用和编程开发体验。同等配置(比如 16 G)下,开发的流畅度和开发软件打开的速度都比 Windows 要快很多,也基本没出现过软件卡死。

很多 Windows 笔记本的续航能力都不如 Mac,对于程序员来说,出去旅游啥的可能还会带着电脑。像我如果出门带 Windows 笔记本,电量不到 10% 的时候我就已经汗流浃背了,所以还要带个大充电器;而如果带 Mac,哪怕开很多软件,电量也够撑 1 天,充电器都不用带了。而且我平时基本上工作完直接就把 Mac 笔记本盖子合上,第二天直接打开,电量基本上没少。

大厂为什么使用 Mac 更多?还有 2 个很重要的原因。

第一个是安全,可以防止员工安装一些风险软件,而且大厂一般都会在电脑上装监控软件,你的几乎任何行为都会被记录。印象比较深刻的是,我当时用腾讯的工作电脑在家办公,好像是想下载什么软件来着,公司的 IT 机器人就给我发来警告了,给我吓得够呛。

第二个就是软件开发的一致性。由于线上部署项目一般会用 Linux 服务器,所以本地用 Linux 或 Mac OS 开发,更容易保持跟线上环境的一致,可以减少出现 Bug 的概率。比如经典的文件路径问题,如果你用 Windows 开发 + Linux 部署,可能需要额外写适配代码。我之前讲 代码生成器共享平台项目 的时候,很多同学就表示被文件路径坑了。

当然,Mac OS 也是存在缺点的,首先就是对于我这种白票党来说,我发现 Mac 上的很多软件不能让我自由地去使用;而且 Mac 目前的软件数还是没法跟 Windows 比的,很多 Windows 上好用的软件在 Mac 上没有相应的替代品。所以用了 Mac 后,很多游戏基本就不能自由地去玩了。

也是出于这点,我那喜欢玩单机游戏的表妹高考结束后,我给她送了一台苹果电脑。

但对卷王来说,这也许也是它的一个优点?

最后,Mac 电脑还有一个问题,就是它的价格还是相对贵了一些。

Linux

除了 Windows 和 Mac 这两种面向大众用户的操作系统外,对绝大多数程序员来说,Linux 系统是必须要会使用的 !因为目前绝大多数企业内的项目都是部署在 Linux 服务器上的。

为什么呢?

因为 Linux 系统是开源的,更安全;而且它是可定制的,可以根据业务场景和项目的实际情况打造出性能更高、成本更低、稳定性更高的系统。

但是,必须要学 Linux 不意味着我们要有一台安装 Linux 系统的电脑,更不意味着我们要把自己的 Windows 电脑重装为 Linux 系统,从而去使用 Linux 的界面。像我大学的时候折腾过自己的微软 Surface 电脑,给它装了个 Ubuntu kylin 和 Linux Mint 操作系统,感觉也并没有想象中的好用。

其实绝大多数情况下,我们只需要花几十块钱租一个云服务器或者在本地搭个虚拟机,通过 XShell、SecureCRT 之类的工具连接上它,就足够学习和部署项目了。相信很多同学的个人博客,也是像我一样搭在了 Linux 云服务器上。

如果你是学习 C++ 开发或网络安全方向的同学,要对 Linux 掌握得更多一些。Java 后端或者前端开发同学会用 Linux 部署项目、学学常用命令基本上就够了。

如何选择?

那说了那么多,大家到底用哪个操作系统来学编程呢?

这个问题当然没有标准答案,要根据你当前 所处的环境、你的使用习惯和预算 综合选择。

先说环境。比如你现在是个大学生,学校的老师都用 Windows 讲课,给的软件包资源也都是 Windows 的,那么使用 Windows 系统无疑可以降低你入门的成本;而当你进了公司后,如果身边的同事都用 Mac 或 Win,那你最好和他们保持一致,搭环境、传软件和代码包、甚至是别人来帮你改 Bug 都会更方便一些,可以快速上手项目。

然后是习惯。其实学编程的时候(尤其是初期),我们保持自己之前的习惯就好了。比如你之前用 Windows,那就用它学编程,怎么快怎么来。不用再去换电脑熟悉新的快捷键、或者非要自己安装个 Linux 系统之类的。你的时间足够,想怎么折腾怎么折腾。但是我更建议初学者把重心放在学习基础上。

此外,千万别纠结说必须得有个什么操作系统才能学编程,或者学到某个程度就必须要换电脑。

目前绝大多数开发工具的风格在任何系统上基本都是统一的,比如 VS Code、JetBrains 全家桶等等,基本不会出现没有某个操作系统就不能学的情况(开发 Mac 应用除外)。而且哪怕你要使用其他的系统,可以搞云主机、或者用 VM Ware、Parallels Desktop 之类的虚拟机软件,在自己的主电脑上运行别的系统。

像我自己目前主要是使用 Mac 来开发、用 Windows 来开直播和带做项目、用 Linux 云服务器来部署项目。

相信大家肯定也有自己的选择,欢迎评论区交流分享~

更多编程学习资源

相关推荐
憨憨睡不醒啊2 小时前
如何让LLM智能体开发助力求职之路——构建属于你的智能体开发知识体系📚📚📚
面试·程序员·llm
程序员岳焱3 小时前
Java 程序员成长记(二):菜鸟入职之 MyBatis XML「陷阱」
java·后端·程序员
liangdabiao4 小时前
让AI写出真正可用的图文并茂的帖子(微信公众号,小红书,博客)
程序员
安妮的心动录5 小时前
人是习惯的结果
面试·程序员·求职
小兵张健5 小时前
笔记本清灰记录
程序员
陈随易8 小时前
Univer v0.8.0 发布,开源免费版 Google Sheets
前端·后端·程序员
陈随易1 天前
Element Plus 2.10.0 重磅发布!新增Splitter组件
前端·后端·程序员
陈随易1 天前
2025年100个产品计划之第11个(哆啦工具箱) - 像哆啦A梦口袋一样丰富的工具箱
前端·后端·程序员
大模型教程1 天前
RAG 实战指南(五):RAG 信息检索:如何让模型找到‘对的知识’
程序员·llm
redreamSo1 天前
AI Daily | AI日报:科学家怒揭 AI 科研黑幕; 清华:AutoMat让电镜流程大提速; AI辩论:81.7%概率让你信服
程序员·aigc·资讯