为什么 Mac 是开发者首选的平台?

时间:2012-9-6     作者:smarteng     分类: 心情杂记


做为一个开发者我们都知道,你无法回避的一个问题,就是你总是会面对一些新问题,你从未解决过的问题,你的知识点中未包含的一部分,你的经验不能处理的部分,你总有必须去了解,去学习的一段时间,事实上我们总在学习与实践这两个天秤之间平衡着,往往你的你老板的新问题在问你之前,你从未解决过(希望你的老板不会有心脏病).

有时候我会问我自己开发的本质是什么?当中最有价值的是什么?很多时候开发是一个创新的过程, 对于你来说是一个"新的过程",你是在从事一件"新鲜事物",本质上只有创新才是开发工作中有价值的一部分,而不是"重复过去",重复是让你失去斗志, 让你失去激情的可怕怪物,重复应该是程序员最讨厌的东西(我知道有部分人并不认同,如果这样你没有必要听我说完),程序员最重要的能力恐怕就是学习力,我们几乎总在学习新东西,如果你不是这样,你应该问问你自己,你呆在"原地"多久了?即便是大师们他们也在学习东西,学会从他人那里,其它语言那里,其它的技术那里,自然,生活甚至其它的学科当中找到灵感.这是我们解决问题的方法的本质.

说了这么多我想告诉各位,开发是离创新很近的事情.

so 如果对于我们来说,能帮助我们更容易接近创新的平台,才是程序员的首选平台.我可以很高兴的告诉你 Mac 就是. 对于了解这点的人,我就不解释了,对了不了解的人我会告诉你这个秘密 Why?

