##为什么每个开发人员都应该使用Mac系统 在使用了Mac系统大概10个月之后,我已经深深的喜欢上了在其上做开发的体验,精美的界面,人性化的设计,强大的硬件系统,安全而稳定的软件系统,下面我将会用Mac系统和Windows做一个简单的对比,最后会有一些推荐的工具列表。

###Mac系统的一些好处

1. 系统非常稳定,很少发生死机或者运行缓慢之类问题
2. 即使在休眠之后,也可以飞速(与windows相比)启动
3. 内置的命令行工具非常强大
4. 大量内置的优秀软件

基本上来说,Mac系统就是一个比Windows的UI漂亮,又比Linux的命令行好用的操作系统。苹果之前的广告说他们的系统是世界级的优秀系统,这一点毫无夸张,Mac OS确实是世界上最好的操作系统,没有之一。

个人感觉,使用Mac OS能明显提高开发效率,使得用于解决真正问题的时间提高,而折腾的时间减少,使用windows系统,有很多的时间是在与系统做斗争,或者在等待系统如蜗牛般的加载,说起windows的多任务简直就是笑话,而且有很多无耻的进程在甚至在任务管理器中都不能完全杀死,更不要提病毒之类的话题了。

人们使用计算机的一个典型过程应该是:命令->响应,如是循环,这也是用Mac系统的典型过程。但是使用windows的过程是这样的:命令->等待->响应,或者命令->死机->…。我有一台Thinkpad笔记本,4G内存/250G硬盘,Windows 7系统,按说配置还算可以,运行速度也勉强能接受,但是跟同级别硬件配置用来跑Mac系统的话,效率据保守估计会提高32倍。

我觉得对一个合格的开发人员来说,命令行技能,即使不是最重要的,也应该是第二重要的,Mac下的命令行非常好用,有很多shell可供选择,Linux用户可以没有任何学习曲线的转移到Mac的命令行中(bash),如果觉得默认的bash不顺手,也可以很轻易的切换到zsh,csh之类,很多的Linux知识可以直接用在Mac上,毫无挫败感。

image

Mac系统中内置了很多的软件,也有一些可以免费获得的优秀软件(下面列表中有很大一部分软件都是免费的),很多人觉得Mac下什么软件都要收费,我觉得软件收费无可非议,每个软件都倾注了作者(一个或者多个)的大量心血,绝对是合情合理,特别是对于开发人员更是如此(但是,如果开发的软件如windows般垃圾而还要收费的话,那就让人忍不住要骂人了)。

###一些工具的推荐

####编辑器

编辑器几乎是开发人员每天接触最多的工具,也最能体现一个开发人员的品味和level,不过在Mac下有所有主流的编辑器,或者其替代品:

1. GVim
2. Emacs
3. Sublime Text 2

image

####IDE

说实话,我并不喜欢使用IDE,最开始是因为在纯命令行下工作,没有可用的IDE,后来是因为它在一定程度上阻碍了初学者对编译/链接/加载整个过程的理解(所以现在还是不建议初学者直接从IDE开始学习编程),再后来开始使用jetbrains系列的IDE,除了体积较重,偶尔会有焦点缺失的bug外,基本完美,开发效率会非常高,世界顶级,没有之一 (下面里表中前两者都要收费,而且价格不菲,但是一分钱一分货):

1. Intellij Idea (Java)
2. Rubymine (Ruby)
3. Eclipse (全能,理论上你可以将器配置成任何语言的IDE)

####电子书阅读

电子书阅读我需要一个可以记录上次读到了什么地方,最近打开的书单之类的功能,正好preview都提供,因此也没有专门去找过有没有更好用的:

1. Preview (图片,PDF等都可以preview,很好用)

####笔记

个人经验,经常性的将实际开发中遇到的问题,好的设计方式,好的测试用例等记录下来是一个非常好的学习方式,另外在工作的时候,会看到一些非常精彩的文章,可以通过(read it later)记录下来,然后同步到自己的笔记本中,回家或者是休息的时候再看:

1. Evernote
2. Pocket (read it later)

####同步 我是一个不折不扣的同步控,我的dropbox中的内容在Mac Book,iPhone和windows机器上都会同步,很多资料找起来会非常方便,比如一些经典的书籍,一些图片素材等,我都会在dropbox中放一份,如果别人需要也很容易分享:

1. Dropbox
2. Box
3. Google Drive

本来我还打算写一篇比如《将Mac搭建为一个开发环境》之类的文章,然后列提纲的时候发现无物可写,人家本来就是一个高效的开发环境。比如Terminal/Spotlight/Finder,再加上一个编辑器就完全可以启动了。所以就简单的整理了下我常用的软件列表,以供参考。