it-swarm.cn

程序员为什么要使用或推荐Mac OS X?

我在Mac和Windows上都工作了一段时间。但是,我仍然很难理解为什么程序员会热情地选择Mac OS X而不是Windows和Linux?

我知道有些程序员更喜欢Windows和Linux,但我要问的是只使用Mac OS X的程序员,因为他们认为Mac OS X最适合程序员。

有人可能会说Mac OS X拥有漂亮的UI,并且基于nix,但是Linux可以做到。尽管Windows不是基于nix的,但是除了Cocoa/Objective-C之外,您几乎可以在任何平台或语言上进行开发。

是仅在Mac OS X上可用的应用程序吗?这真的值得吗?
是开发iPhone应用程序吗?
是因为您需要每2年升级一次Windows(向后兼容性较低)吗?

我了解为什么在多媒体/娱乐行业工作的人们会使用Mac OSX。但是,我不知道Mac OS X在Windows上有什么优点。如果您每天在Mac上进行开发,并且比其他任何事物都更喜欢Mac,那么能否给我带来Mac在Windows/Linux之上的优点?也许您可以在Mac上做的某些事情在Windows/Linux上却无法做到同样的轻松?

我不是在这里尝试做另一台Mac vs. Windows。我试图找到可以在Mac上完成但在Windows上无法做到的轻松程度,但我做不到的事情。因此,我正在寻求帮助。

61
codingbear

我已经在开发机器上使用MacOS X大约半年了,我肯定会给iPhone-OSX开发人员以外的开发人员不推荐(他们别无选择,他们选择了吗? ?)。

我已经 用Ubuntu替换OSX 。显然我不是唯一的一个 从OSX切换回Linux

您在Linux上理所当然的所有工具都不存在,也很难在OSX上使用:

  • 安装开源软件:如果幸运的话,这里有 MacPort 。 15年前,安装MacPorts就像Linux。它下载软件包并进行编译。没有二进制包。要Qt吗?保留5个小时进行编译。如果您不走运,则没有适用于所需软件的MacPort。然后,您必须下载源代码并进行编译(欢迎使用1980年代的版本)。有时OSX 10.5的编译说明可在10.6上使用,有时则不会。
  • 为了使事情变得更有趣,MacPorts还有其他替代方案,例如 Homebrew 和以前的 Fink 。它们根本不兼容,并且一次使用多个不保证完全混乱,并使OSS无法使用。
  • 多屏支持:嗨,在寻找IDE的菜单吗?它在主屏幕上,而不是您正在使用的屏幕上。您可以为此获得la脚的“解决方案”,称为 SecondBar 。这将是丑陋的,无响应的,并且有时会显示一堆“ N/A”而不是菜单。但是是OSX,所以当您能拥有眼花dy乱时,谁在乎人体工程学。我的意思是,如果您希望为关心HCI的ppl设计界面,则无论如何都选择Linux或Win7。 (pdate:这似乎终于在Mavericks中得到解决,即使最近两年我被无数次告知,这将与“ Mac方式”相矛盾)。
  • 体面的终端:您几乎没有其他选择,包括默认的Terminal.app,iTerm和许多其他选择。它们都没有完整的功能集(与Linux中的默认控制台相比),它们每个都至少具有以下问题之一(例如,行换行混乱,没有制表符支持或UTF-8问题)。
  • 包含了GCC 4.2 ...但是等等,为什么它不理解GCC 4.2 x86_64标志,例如-march=native?正如Jano所指出的,它是 一个错误 。确切地说,只有OSX错误。但是在OSX上,与Linux不同,您不能指望Apple)实际向后移植该修补程序并在软件更新中发布它。因此,您回到第一个话题了– OSX是一个利基系统,它使您作为开发人员的生活更加艰辛,而主流系统(例如Linux)使开发变得更加轻松。
  • 使用X11的任何软件? OSX现在具有X11支持。外观与UI的其余部分完全不一致。不好意思.
  • 是否想在Finder中查看普通的UNIX目录结构?没办法,就像魔术一样,普通用户无法看到它……您当然可以通过从CLI执行的少量加密命令来激活它。我的意思是,像Windows中那样具有“显示隐藏文件”复选框对于macusers来说太令人困惑了...
  • 最新Java-抱歉,您不能拥有 Apple讨厌Java ,并且会做任何事情来证明它是劣等技术,这意味着保持它的过时而不是应用任何更新,即使这意味着 将用户暴露在特洛伊木马中
  • “安全?我们不需要臭味十足的安全!”。 MacOS X是所有主流OS(包括Windows的家庭版)的最不安全。它已成为黑客的受害者 年后年后现在仍然如此 。同样,OSX不具有病毒的神话在 至少5年 之前是不正确的。而且对于第三方产品也不会变得更好:

