校对:伯乐在线 - 黄利民
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 开发和个人电脑的原因:

  1. 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.
  2. 强劲的 GPU 和 CPU。我的家用电脑和笔记本都培了顶级的显示器和 GPU。我和孩子 Steam 上玩了有 2000 个游戏,并且我对 CUDA 和 深度学习很感兴趣。而 Mac 对此就无能为力了。对我来说,强大的 GPU 是非常重要的,所以我配了一台搭载 GTX980Ti 显卡、32 GB 内存、3440x1440分辨率的曲面屏、i7 WildDogPro 处理器的电脑。而价格跟 MBP Retina 的价格相差无几。

  3. 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.

  4. 与服务器真正的兼容。我曾工作过的一家公司,半数脚本是用 Linux 脚本和 GNU 工具写的,另一半是 Bash 和 BSD 工具写的,因为这部分开发者坚持用 Mac 开发,并认为 Mac 和 Linux 相差无几。我只想说,这真的太乱了。后来,我花了几周时间重写了代码(为了兼容)。这些人一边说:“Mac OS X 是不同的”,但另一边又说:“Mac OS X 跟 Linux 相差无几”。但事实并不是,Mac OS X 与 Linux 差很多。

  5. 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.

  6. Linux 使我更高效。几乎不需要切换环境,我可以使用相同的工具,专注编写脚本,与服务器无缝衔接。至今,我还没发现哪个 Mac 用户能展现出令我印象深刻的 脚本编写能力。我曾经管理过一个需要超过 100 台以上 Linux 服务器集群的软件,除了 Linux ,其它系统根本胜任不了这个任务。

  7. 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.

  8. Linux 简直就是为工作而生的。相对那些用 Mac 的同事,我在 Linux 上碰到的问题更少。不需要安装 homebrewfinkMacPorts,只要运行 suao apt-get updatesudo apt-get upgrade 这两个命令就可以了。团队里有少数人还在坚持使用 Mac,他们认为这是一种荣耀。编写脚本和程序设置电脑, Mac 大概要 2-3 天,而 Linux 只要一个小时,而且几乎是全自动化的。

  9. 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.

  10. Linux 能做 Mac 不能做的事。有一天,我们需要超高清分辨率的屏幕截图,在 Linux 上只要输入: $ xrandr --output DP-2.8 -s 3440x2880 --panning 3440x2880 ,之后用 Chrome 把图片放大一倍,并用 Ksnapshot 获得所需图片,前后只需要几分钟。谁能在 Mac 或者 Windows 上实现?

  11. 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.

  12. “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 的回答


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 是一样的。


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 欧元即可。这是一个很划算的投资。

