为什么国外程序员爱用 Mac?
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的。这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 windows 开发人员,我想你会在 windows 上装一套cygwin 环境吧?你不用 flex/yacc,grep,screen,ssh,make?好多 open source 的项目只提供cygwin/gcc/make 的编译环境。Mac 就是基于 BSD Unix 的,所有这些都是 built in 的。
2、开发环境。c/c++/java/perl/python/php/ruby/lisp,各种 shell,应有尽有,直接支持,非常方便。你要在 windows 上开发 C++,要装个 Visual Studio 编译器吧?或者其他的 C++ 编译器;你要开发 Java,你要下载 Java SDK 吧,说不定还要一个 Elipse 或者 Netbean;你要用 Perl,要安装一个 Perl 解释器吧,Active Perl?你要 python/php/ruby,你要安装……?开发程序需要库,图像处理,视频处理,人工智能之类大部分库都是只支持 Unix/Linux 的。Mac 基于 Unix,所以这些通通都和 Mac 能很好和睦相处。
3、编辑器 Vi/Emac。作为 程序员/IT 人员一个好用的编辑器太重要了,因为写程序/改系统配置都需要编辑器。我在 Mac 上差不多1/2的时间是 browser/email,另外1/2时间差不多就是 Vi 了。
4、没有病毒/木马。用了5年多的 Mac 就没看到病毒长成什么样,我还看不到 Mac 上装杀毒软件的需要。
5、不需要维护。Mac 买来就直接用,磁盘碎片整理?不需要。装驱动?Mac 装好了,驱动就好了。重装系统?我5年没有重装过一次(期间换了几次不同的 Mac)。
6、简洁。Mac 上所有的操作都简洁到了极致,尽量避免干扰用户,增加了程序员的生产力。比如切换无线网功能,在 Mac 上切换只需要1次鼠标点击就可以完成,在 windows 上需要点击多次鼠标(包括一些很愚蠢的确认对话框);再比如卸载 USB 盘,Mac 只需要1次鼠标点击,windows 至少需要点击右下角图标、停止设备、确认对话框等多次点击。
7、多窗口切换。这个很方便管理打开的程序/文档。我经常要在多个虚拟窗口切换,比如看浏览网页/邮件一个窗口,写程序/文档一个窗口。
8、程序员文化。国外程序员是以 Unix 为主流成长起来的。这一点和国内不同,中国程序员/开发人员大都是从90年代的 DOS 开始的,随着 Windows 的壮大,成长了一批使用 Microsoft 工具的程序员。这也解释了为什么自从 Mac 切换到 Unix 阵营后,Mac 会发展这么快。基于 Unix 的 Mac 一经推出后,迅速赢得了一大批老 Unix hacker 和新 Web 2.0/Linux hacker 的关注,正是因为这些忠实的 fans 影响了他们的人际网络,圈子,博客,从而影响了整个程序员文化。有点像 Ruby on Rails,开始是一小部分人(精英人士)试用,这些人感觉不错就在博客,研讨会等各种场合鼓吹,从而在 Web 开发领域刮起一阵 Ruby 风。
9、苹果很酷。每台电脑,每个系列都设计完美,从包装盒,宣传册,广告,电源线,电脑内部,电脑外观,电脑软件都精心设计,风格统一。甚至微小到螺 丝,看过苹果机箱上的螺丝,机箱里面的数据线吗?那个也是设计。每个 Mac 上都标记着:Designed by Apple in California,而不是 Desgined in USA,苹果就是这么酷,“我们是一家加州公司”。苹果的保密措施可以说做到了极致,产品官方不发售就在市场上看不到踪影。
10、企业家精神。苹果的传奇经历吸引了大批硅谷创业者,Apple/Google/Microsoft/Amazon/eBay/Yahoo 代表了创新,进取的企业家精神。这不是一个大原因,但可以看作是 Mac 在国外,尤其是在美国,尤其是在硅谷,尤其是在大学这么流行的一个小原因吧。据调查2007年美国大学 Mac 市场占有率第一,这些大学精英们毕业以后走上工作岗位,走上社会,再过几年其中一部分走入中层,走进高层,他们会如何影响 Mac 呢?
如果对于类似讨论有兴趣可以看看 VPSee 在 Top Language 讨论组上的回复:[TL] Re: [初级] 为何要选择 Mac?对了,你如果还是对上面那张图片有所怀疑的话,可以看看下面这张图片,来自最近的 TechCrunch Hacker 大会。
果粉往往都具有惟我独尊的特征。这很正常,因为产品狂热者容易被洗脑。
苹果的很多设计是不错的,而且被做成了缺省。
不过有些观点根本经不起推敲,不妨试着仅仅问几个问题:
1。大多数程序员是在自谋职业还是在为公司打工?
答:如果选择是后者,那么你好像没有选择自己的电脑,显示器,或者上面运行什么软件的自由。而据我所知,显然大多数公司并不会为员工配备macbookpro。
2。大多数程序员在下班之后仍然自己编程么?
答:如果选择否,那么我想,多数程序员在家中更需要的是一台能游戏和上网的电脑,当你用迅雷下载空空的全辑时,当你方便的玩WoW时,绝对不会认为mac是一台更好的“家用电脑”。
3。努力用好mac,发挥起快捷键到极致的人,真的足够挖掘了windows/linux的潜力了么?
答:当看到某人说在windows下拔出U盘需要“点击右下角图标、停止设备、确认对话框等多次点击。”时,很多人可能同样怀疑这人的windows熟练程度。
4。如果你真的是自由职业者,可以不必使用公司配备的电脑进行编程,那么你在一个市场占有率仅仅有8%的平台上开发软件,能养活自己么?
答:也许能,因为你并不总是需要靠销售软件本身而谋利,而是提供一种服务,例如象vpsee。但这样的人是多数么?他还是一个纯粹的开发者么?
5。首贴的照片里面的人大都是开发者么?
答:知道这张照片相关背景的人都应该清楚吧,那是一个苹果相关的会场,在这个会场上出现大量苹果电脑并不奇怪,尤其考虑到苹果的粉丝团。一个显著的事实就是那张照片中的多数人并不是开发者。
> 1、嗯,现在中国公司基本上没有给员工配 Mac 的,这是事实,当然 Mac 也不是为办公用机准备的,但是每个程序员都应该只有1台自己的笔记本(如果没有的话,那可能他不热爱软件)。
根据你这个观点,我想我的多数同事们都不热爱软件,因为他们大多数人拥有台式机,另外一部分人拥有多台笔记本。很少有程序员只有一台笔记本,因为笔记本本身扩展性很差,平均寿命又短,造成了笔记本玩家家里总是一大堆各种笔记本。而台式机用家家里可能只有一两台机器。
另外一个真正热爱软件的人,很可能需要22寸大屏幕和全尺寸键盘给他带来的工作便利,从这个角度来说,任何笔记本都不是一个程序员的合适的开发工具。
喜欢全尺寸键盘和超大屏幕超大字体的人,当然不会喜欢使用笔记本,不过也许你会把这些人都定义为不热爱软件?
> 2、如果想打游戏的话,Mac 不是 “好” 电脑,我们现在在讨论程序员的工作电脑,就是那种自己拥有又不是公司配的电脑。
问题在此:正规公司通常绝不允许程序员把私人电脑带到办公室。私人电脑只能业余时间使用,程序员在工作之余还需要进行什么样的“工作”,需要什么样的“工作”电脑呢?
我认为对于黑客级程序员来说,由于它习惯了掌控一切,那么Linux更合适,十年前定制的emacs配置文件和脚本直到今天仍然能用。装一个 debian很多年都不需要去折腾机器。把自己的配置保存在云端,那么即使换了机器重新装系统也不需要重新对自己的环境进行配置。我的 bashrc, screenrc, vimrc, inputrc 等等大量的配置全部在云端,即使新装机也可以很快的配置出一台属于自己的linux。
成长为一个资深的程序员本来就需要十年以上的浸淫,在年轻的时候就花点功夫打造好自己的Linux配置然后用一辈子,不比用Mac这个封闭的系统方便许多?当然这个时候他仍然可以选择购买苹果,只不过他看上的只是苹果的工业设计,拿来装的还是Linux。这样的人不少。
顺便说一下,我从来不担心Linux会倒闭,反倒jobs的癌症一旦复发身亡,我很担心苹果会倒闭。一个开源软件即使倒闭了,只要有源代码仍然可以 维护,而一个封闭系统的公司倒闭了,用户就没法用它了。更何况这有前车之鉴:jobs当年一离开,苹果就不行,jobs一回来,苹果就起死回生,这个 高管到了对具体细节事必躬亲的地步,显然这个公司从长期来看是没有发展前途的。jobs的身体状况直接决定了苹果的命运。很少有哪个其他的大公司会缺了 CEO就很快垮台,苹果是个例子。
而如果这个程序员希望在业余时间尽可能休闲,那么显然选择一个游戏支持更好的Windows机器更合适。事实上在 MacBook 上用windows可能比在PC上使用黑苹果更加不爽。如果尝试过的人应当深有体会,至少那个键盘布局(del/backspace)就够你诧异一回了。
所以说了,其实“为什么国外程序员爱用Mac”,这个用上面的解释是不合适的,更合适的解释应该是:既然公司给配当然要用能买得起的最贵的。能给我 配机器,配个苹果当然好,反正不用自己出钱,自己干活用个工业设计更好的机器不是更快乐么?所以即使一个公司里全部都是用苹果干活,也说明不了什么问题, 只能说明公司喜欢买苹果。
但是如果自己出钱,为什么国外程序员爱买苹果呢?答案也很简单:国外程序员工资高啊。但是为什么国外程序员公资高呢?因为他们的货币值钱啊。为什么他们的货币值钱呢?这个就不是程序员适合回答的问题了。
虽然本人用windows的时间比那两个系统都多,但是我对这三个系统都比较了解。首先windows最大的优势就是盗版猖獗(天朝特有),这也是我用 windows最多的原因,但是windows给人一种乱七八糟的感觉,也有可能是软件太多的原因;Linux因为是开源的,大家都可以为它的发展贡献一 份力,所以基本是有用的东西都有了,但是相对而言不如商业运营的那两个系统有整体性,较为零碎;mac确实没有那两个系统的缺点,各种用户的体验也是三个 系统中最上乘的,但是几乎所有的好软件一概是收费的,苹果配件也是出奇地贵,macbook的外接显示器的miniDVI也属非主流,键盘不采用标准键 盘,而鼠标又有谁愿意用苹果自家的,这也是获得最佳MacOS体验所付出的代价
综上而言,虽然windows的缺点看起来少一些,但是给我的感觉最突出,要不是苹果没有移动工作站,我应该不会用windows;Linux只是在必要的时候用用,因为暴雪不支持;Apple要是能够稍稍合群些就完美了。
讨论的好热闹阿。而且大家都很文明,看来还是咱们程序员素质高阿。一开始看到这么多评论没打算看完,但是被大家的讨论吸引了。说说我的看法,
我目前主要使用一个Mac Pro,感觉还不错。至少没有后悔花了1w多。还有一台刚刚淘汰不久的IBM T43,上面共存了XP 和 Ubuntu。我觉得poet 和 vpsee 说的都很有道理。首先确实像 poet 说得那样,程序员用什么工作却决公司给什么。虽然有的公司不限制,但这样毕竟是少数的。下了班常常不会化很多时间在工程上。(好吧,我承认昨天晚上确实又 做了)。即使这样windows对我并没有特别大的帮助。
硬件上没得说,我愿意为了mac艺术性的设计多花一些钞票。
软件上如果mac一直就使用的是windows系统会怎么样呢?我不认为会这会对我有更大的吸引力。相反,os X让我感觉更好。在使用mac之前已经很少用windows了,除了使用理财,炒股软件还有photoshop,基本都是在linux下。我目前主要做 web app,就是ejb,spring之类的,都是java 无所谓在什么系统下。vpsee说得没错。web app本身就不能有什么系统限制,别像中国某些银行那样:“您必须使用ie浏览器”,呵!
当然web app也可以用aps c# .NET 这种本来就是microsoft开发研究的,当然你的在win下面开发。同时我们应该看到objectiv-c已经挤进了编程语言的前十名,而且势头很 猛。c#差不多在第6名左右。(根据截止2010年10月排名 http://www.toedu.org/Article/news/softnews/Article_742.html )前十名里面大多数在mac与linux下都能更方便的开发。 如果你是一个windows程序开发员,毫无疑问你还是用windows吧。话说回来,咱们程序员其实不应该太在乎用什么系统,老板给钱,让咱用啥就用啥,至于老板可能的看市场流行什么。
windows的流行导致windows软件的流行,造就了一批windows程序员,但别忘了,我们程序员不能只会一种语言,一种技术,如果你是那样, 那估计工资也不会高到哪去。程序员应该深刻的理解的是编程的根本。这就是中国程序员与外国程序员的主要区别。外国程序员大多可以从一个java的公司跳到 一个c#的公司。像我在德国这家公司同一个技术总监就管着.NET与java开发小组。两个技术小组间偶尔也会有交流。
syeerzy说得也很有道理,我开始放弃windows进入linux的世界的时候,思想上确实有了一个转变,当初那感觉现在还记的,好像看一切 东西都是代码和文件,而不在是窗口。从linux到mac主要是因为想要兼顾个人爱好,摄影和音乐(但对于mac下图片处理有点失望,谁说mac特别擅长 图片处理的。adobe和mac的仇恨让这很难)
程序员当然需要大屏幕和大键盘。所以家里还是要有一台pc,对于pc我更倾向windows+linux的组合。至少目前有些软件mac下没有替 代,而且这些软件很重要,虽然不多,但它们甚至值得有一台专用电脑。例如股票和理财,但估计这些软件很快都回有mac版,像同花顺居然有itouch版但 没有mac版。在国外大多数软件都有linux和mac版同时提供。
游戏是个问题。有好多年没玩游戏了,虽然我的mac上有plants vs zombies但也很少有时间。我曾经是一个游戏fans,很疯狂,暗黑,星际,cs,魔兽,甚至还参加过什么比赛。不说这些很多都有mac版的,就算有 我现在也没有时间去玩。如果游戏玩到竞技的地步就不在是一种休息了。我需要休息。所以玩什么无所谓,psp和xbox都是很好的选择。就算偶尔玩玩 starcraft2 也决不会用laptop玩,玩游戏还是台式机吧。游戏也需要大屏幕和大键盘。
再说倒闭的问题,这个有点无稽之谈。即使有一天mac倒了,也会被某家公司收购。产品还会有,就算死的在彻底一些,连品牌和产品都没了,那设计和思 想还会有,只要它是先进的,就会被某家公司吸收进而延续,看看win 7和gnome大量的借鉴了mac的东西。所以这些大公司在买产品的同时都推出了自己的技术,mac-objectiv-c
microsoft c# IBM就主打linux 谁的产品多,技术就流行,技术流行又推动产品更多的销售。如果说在中国是ms一家独大,那在国外就是百花齐放。中国开源的道路已经开始了,不是说开源就好 比Gutenberg印刷机对文字的影响么。mac 的 cocoa linux就不用说了,我想ms也在考虑了吧。随着客户知识的提高,开源的要求就愈大。这就是国外开源环境比国内好的一个重要原因。也是一个国家技术提高 的重要推动力
ttanux,好软件本来就应该是收费的。否则就没有人开发好软件了。中国的盗版是暂时的,中国要在世界技术领域有话语权就要有好的程序员,就的有 好的知识产权保护。过去因为我们要大量的学习西方,所以才厚脸皮的盗版,现在学得差不多了,当然不能这样了,在盗版就伤到自己人了。苹果的配件是不便宜, 但像miniDVI这样不能有代替品的很少,苹果也可以用别的鼠标,谁说苹果不是标准键盘,苹果有10好几种键盘。你可以买到国际标准,us标准,英国标 准以外还有德语,法语,俄语等等键盘,甚至笔记本的键盘都可以在买的时候要求他们提供你想要的,我就是在德国商店里没有us键盘,在网上定了一个从美国运 过来的。
应该有人写一篇,为什么国内的程序员爱用windows,用于遥相呼应。
第一点肯定是因为国内用windows盗版是没人管的,呵呵。
第二点为什么企业爱用windows,那是因为office。
还有一点受欢迎不代表用的人就最多,大路货windows在哪,不管是国内还是国外,只要在这个星球上都是有最多的用户。mac还没有到大路货的地步,不过iphone已经是了