【热文】 为什么很多硅谷工程师偏爱 OS X,而不是 Linux 或 Windows?
校对:伯乐在线 - 黄利民
链接:
1. Why do most of the developers in Silicon Valley prefer OS X over Linux or Windows?
2. Mike Mikowski's anwser
3. Garry Taylor's anwser
4. Ivan Appel's anwser
5. 为什么很多硅谷工程师偏爱 OS X,而不是 Linux 或 Windows?
Why do most of the developers in Silicon Valley prefer OS X over Linux or Windows?
为什么很多硅谷工程师偏爱 OS X,而不是 Linux 或 Windows?
I saw many videos of Google, Dropbox, Quora and many other companies which 90% of engineers use Macs there! Why Macs are so popular? Why they ignore these?:
在许多公司的视频中,诸如:Google、Dropbox、Quora 等,有超过 90% 的工程师都在使用 Mac。Mac 为什么这么流行?难道大家没发现这些问题嘛?
- Expensive while has no powerful GPU!
昂贵但 GPU 性能一般!
In Linux you can edit everything you like
没 Linux 开放(Linux 允许你编辑任何文件)
Servers are running Linux so better to develop on the same OS
服务器是运行在 Linux 上的,在 Linux 上开发岂不更好。
Mike Mikowski 的回答
For reasons that are mostly no longer relevant.
我觉得以上大部分原因跟问题并不相关。
This guy apparently thinks using Linux as his primary OS is a good idea:
图中的这位显然认为把 Linux 作为自己的首选操作系统是个非常好的主意。
That’s Jeff Dean who’s probably responsible for Billions of Google’s revenue over the last decade.
他就是 Jeff Dean,在过去十年中为 Google 创造了数十亿美元的收入。
His desktop looks a lot like mine:
我们俩的桌面看起来很像:
I’m a senior architect in SV, I’ve used both, and can say with certainty that Linux is a better choice for me. I believe it should be strongly considered by others. OSX used to be better than Linux for some things, but those benefits are mostly gone now while the deficits have gotten worse.
作为硅谷的一名高级架构师,Linux 和 OS X 我都在使用,但 Linux 更适合我。我坚信 Linux 应该被普及。说实话,OS X 在某些方面的确比 Linux 好,但这优势已经越来越小,因为 OS X 的缺陷越来越多了。
There is a belief here that developers haven’t “made-it” until they get a trophy $2,500 MacBook Retina Pro with 16GB soldered on the motherboard and Intel Iris Pro Graphics + AMD Radeon R9 M370X. As the Mac hardware falls further behind (GPUs) and quality of the software continues to slip, I expect Linux to gain popularity as the trophy status of a MBP falls.
我相信,当工程师花 2500 美元买了一台 Macbook Retina Pro(16 GB 内存,Intel Iris Pro Graphics 图形处理器 和 AMD Radeon R9 M370X 图形处理器),就会发现 Mac 并没有比 Linux 优秀。随着 Mac 硬件(GPU)进一步落后和软件质量下降,我能预料 Linux 的普及。
The key to success is to buy computers tailored for Linux and supported by the manufacturer. This erases the hardware compatibility issues that many people experience when loading on “just some old hardware.” I use System76 laptops and desktops and have been very pleased with their computers and service. One of my laptops, - the Oryx Pro - has a GTX970m GPU with GSync, PCIe SSD, i7, 32GB of RAM and a beautiful IPS display - far better and far less than a MBP. I also maintain a list of tasty tidbits on preferred software on Kubuntu. Constructive comments and suggestions are welcome.
让 Linux 普及的要点是可定制以及厂家的支持。这将解决硬件兼容性问题,启动时再也不会出现“just some old hardware”的提示。我现在用 System76 的笔记本和台式电脑,他们的电脑和售后非常好。我其中的一台笔记本 Oryx Pro 配置如下:搭载 GSync 技术的 GTX970m 显卡,固态硬盘, i7 处理器,32 GB 内存和 IPS 显示器,一点也不比 Macbook Pro 差。同时,我维护着一份 Kubuntu 下装机必备软件列表,欢迎评论和补充。
Here is why I use Linux exclusively for development and personal computing:
以下是我为什么用 Linux 开发和个人电脑的原因:
- Superior GPUs and CPUs. My home PC and laptops are top-of-the line devices with the best displays and GPUs. I and my kids play many of the 2,000 games on Steam, and I have interest in CUDA and deep learning too. You can’t do either as well on a Mac. A powerful GPU is extremely important for me so I’ve got a GTX980Ti in a 32GB System76 i7 WildDogPro with a 3440x1440 curved monitor. It cost about the same as a decked-out MBP Retina with Iris graphics.
强劲的 GPU 和 CPU。我的家用电脑和笔记本都培了顶级的显示器和 GPU。我和孩子 Steam 上玩了有 2000 个游戏,并且我对 CUDA 和 深度学习很感兴趣。而 Mac 对此就无能为力了。对我来说,强大的 GPU 是非常重要的,所以我配了一台搭载 GTX980Ti 显卡、32 GB 内存、3440x1440分辨率的曲面屏、i7 WildDogPro 处理器的电脑。而价格跟 MBP Retina 的价格相差无几。
True compatibility with servers. I’ve worked at a shop where half of the build scripts were on Linux Bash + GNU tools, and half were using Bash + BSD tools because the developers insisted on having MBPs and assumed they were “almost Linux.” Suffice to say, it was a huge mess. I spent weeks trying to get the code to build on a single machine. People who say that it “doesn’t matter that OSX is different” often contradict themselves by then saying “… but OS X is almost Linux anyway”. But it isn’t, and it does matter.
与服务器真正的兼容。我曾工作过的一家公司,半数脚本是用 Linux 脚本和 GNU 工具写的,另一半是 Bash 和 BSD 工具写的,因为这部分开发者坚持用 Mac 开发,并认为 Mac 和 Linux 相差无几。我只想说,这真的太乱了。后来,我花了几周时间重写了代码(为了兼容)。这些人一边说:“Mac OS X 是不同的”,但另一边又说:“Mac OS X 跟 Linux 相差无几”。但事实并不是,Mac OS X 与 Linux 差很多。
It keeps me sharp. There is minimal context switching, and I’m always using the near-exact-same tool set, instinctively scripting things, and working seamlessly across servers. I’ve yet to find a Mac user that impresses me with their scripting skills. I used to manage the software on 100+ Linux servers in multiple clusters, and I couldn’t think of using anything but Linux for that job.
Linux 使我更高效。几乎不需要切换环境,我可以使用相同的工具,专注编写脚本,与服务器无缝衔接。至今,我还没发现哪个 Mac 用户能展现出令我印象深刻的 脚本编写能力。我曾经管理过一个需要超过 100 台以上 Linux 服务器集群的软件,除了 Linux ,其它系统根本胜任不了这个任务。
Everything just works. I find fewer problems with Linux than my peers who run Macs. No need for homebrew / fink /macPorts, just sudo apt-get update && sudo apt-get upgrade. I managed a team where a few members insisted on their “trophy” Mac. I wrote the scripts and procedures to set up the computers. Mac took 2–3 full days. Linux? About an hour, and and almost fully automated.
Linux 简直就是为工作而生的。相对那些用 Mac 的同事,我在 Linux 上碰到的问题更少。不需要安装 homebrew、fink、MacPorts,只要运行
suao apt-get update
和sudo apt-get upgrade
这两个命令就可以了。团队里有少数人还在坚持使用 Mac,他们认为这是一种荣耀。编写脚本和程序设置电脑, Mac 大概要 2-3 天,而 Linux 只要一个小时,而且几乎是全自动化的。Linux does stuff Macs can’t do. The other day, we needed extra-high DPI screen shots. Simple: $ xrandr --output DP-2.8 -s 3440x2880 --panning 3440x2880. I then doubled the scale size on Chrome and used Ksnapshot to get them in minutes. Nobody with a Mac or Windows device knew how to achieve this.
Linux 能做 Mac 不能做的事。有一天,我们需要超高清分辨率的屏幕截图,在 Linux 上只要输入:
$ xrandr --output DP-2.8 -s 3440x2880 --panning 3440x2880
,之后用 Chrome 把图片放大一倍,并用 Ksnapshot 获得所需图片,前后只需要几分钟。谁能在 Mac 或者 Windows 上实现?The “business software doesn’t run on Linux” argument is mostly moot, especially in SV where MS Office is passe’. I run Balsamiq 3, Slack, DropBox, Chrome, Hangouts, Google-for-work, GoToMeeting, WebStorm, Skype, Gimp, Insync, Inkscape, etc. Oh, and Steam on my off hours. All of these run very well, and I very rarely see application or system crashes. Webstorm (JetBrains IDE) works better on Linux than on Mac. Same with NodeJS, MongoDB, MySQL, SQLite, and dozens of other developer tools.
“Linux 上不能运行商业软件”这个争论是毫无意义的,尤其是在硅谷,这里早就不使用微软的 Office 软件了。我使用 Balsamiq 3、Slack、DropBox、Chrome、Hangout、Google 办公套件、GoToMeeting、WebStorm、Skype、Gimp、Insync等软件...对了,在休息时间我会在 Steam 上玩会游戏。所有程序都运行良好,几乎没有应用程序或者系统崩溃。Webstorm(JetBrains IDE)在 Linux 上更友好,同样,NodeJS、MongoDB、MySQL和其它一系列开发工具在 Linux 都比 Mac 友好。
I find the KDE/Plasma interface superior to both Windows and OSX. And yes, I’ve used them all.
KED/Plasma 的界面比 Mac 和 Windows 都友好多了。你问我为什么这么说,因为我 KDE/Plasma 我都在使用。
It’s frustrating to deal with so many developers who have limited sysadmin and scripting skills. Some fail to conceive of solutions because they think in OSX GUI instead of in command-line. If I start a company in SV, I will be offering Linux systems as first-choice.
这么多开发人员缺乏系统管理和使用脚本的技能,真是一件令人沮丧的事。相对命令行来说,Mac OS X 的图形界面限制了程序员的思考。如果有一天我在硅谷创业,我会把 Linux 当做首选的操作系统。
注:
- CUDA:一种由 NVIDIA 推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
- deep learning:深度学习。源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。需要 N 卡支持,而 Macbook 基本上配的都是 Intel 显卡。
Garry Taloy 的回答
GPU:
Programmer != Gamer.
程序员 != 玩家。
A faster GPU would be nice, sure, but unless you’re programming games or making a 3D rendering package or something, it’s a luxury. On both my development machines, I’ve got just regular integrated Intel graphics, Mac and PC.
毫无疑问,配有更快的 GPU 显示效果更好,但除非你是开发游戏者或者需要进行 3D 渲染,否则这是非常奢侈的。我自己的两台开发用电脑,都只配备了普通的 Intel 集成显卡。
Edit everything you like in Linux:
Linux 允许你修改任何文件
I’m not a tinkerer, I’m a programmer, I don’t care about editing or recompiling code other than my own. What exactly do you want to edit? What do you have the skills to edit? And why are you even doing it?
我只是一位程序员,我只关心自己的代码,除此之外,别的文件能否修改和编译我并不关心。或许你该问问自己:什么是我真正需要编辑的?我是否有能力去修改文件?我为什么要这么做?
Better to develop on same OS:
在同一个系统下开发更好(代指服务器环境和开发环境相同)
Sure, that’s a decent enough reason, but for running stuff like Apache or whatever, Mac OS X and Linux are pretty similar, if you were using something really different like OpenVMS, IBM i, or z/OS or something, it’s a bigger issue. However, if you can get your web site to run on a Mac, I’ll wager you can get it to run on Linux too.
首先,这个理由相当不错,但对于 Apache 或者其它什么,在 Mac OS X 上和 Linux 上运行的效果是极其相似的。如果使用诸如 OpenVMS 、 IBM i 或者 z/OS 这些操作系统,那就另当别论了。但是,我敢打赌,在 Mac 上运行网页的效果肯定跟 Linux 是一样的。
Expensive:
贵
Not really, compare like with like, i.e. pick a PC laptop from a brand you’ve heard of with hi-def screen, SSD, decent build quality, and the price isn’t that much different. And lets say the Mac ends up a few hundred bucks more expensive, you’re talking about companies with a lot of money, paying developers a lot of money. If Google is paying a developer, let’s say \(100,000 a year, after taxes and expenses like health insurance, desk space, all that stuff, it probably costs them more like \)150,000 a year. Do you think Google is wringing their hands over a laptop costing $300 more?
其实 Mac 并不贵,一台搭载高清屏、 SSD 固态硬盘 、工业设计都不错的笔记本相比, Mac的价格并没有贵多少。And lets say the Mac ends up a few hundred bucks more expensive, you’re talking about companies with a lot of money, paying developers a lot of money(这句不知道怎么翻译)。假设 Google 程序员的年薪是 100000 美元,加上税收和医疗保险、办公空间等额外支出,Google 每年在程序员身上的花费可能会达到 150000 美元。你认为 Google 会在乎多花 300 美元购买 Mac 嘛?
It’s the equivalent of you getting a pizza you like for \(10, or getting a pizza you really like for \)10.01.
这就好像花 10 美元买喜欢的披萨和 10.01 美元买你很喜欢的披萨,没差~
So to answer your question, people ignore what you’ve said because it’s irrelevant in 99% of cases.
回答你的问题就要忽略你说的,因为你说的 99% 与问题无关。
Ivan Apple 的回答
servers are running linux so better to develop on the same OS
服务器是运行在 Linux 上的,在 Linux 上开发岂不更好
Oh, man, you made me mildly nostalgic about the times when this argument was still relevant. Back in the days if you wanted to have Linux and you didn’t have money or spare parts to put together a separate physical machine, then your only option was to install it as a primary OS (and learn to tolerate crappy GUI, lack of apps and such)
听着,伙计,这让我想起这个论点还有价值的年代。想当年,想用 Linux 却没钱买新电脑,唯一的选择就是将 Linux 作为你的主操作系统(学会忍受糟糕的 GUI、应用少等不足)。
Today you can install a server distribution of Linux in a VirtualBox on top of Windows or Mac and “develop on the same OS” as much as you want.
如今,通过 VirtualBox,可以很轻松的在 Windows 或 Mac 上安装 Linux 服务器发行版,“在同一个操作系统下开发”就迎刃而解了。
At the end of the day, learning how to tweak KDE Plasma and troubleshoot Wi-Fi drivers isn’t a way to become a better programmer. It isn’t a way to become a better sysadmin either. It just a hobby, and a fairly dull one.
最终,学习如何调整 KDE Plasma 和 分析 Wi-Fi 驱动并不会让你成为一个更好的程序员和系统管理员。这只是一个习惯问题,而且是相当无聊的习惯。
in linux you can edit everything you like
Linux 允许你修改任何文件
That’s a cool evergreen argument for the abstract flamewars.
这个观点经常出现在争论中。
In the practical real world the most popular Linux distributions are flavours of Ubuntu and Red Hat that work relatively well out of the box, and that’s pretty much all I have to say here.
我就说一句话:Ubuntu 和 Red Hat 是最流行的 Linux 发行版,而它们可以在 VirtualBox 很好的工作。
expensive while has no powerful gpu!
昂贵但 GPU 性能一般!
They’re not that expensive. MB Pro costs about thirteen hundred euro. You may find an HP or Lenovo with comparable specs for nine. Which means that sleekness(光滑), cuteness and quality of assembly cost you (spreading over the average lifetime of a laptop) a humongous sum of about seven euro per months. I think it’s a pretty good deal.
其实 Mac 并不贵。MB Pro 大概只要 1300 欧元(折合人民币约 9500 元)。而差不多配置 HP 或者 Lenove 笔记本大概要 900 欧元(折合人民币约 6600元)。根据笔记本平均生命周期,购买外形轻薄、耐用(强劲的电池寿命)的 Mac 每个月只要多支付 7 欧元即可。这是一个很划算的投资。