【热文】 为什么很多硅谷工程师偏爱 OS X,而不是 Linux 或 Windows?的更多相关文章

  1. 运维工程师必会的109个Linux命令

    运维工程师必会的109个Linux命令 版本1.0 崔存新 更新于2009-12-26 目录 1 文件管理 6 1.1 basename 6 1.2 cat 6 1.3 cd 7 1.4 chgrp ...

  2. (大数据工程师学习路径)第一步 Linux 基础入门----正则表达式基础

    介绍 虽然我们这一节的标题是正则表达式,但实际这一节只是介绍grep,sed,awk这三个命令,而正则表达式作为这三个命令的一种使用方式(命令输出中可以包含正则表达式).正则表达式本身的内容很多,要把 ...

  3. Linux必备 -- 如何在Mac OS 使用VMware 安装Linux

    Linux简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协 ...

  4. 推荐给IT运维工程师必须学习的4本Linux书籍

    我们的人生如游戏,每个人都扮演着不同的角色,有普通玩家.NPC.普通野怪,终极Boss,都有不同的级别之分,我们在技术方面又何尝不是呢,我们大部分人都是普通野怪,遍地都是,很容易被别人虐,没有什么特殊 ...

  5. iOS10 资料汇总:值得回看的 10 篇 iOS 热文

    本文精选了 iOS大全 9月份的10篇热门文章.其中有软件推荐.技术分享及iOS10.Xcode8新特性等. 注:以下文章,点击标题即可阅读 <兼容iOS 10 资料整理笔记> 本文整理i ...

  6. Mac 开发者的十八般兵器:重温 10 篇热文

    <开发者 MAC 电脑里的十八般兵器> 古人常以刀.枪.剑.戟.斧.钺.铲.叉.鞭.锏.锤.戈.镋.棍.槊.棒.矛.钯十八种兵器,样样精通,来形容一个人的武学技能get状态.在开发者的世界 ...

  7. 这10篇 iOS 热文,你别错过哦

    <移动开发必读书单> 某一领域的技术人,在他的职业生涯中,一定有一些绕不过去的技术和非技术的知识.有的时候,靠自己摸索.到处偷师,倒也能掌握.但是,这些别人早就趟过去的坎,大多已经有了非常 ...

  8. (大数据工程师学习路径)第一步 Linux 基础入门----文件系统操作与磁盘管理

    介绍 本节的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习后续其他内容的过程中有极大帮助. 因为本课程的定位为入门基础,尽快上手,故没有打算涉及太多理论内容,前 ...

  9. (大数据工程师学习路径)第一步 Linux 基础入门----基本概念及操作

    本节联练习主要有: 1.环境介绍 2.常用 Shell 命令及快捷键 3.Linux 使用小技巧 一.Linux 桌面环境介绍 相对于现在的 Windows 系统,UNIX/Linux 本身是没有图形 ...


  1. 微信JS SDK PHP Demo

    一.JSSDK类定义 <?php class JSSDK { private $appId; private $appSecret; public function __construct($a ...

  2. 变形--矩阵 matrix()

    matrix() 是一个含六个值的(a,b,c,d,e,f)变换矩阵,用来指定一个2D变换,相当于直接应用一个[a b c d e f]变换矩阵.就是基于水平方向(X轴)和垂直方向(Y轴)重新定位元素 ...

  3. javascript线程解释(setTimeout,setInterval你不知道的事)---转载

    在工作中,可能我们经常遇到在有很多 setInterval 的页面, 再手动触发 setTimeout 的时候经常失败, 尤其是 jquery做动画的时候,一些渐入溅出的东西,很多东西都不被触发……, ...

  4. QQ聊天机器人for PHP版 (登录,收、发消息)

    <?php include "http_no_cookie.class.php"; class qq { public $sid; public $http; public ...

  5. 已授予账号 &quot;以服务方式登录&quot;的权限

    已授予账号.\Cliff "以服务方式登录"的权限 --------------------------------------------------- 进入服务管理器(Serv ...

  6. yii2使用Gii生成代码

    本章节将介绍怎样使用 Gii 去自己主动生成 Web 网站经常使用功能的代码.使用 Gii 生成代码很easy,仅仅要依照 Gii 页面上的介绍输入正确的信息就可以. 贯穿本章节,你将会学到: 在你的 ...

  7. Qt之加密算法

          在写这篇文章之前,我曾反复思量关于加密的叫法是否准确,更为严格来说,应该是密码散列-将数据(如中英文字母.特殊字符)通过复杂的算法转换为另一种固定长度的值.   QCryptographi ...

  8. [Swift]LeetCode791. 自定义字符串排序 | Custom Sort String

    S and T are strings composed of lowercase letters. In S, no letter occurs more than once. S was sort ...

  9. [模板] 次短路 | bzoj1726-[Usaco2006Nov]Roadblocks第二短路

    简介 所谓次短路, 顾名思义, 就是第二短路. :P 1到n的次短路长度必然产生于:1到x的最短路 + edge(x,y) + y到n的最短路 简单证明一下: 设 \(dis(i,j)\) 表示 \( ...

  10. MySQL &#183; 性能优化&#183; 5.7.6 InnoDB page flush 优化

    在这篇文中,我们已经详细介绍了Oracle MySQL以及社区分支最新的对InnoDB page flush的优化.在最近release的5.7.6版本中又有了进一步的改进.主要包括以下几点修改 修改 ...