运行Skype的Mac用户很容易受到攻击 容易受到自我传播的攻击,这些攻击使攻击者可以不受限制地访问系统,例如Skype的其他客户端。 Windows和Linux不受此漏洞的影响。

更新:OSX的安全性似乎从坏到了 更糟

使用最新的Lion安全更新Mac OS X 10.7.3,Apple意外打开了加密区域之外的调试日志文件,该区域以明文形式存储用户密码

74
vartec

免责声明:我使用我认为最适合(me的东西。这些原因就是我在这里列出的原因。在任何情况下都不可能找到“最适合程序员”,而且我认为没有人会认为自己找到了这个选择。

这是一个基于Unix的操作系统,在强大的硬件上安装了出色的用户界面。随着Apple)变得越来越便宜的硬件,并利用它们的购买力来确保优质组件的价格越来越低。

我使用Mac是因为:

  • 基于Unix的操作系统
    • Terminal是具有所有标准Unix实用程序的bash Shell
    • 内置SSH !!
    • 预装了与Unix兼容的软件:SVN,PHP,Apache2等。
    • 我发现在开发中使用Unix文件系统要舒适得多。
  • Great UI-以我的拙见,您无法击败Mac的可用性。我喜欢我每天使用的Mac专用应用程序-邮件,Adium,Textmate
  • Great OS-无法(大多数)应用程序的安装-拖放。 /Library文件夹井井有条,很容易找到我所需要的东西,如果我必须挖掘首选项,复制应用程序的支持文件,安装新的首选项窗格。谈到系统偏好设置-Mac的另一个强大功能。
  • 对其他应用程序的大力支持-IntelliJ IDEA在Mac上与任何地方都一样好。Skype.Chrome.Firefox.Adobe套件。
  • 出色的硬件-我使用的是价格为1200美元的13英寸Macbook Pro(台式电脑为外部24英寸显示器)。比我在高端Windows台式机上的同事便宜,而且我没有遇到处理问题或内存问题(这些天我们俩都没有)。而且,您无法超越Apple笔记本电脑的质量(在笔记本电脑上进行开发是一个不同的问题,但我不能没有一个人-无线上网用于会议,私人Skype通话或完全按照我离开时的方式回家,还有10小时的电池续航时间!)。
  • 最后,我没有使用任何Microsoft堆栈技术进行开发,因此我在那方面并不感到局限。

我认为在Windows上我不能做任何事情。上面列出了一些事情,总之,这些只是使Mac成为首选选项。如果您正在寻找奇异的东西,那么我觉得有些任务可以在Mac上轻松完成:

  • (如上所述,可能是最大的)终端> PuTTY + Cygwin + Powershell
  • 将所有内容迁移到新计算机
  • 卸载应用程序或安装多个版本的应用程序(通常是浏览器)
67
Nicole

对我来说,Linux的主要好处是它们可以一起工作,尤其是在笔记本电脑上。视频,无线,暂停/恢复,而无需查找和配置正确的驱动程序,确定所拥有的芯片组等。在Linux上这一切可能实现,但是当您只想完成一些工作时,这很麻烦。

35
matt

不要小看硬件。

一旦习惯了触控板,您就不想再回头了!两根手指,您可以向任何方向滚动...

23
user1249

无论是否开发人员,无论经验丰富与否,聪明的人或与大多数人相比,大多数人都更喜欢美学。 Macs很好,但完全不值得他们提供那种支持。显然,没有令人信服的理由在运行Linux或Windows的PC上使用Mac,但是人们极力尝试找到一些理由来购买Mac。我不明白为什么人们不说他们购买Mac是因为它漂亮时尚。没有错。我什至承认我之所以使用Linux,部分原因是它在开发人员中很流行。我们所有人都倾向于我们认为“酷”的东西。