Unix-like , 这个世界都是 PC-windows 建造的,但这个世界是由 Unix 的思想传承的, 一切创新都在 unix/linux , 微软也做创新,但微软也向 unix 学习,包括操作系统设计, 重要的是设计思想的来源,他们本身并不是分割的,而是同源的,另一方面世界上最重要的学府都是 Unix 系统, 教学也基于 unix ,是那些大师也是用 unix ,你也许会说不教,不用 windows 也许是因为 free 但更多的应该是 unix 在那些大师的心中已经根深地固了.
开源创新之源, 开源降低了封闭大公司的技术壁垒,也使的小公司越来越具有创新能力,最重要的使得开发人员有了非常好的学习机会,同时也促成开源社区的形成,现在不是什么大公司掌握技术话语权的时代, 并非 Microsoft 的时代,也不是 Google , Apple 的时代,而是开源社区的时代, 实际上 Apple 在这方面走的算远的了 http://www.opensource.apple.com/
没有长时间使用 Mac 的人应该不知道 Mac 上的软件到底有多齐全, 开发有多么方便, 比如大型软件几乎国际巨头公司都有 Mac 平台版本, 包括 Photoshop , After Effect, 3D Max, Maya, Matlab 等等, 而且部分都在 Mac 开发, 反观 Linux 连个 64bit QQ 原生应用都没有, 另一方面大量技术开源开发包 Opencv , ImageMagick, Webkit SDK, Qt SDK, Metasploit ..., 不但在 Mac运行良好而且安装极方便, 语言开发环境括 Erlang, Java , Ruby , lua , Python , c , c++ ..., 几乎所有语言开发包, 各种数据库服务器 mysql, redis , memcache, mongodb ... 最重要的以上所说全部在 Mac 上都极易部署,
比 Linux 更好的用户体验, 部置开发,生产环境, 按常理这些东西本身应该是 linux 擅长的, 但是现在在 Mac OSX 上部暑的方便程度,让我感觉 Linux 是个后妈, 而且这种趋势还在加重, 探索背后的原因: 是什么使得出现这样的现状? 我想应该是对 Apple 价值观的认同所至, 已经有太多的这个行业中的贡献者们,认同的 Apple 这种简单, 统一,高效的, 用户体验至上的原则, 并努力为这个平台带来高质量的产品,能保持这个平台用户体验的良好,在我所使用的所有平台当中, Mac 是最好开发环境, 娱乐环境,它软件丰富,非常容易使用新技术,用户体验良好, 这些都能使你效率更高, 这就是为什么越来越多的开发者都投入到 Mac 平台
我知道有很多人并不喜欢 Mac , 我尊重个人的思想与喜好自由, 也非常讨厌并不了解 Mac , 而是以为其可以带表某种身份地位的愚蠢想法,我只想请开发者们问问你自己, 除去金钱的因素, 你到底讨厌 Mac 那里? 也许告别偏见, 才能发现一条更宽的道路在等待我们.
下面是知乎的答案:
安江泽
1. 培养对简捷、一致性和美感的追求;
2. 培养Think Different;
3. 电池时间长,电源线不易刮带。这两点是沙发coding必备;
4. 不折腾也能有愉悦的桌面环境开始工作;
5. 相对兼容Unix环境,尤其是当生产环境是Linux的时候,依然可以用Mac开发;
6. 唯一有iTunes的Unix系统,iPhone是很好的移动学习设备;
7. 吸引女生,比自身变帅概率大。
范凯
一、OSX的多窗口多应用程序切换功能很强大,对开发人员来说很有用 
开发人员一般都需要开很多窗口很多应用程序工作的,窗口开的多了以后,在XP上面切换应用程序是很不方便的事情。XP下面的任务栏又很小,任务多了,切换起来也看不清楚哪个是哪个。所以好多人都把任务栏拖出来两列或者更多,便于任务切换。不过我是不太喜欢下面占那么多位置,所以总是尽量少开应用程序。另外Alt+Tab显示出来的任务icon特别小,多了以后也搞不清楚哪个是哪个,选定移动只能向右移动,不能反向选定,切换起来很郁闷。 
但是OSX的Spaces & expose真的好强大,多个桌面随便切换,每个桌面里面n个应用程序随便切换,Command+Tab显示出来的任务切换可以左右来回移动选定,还可以快捷关闭任务,用铝壳MacBook的话,还可以四指禅切换任务,真的很强大啊,当然更不要说F8,F9,F10,F11这4个最经典的快捷键了。反正我在OSX上从来没有用过窗口最小化,真的是完全不需要。 
二、OSX的快捷键很好很强大,配合四指禅,完全抛开鼠标,对开发人员来说也是很有效率的 
对于开发工作来说,多用键盘少用鼠标是可以很大程度上提高开发效率的。但XP的快捷键支持和OSX比,完全不是一个水平上的。加上QuickSilver软件的支持,和铝壳四指禅,鼠标就是多余的东西。特别是玩熟了QuickSilver的话,你做啥操作都是两三下键盘敲击搞定。 
三、OSX对于开发环境的支持比较好 
OSX本身就是BSD Unix,各种各样的开发工具带的很全,什么Java,Python,Perl,Ruby,PHP都自带了,再装上Xcode以后啥都有了。我平时用Shell用的特别多,所以像OSX的console对我来说就很方便了。也不需要额外安装ftp软件,ssh软件,cvs/svn软件,wiinrar软件等等,一大堆XP下面需要安装的软件都省了。 
四、OSX不需要什么特殊的维护,很省事 
比方说不需要整理磁盘碎片,不需要配置防火墙,不需要安装杀毒软件,不需要清理注册表,没什么操作系统维护工作。如果你有个大容量移动硬盘的话,插上来就可以给你自动备份了,实在很省事。还有就是安装和卸载软件都是绿色的,就是拷贝目录和删除目录,不必担心什么dll污染,注册表污染啥的,你用多久它也不会变慢。 
五、在OSX上面组织目录和文件很方便,不像XP那么麻烦 
用XP的话,一般都要分两三个分区,各种不同的文件放在各自分区的各自目录下面,文件和目录多了以后,自己要定期整理,否则寻找文件是个麻烦的事情,XP自己的文件搜索功能是鸡肋,弄个Google Desktop有点消耗资源。 
OSX的话,用户文件都在自己的主目录下面,自带了强大的搜索spotlight,想看啥文件,Ctrl+Space,调出输入框,然后写关键词搜索,就都出来了。然后常用的文件夹加入QuickSilver,需要打开什么文件夹,直接两三个字母就调出来了,特别常用的文件夹可以加到Dock上面,可以随时用Stack方式打开浏览,另外浏览文件夹里面的大量文件,还可以随时QuickLook,多媒体文件还可以CoverFlow,所以管理海量的文件和目录很省事。 
六、一些常用的工具软件会自带,省的另外安装了 
比方说截图,pdf浏览,修改图片,地址薄,日历软件,便笺全部都有了,不需要像XP那样要自己另外下载安装。就说截图吧,XP的截图功能真的太原始了,XP的画图还只能保存为硕大的bmp,还不能方便的修改。OSX上面我Ctrl+Shift+4就可以截桌面任何范围,Space键就可以截任何窗口,可以保存为各种图片格式,用预览可以看各种文件,图片,pdf都没问题,预览软件还可以裁切图片,或者用自带iphoto就可以做各种专业的图像调整。 
还值得一提是Dashboard,这玩意很有用,我每天用它快速记录备忘,查看天气,查看日期和时间,有时还用用它的小计算器。如果是需要时间提醒的话,QuickSilver就自带了很棒的提醒功能了。 
反正就我平时用的这些需求来说,XP要么是做不到,要么是没有办法做到这么方便省事的。Vista/Windows7没有用过,不清楚有没有什么大的改进。现在我在虚拟机里面开XP主要是两个用途:一个是测试Windows和IE访问JavaEye网站,另一个是用Office2003。对我来说,需要用到的功能除了这两个方面,OSX比XP显然要更好。

标签: Mac 系统