22
toc777

Mac具有令人敬畏的UI的所有Unix功能。

19
lfx

我曾经是OS X的早期采用者和Mac的长期支持者,但是我得出的结论是,它们仍然不能制造出很好的开发机,尤其是在企业环境中。

我曾在学校使用过它们,并在第二张桌子上工作了一段时间(很少使用,我有95%的时间在Unix终端上,但是当我有机会使用它时,我总是很喜欢它,大部分时间是用于图形操作)。我最终决定购买我的第一台Mac(当OS X首次问世时)。但是,不到一年,我对此感到非常沮丧,以至于我廉价出售了它。硬件看起来很漂亮,但价格便宜。 OS X令人沮丧。我尝试做的大多数* nix东西都起作用了,但是其余部分以微妙的方式被破坏了。在Mac应用中,《毁灭战士》的旋转沙滩球使完整冻结的情节过多。

我有时会继续使用/仍然使用一个,但实际上仅用于Mac专用任务。我会定期跳回一看,以了解当前的最新状态。 Java的支持很弱并且很长时间了。看来他们现在才刚刚被赶上。它还在不断改善,但是痛苦与Linux或Windows相比,使用一个进行开发工作。OS X以及硬件(主要是过热问题)一再令人失望(但多年来,我还拥有在无线电发射器附近打开和关闭显示器的显示器等)。我希望有一天它们will是一个不错的选择,但它们还不存在。

14
Brian Knoblauch

我现在在Mac(特别是Macbook Pro)上使用Mac的主要原因是我的软件开发人员需要:

  1. 很棒的硬件。上手感觉很棒,电池续航力很棒,而且屏幕也很漂亮。哦,触控板也很好。

  2. Unix。它基于Unix,非常适合Ruby开发。我也有我的终端。

  3. 也可以很好地运行Windows。我可以使用 Bootcamp 本机运行Windows操作系统,也可以使用 Parallels 在VM中运行它。因此,对于Windows开发,我也可以在Macbook Pro上完成所有操作。我想,如果您是Ubuntu的忠实拥护者,也可以安装它。

13
spong

减少对解释语言的头痛。预先安装了Python,Perl,Ruby和Prolog(就像在大多数* NIX系统上一样)。界面比许多Linux系统好得多,恕我直言。尝试构建特定于系统的C程序时确实会出现头痛(有人尝试在OS X的C中构建自己的线程调度程序吗?不好玩)。在Windows上,未预安装python,Perl和prolog。许多Windows都附带了您从未使用过的* ware。话虽如此,我在Mac上并没有使用很多预安装的应用程序(我不使用邮件,通讯簿,字体簿,Garageband,iPhoto,iDVD,iWeb,TextEdit等)。 Mac提供了安装Windows的灵活性,但事实并非如此(MS的错没有错……怪苹果,在这里)。

简而言之,它提供了Linux发行版中提供的许多出色的编程实用程序和语言,并抛弃了Windows的烦恼,同时提供了世界一流的,灵活的UI。但是,我会在质疑为什么人们只喜欢OS X进行general编程的问题时表示同意。对此不是很好。

无论是Windows,OS X还是Linux之类的软件,我都倾向于使用现有的工具或最佳工具。

11
aqua

我可以想象,唯一的原因是开发iphone应用程序。但是,否则OSX基本上是Unix……而Unix/Linux在大多数情况下都是免费的,因此我看不到任何其他原因。

9
user6791

事实是,这并不重要。

如果您真的想提高程序员的生产力,请不要再想让窗户来制作所有这些奇特的东西有多酷,并学会使用命令行工具 ,很棒的脚本语言出色的编辑器

无论选择哪种操作系统,您都将看到生产率的提高。

当您了解到这些是您无法使用的真正有用的工具时,您会忘记Mac OS的花哨的东西和炒作。

7
Jose Faeti

每个遭受的苦难Apple所有者都诱使他人分享他的命运,这是一个陷阱:-)否则,可能是针对Windows的持续负面活动 不过可能 确保了普通Mac用户始终处于黑暗状态。另外,实际上,Mac OS已定期打补丁(大多数情况下不会事先通知用户。)

重要的是要意识到Mac OS X的稳定性归因于专有硬件-您无法插入和测试所需的任何东西,因此实际上没有对硬件进行过测试。请注意,Apple)计算机有四个或五个选项,升级费用过高,这意味着市场上有几十种硬件,就是这样。支持轻而易举。而且,实际上,Mac OS X不是 无错误安全

6
CMR

有人可能会说Mac OS X拥有漂亮的UI,并且基于nix,但是Linux可以做到。

我听到很多。我们来看一个最近的例子: Gnome ShelliPad ,您能看到区别吗?首先,Gnome Shell上的字体糟糕透顶。

然后是图标。 图形设计的四个基本规则 是对比,重复,对齐和接近。它们基本上告诉您两个元素是否相同。当您查看Gnome Shell的主屏幕时,除了拥挤不堪之外,您还会看到形状不规则的形状各不相同的图标,因此您的脑子正忙于想知道它们是什么以及它们之间的关系。

在iPad上不会发生这种情况,因为这些元素在网格上对齐,并且它们都具有圆角和光泽效果(由iOS应用)。显然,它们是同一集合的元素,因此您可以放心。

只是具有不同执行方式的类似功能的示例。这很重要,因为设计不仅仅是油漆,外观是产品本身不可或缺的一部分。您的感觉不能与您的思维(字面意义)分开。阅读 表格是否遵循功能?


常见的误解是Mac价格过高。这是通过将低端PC与Mac进行比较得出的。如果您不这样认为,请尝试在Internet上进行认真的比较(这里是 one )。当然,如果这是您唯一的标准,那么您始终可以自己组装更强大,更便宜的PC,但这不是Apple的目标。

您不会因为Mac的强大功能而购买Mac(Mac没有与之匹配的Linux群集)。您之所以购买它,是因为有一个有薪水的员工在使用它,并且您想避免出现硬件/软件问题。 Apple重视稳定性和易用性,而不是功能或原始功能。您可以对此进行论证,但是除了个人经验之外,它们在 消费者满意度 方面始终居于首位国家。


Mac的另一个优点是,您几乎可以安装任何东西(包括KDE和Gnome)。几乎所有的Linux软件都可以通过 macports 软件包获得。这是一项重要功能,因为您不能依靠Apple来更新Java,GNU软件(march=native仍然在Apple的GCC中被窃听了,等等。 OpenGL可能是更令人毛骨悚然的示例,因为它取决于Apple驱动程序。

还有各种用途的流行桌面应用程序,不仅来自Apple),还来自Adobe,Microsoft,Autodesk和其他公司。由于您使用的是Unix,因此不需要废话。


无论如何,如果您的预算有限,或者您更喜欢Windows,Linux或运行emacs的松饼烤面包机,请继续。没有适合所有人和所有人的最佳操作系统。

4
Jano

大约七年前,当我加入UNIX商店时,我从运行Windows的笔记本电脑切换到Mac,该商店主要关注于Bioinformatics的ANSI C命令行应用程序。我可以在任何UNIX机器上工作,为什么要为Mac付费呢?纯粹是主观偏好。我更喜欢Mac本机应用程序的外观,而不是任何Linux桌面风格。我讨厌Open Office,实际上我喜欢Microsoft Office。去搞清楚。 Macports为开发人员工具提供了yum或apt-get的大多数便利。不过,花了数年的时间才能将Valgrind用于Mac。

我也不主张OS X相对于Windows的客观优势。但是,我对Windows产生了强烈的个人反感。我仍然不得不考虑Windows上的驱动器号这一事实使我感到烦恼,多年来,由于注册表损坏和错误的应用程序安装,我遭受了几次灾难。我的Mac似乎只需要较少的“整理”即可使其平稳运行。我的确在家里保留了一个最新的Windows台式机,用于游戏并为朋友和家人提供支持。但是,在过去几年中,我也很幸运将非技术人员带到Mac。再说一次,我唯一能描述其好处的方法就是减少“挑剔”。

4
Charles E. Grant

我从1984年开始就在Mac上进行开发,自1989年以来就一直在* nix上进行开发,从1990年开始就一直在Windows上进行开发。现在,作为顾问,我从事三个付费项目,其中两个在Mac上花费了我大约一半的时间,另一个在Linux上进行着。拿另一半。

也许您可以在Mac上做的某些事情在Windows/Linux上却无法做到同样的轻松?

我不会讲Windows,因为这些天我没有为它编写太多代码,而是关于Linux,嗯,是的。在Mac上,几乎所有内容都变得更容易。 :-)

我们来看一个小区域:文本编辑器。我是GUI的老家伙,一点也不做emacs,并且知道足够的vi来应付小的编辑工作。

在Ubuntu上,主要选项是gedit,kate和Eclipse。凯特(Kate)举棋不定(我丢失了很多数据),Eclipse非常重量级,因此我主要坚持使用gedit。但这就像MS记事本的程序员版本:只是做不了多少。想要添加到编辑器中的任何未内置的东西,例如ctags支持,都需要花费大量时间来不断安装和配置,并弄乱它们。

在Mac上...圣牛!有无数种非常好的选择,而且它们具有各种出色的功能。 Xcode功能强大,而TextWrangler则是一个免费应用程序,结合了kate和meld的所有最佳功能。在过去的十年中,没有人以丢失我的编辑的方式崩溃的,我不能说是kate或gedit。

实际上,Linux上的文本编辑器充满了普遍的厌倦感,以至于当我进行Linux开发时,Mac上也可以使用基础库时,我常常先在Mac OS X上使用Xcode编写代码,然后在工作时编写代码,将其移至Linux并为其编写一个makefile。

我可以继续下去。我尝试使用dia创建图表,这令人震惊。但是在Mac上,OmniGraffle在创建图表方面非常出色。

我是开放源代码的忠实拥护者,参与了多个项目,并已提交了今年夏天的渥太华Linux研讨会的讨论建议。但是我也喜欢保持自己作为快速编写出色代码的人的声誉。因此,我想使用尽可能最高效的开发工具,而这些工具通常恰好在Mac上。


补充一点……作为顾问,我因富有成效而获得报酬。闲来无事的软件是我的业余时间,我宁愿将其用于其他事情,例如和妻子在一起,练武术和学习意大利语。自2006年以来,我在两个平台上并行工作的经验是,与在Linux上相比,在Mac上花更多的时间来搞事情。

1
Bob Murphy

如果您要编写iPhone(或Mac)应用程序,则需要Mac句号。

根据我的经验,如果您要进行Web开发,则Mac远远优于Windows计算机,仅仅是因为所需的大多数工具已经存在。是的,Linux可以主张同一件事。但是您真的可以在可用性方面比较Linux和Mac吗?真?

如果您正在编写Windows应用程序,则需要一台Windows机器,仅此而已。当然,在VMWare,Parallels和Boot Camp之间,您也可以在Mac上运行Windows。

总结:大部分内置的Unix和Web开发工具,出色的可用性和Windows兼容性(如果您确实需要)。世界上最好的。另外,与其他戴尔产品相比,它使您在星巴克看上去更加冷静。 :)

0
zpasternack

除了将Mac OS X作为与Windows或Linux相比的操作系统之外,我还使用它,因为它可以运行所有内容。我启动进入OS X,但可以在Virtual Box中运行Windows 7(用于Visual Studio开发以及桌面应用程序和Web应用程序测试)和Ubuntu(用于桌面应用程序和Web应用程序测试)。如果使用其他任何工具,则至少必须有一台Mac才能在各个平台上进行测试。 Linux或Windows可以提供任何其他好处,或者取决于个人喜好。

0
Chuck

这是一个美丽,无故障的工作环境。

我使用Mac作为我的个人计算机,所以我知道如何使用它。

硬件很棒。

我可以(也可以)在VM)中运行Windows,如果需要的话,这比本地运行Windows更好(可以制作整台机器的副本,等等)。

那如果它们贵一点呢?

0
fzwo