时不时的总会看到社区的小贴士在传教:
Ruby 开发最好的环境是用 Mac,如果你有足够的资本,强烈建议用 Mac
Mac 好不反对,不过以上结论又是谁下的结论?请给我一个大牛鼓吹这个的链接。
很奇怪,为什么 Ruby 不是在 Mac 下开发出来的?
还有就是:单就 Ruby 来说,或者更绝对一点,单就 Rails 开发来说,Mac 比 Linux 好在哪里了??
以上问题我是真不理解,因为我不了解 Mac, 求指点。
BTW: 不要说图形界面多好多好,我就说的是 Ruby 开发,Rails 开发,就像小贴士里说的那样
贴士说的是,最好用 Mac,其次当然是 Linux,实在不行了用 Windows。我一直觉得 Mac 是介于 linux 与 Windows 之间的产品,对于 linux 和 windows 阵营的同学都比较友好,所以作为首选的话,也是很有道理的。
我虽然不是大牛,但是我愿意回复一个鼓吹 Mac 的帖子。
在使用第一台 Mac 之前,我用了大概四年多的 Linux,也算是资深的 Linux 用户了。我站在一个从 Linux 用户转变成 Mac 用户来谈谈我的看法。
使用 Mac 并不是因为技术上有什么优势,而是 Mac 的环境它对你的影响非常深远且潜移默化。不管你是不是艺术家,是不是自己能够做出精美的应用,只要你用 Mac 一段时间,你会发现你的 taste,也就是你的品味会被提高,相信我,这是真的。你开始关注应用的界面是否赏心悦目,并开始培养对制作精良的应用的鉴赏能力。比如好的厨师,需要不断寻找,品尝,鉴赏最美味的食物,让自己的味蕾变得挑剔无比,才有可能做出让最挑剔的客人也满意的料理。而这种品味和鉴赏能力,是需要环境不断的熏陶和积累的,这个非常重要,而且这也是我用 Mac 多年下来最大的感触。
很大一部分原因是因为:用过就回不去了。
用过 Ruby 之后,就很难有心情再去写 Java 代码。
用过 OS X 之后,就回不去 Linux 的桌面了。( 曾经的 Arch 粉,折腾 gnome kde openbox awesome xfce 折腾的心力交瘁..
适合自己的使用习惯就好,凭自己的使用经验也只能得出自己更适合某个系统,而不是某个系统优于另一个。 例如我也用 archlinux,awesome 用过现在用 xmonad,用得很顺手,也没有产生过不愉快的感觉。探索不熟悉的领域和学习,对我来说是很有乐趣的。但我不会向别人推荐它不会鼓吹这种使用方式,因为它确实很所谓的折腾。就如爬上一座山,看得到很好的风光,但路上各种凶险,不是老幼皆宜,那就没必要呼吁了,有兴趣有能力的自然会来 单就 linux 来说,也不是所有人的取向都一样,有人喜欢开箱即用,有人喜欢细细配置。11 楼配 emacs 配了大半年,我配了几天就用得轻松愉快了。所以无视各人的能力和取向,简单地说某某好某某差,没有意义的 我喜欢用 win+enter 打开终端,用 win+p 打开 dmenu,用 win+j/k/m/u 切换窗口和工作区,喜欢没有任务栏和标题栏,喜欢所有程序一打开就是全屏状态。如果 mac 可以满足我这些使用习惯,我也会尝试一下。在编辑器里面,我喜欢 vim 那样的 modal editing,小指也比较残废,所以用 emacs 我也用 evil mode,沿用在 vim 下的使用习惯。所以只有个人适合与否,没有系统的好丑 至于 taste,我喜欢甜的豆腐花,不知道 taste 算高还是低?
我不喜欢某些自我感觉良好的品味感。包括一些 Ruby/Rails 程序员,或是 Vim/Emacs/Textmate 用户...应该骄傲的是你做了什么而不是你用什么工具做。
我更喜欢_why 的这句话加进小贴士:
When you don't create things, you become defined by your tastes rather than ability. Your tastes only narrow and exclude people. So create.
从 Redhat 7.0 发布开始折腾 Linux 的用户表示,一旦用上 Mac,再也不想回到 Linux 桌面了。而且对 IT 产品设计的理解有非常大的提升,其实每一个程序员都应该用用 Mac,你不会后悔的。
老兄你写的太好了,我很喜欢,不过往往在我看来,很多用 Mac 的人,并没有把 Mac 当作 Unix Like 系统来用,相反,正是因为咱社区一些真正懂 Mac 的人不遗余力的鼓吹
(容许我这样说), 很多人跟风也开始用 Mac, 而且我觉得很多人一开始的抱着一种Mac 和 Windows 挺像的心态来用 Mac, 这出发点绝对有大问题,因为如果这种心态,再用上好多年,在你心里,他可能仍旧只是一个个人 taste 更好的一个 Windows 而已。很多人我估计用了半天 Mac, 都不知道 Mac 其实就是 freeBSD 下的一个 Windows Manager
, 只不过是比 Gnome, KDE, XFCE 更高级点的而已。他们可能完全忽略了Wndows Manager
下面隐藏的东西。
BTW: 这里我不是说 Windows 不好。我觉有没有几个人有资格评价 Window 如何如何。至少我用了七八年 Windows, 感觉经验丰富,了解的东西挺多,不过全都是表层的,关于 Windows 自身,我到现在都是个地地道道的小白。相反,咱社区一些在 Windows 领域能达到相当造诣的牛人,我是发自内心的佩服的.
不过我还是得指出,你说的那些 taste
, 按照我的理解,主要的部分 应该就是指的 Mac 在图形界面上的一些创新和体验吧。这其实和使用 Ruby 关系不大吧?
楼上各位所说的 Mac 的体验感我都认同,不过都是一个优秀的系统所具备的,但是这对 Ruby 又有什么帮助呢?毕竟你不是用 Ruby 开发 IOS 应用,相反就像@Rei 二楼所说,迟早还是要用 Linux 来部署的。对于新人,反倒是增加了一层负担。
Emacs配了几天就用的轻松愉快了
你简直太酷了~ 在你配之前应该已经熟悉了一段时间了吧。
我都用了一年多了,现在还是用的糊里糊涂,凑合着瞎用。不过某些时候,也还是感觉挺轻松愉快的。
我在用 mac 之前,有把老的笔记本安装上 ubuntu,一来,我发现散热不太好,应该是由于硬件太多,并没有做过多的优化的缘故吧,还请允许我这么说。二来,在日常软件上面,也有一些缺陷,对其支持的貌似不太多。例如我在 windows 下已经习惯了搜狗的双拼,QQ,有道词典,飞信。你可以说有很多东西可以替代,但都不是特别直接。
用 mac 的好处,你可以很方便的安装上一些常用软件之后,就可以开始进入到开发的状态。让你可以把大把的时间专心花在开发和学习上,同时又有 linux 般的感觉和便利,基本上 ruby 上的应用都是那么的妥协。
其实我真心希望支持 mac 的同学能列出类似这种贴近主题 (亦即 Ruby / Rails) 的例子来:
http://yehudakatz.com/2012/06/05/tokaido-status-update-implementation-details/
http://railsinstaller.org/
+1, 楼上说的都太飘渺...
请真真切切列出使用 Mac 开发 Ruby ,开发 Rails 的好处是什么?
BTW: 属于 Unix 系统自身的好处就不用谈了,而且我觉得也不用谈图形界面多好多好,大家都知道很好,但是很多 linuxer 连桌面系统都可以不要,鼠标基本上也没用,这丝毫不影响使用 Ruby?
#16 楼 @zw963 我没有用过 Mac,但它不只是一个 window manager 这么简单吧。他在 GUI 层面的进程间通信机制要比 linux 的管道更健全,更统一。我是从这篇文章里学到的。
开发人员为何应该使用 Mac OS X 兼 OS X 小史
http://blog.youxu.info/2010/02/28/why-mac-os-x-for-programmers/
好长的文章。写的很好。之前只是知道,在 64 位化的方面,苹果的系统走在了前面,而且非常彻底。没想到还有这么多东西。不过看来看去,讲的还是 GUI, 没发现哪一条跟 Ruby 有关的。
不过能感觉到这个作者对于 Mac 系统的推崇。我想短短的几年,在 IOS 上的软件数量超过了 Windows 平台,一方面是因为手机的缘故,另一方面,也是这个 GUI 平台的缘故吧。
华顺你应该是咱社区传教 Mac 最积极的人了,而且我相信你对 Mac 也是及其熟悉的。不妨具体说说,在 你使用 Ruby 以及 Rails 做开发方面,到底哪些方面,有那些优越性 , 是你 强烈建议的 ? 顺便也给我这个 Mac 小白 扫扫盲。
关于 mac 还有两篇延伸,以前研究苹果股票的时候看的。 return of mac paul graham Walter Isaacson’s ‘Steve Jobs’ daring fireball Rails 是用 Mac 和 Textmate 写的。XD
我觉得用 Mac 主要是出了社会了,没那么多时间了,要把折腾的时间省下来,花在别的地方上:聚聚会、运运动、把把妹、撸撸管(苹果屏幕漂亮,尤其 retina 那是...)恩,et cetera. 哈哈
我觉得可能是我个人的缘故,有点极端,以前用 Windows , 其实就爱折腾快捷键啥的,现在用 Linux, 基本上除了 Chrome 页面浏览,其他基本上都是快捷键完成的。事实上在我看来,使用 linux, Unbuntu 之类的玩意儿搞个图形界面也是多此一举的。如果真让我将来使用一个系统,用来娱乐,很长一段时间,我估计还是会首选 Windows , 因为国内 Windows 支持太好了,但是除了 Windows , 我肯定会选 Mac, 但是如果工作,要看什么工作,Ruby 或 Rails 方面,我还是认为 Linux 更好,其实准确点说,纯的 Unix 更好。因为实在没有更好的选择,所以我就用一款老外说最像 Unix 的 Linux. 也许这个选择看似多一些折腾,不过我坚信,方向是对的,而且如果想进一步提高,这样的方式反而会少走很多弯路。
别的不说:你如果没有 Linux 这几年的经验,用 Mac 估计也不会这么 High, 而且,之前咱社区也有人问过有关部署时,文件权限的问题,你怎么回答都解释不清,深有感触吧。
#35 楼 @zw963 我的理解是,Ruby 和 Mac 都从 Smalltalk 这门语言中继承了不少精髓思想。所以 Mac 可以很方便的在运行时实现进程的信息共享(并且是 GUI 层面的,而不是基于文本的),而 Ruby 的 Runtime 对象可以很方便的彼此通信(Ruby 强大的元编程)。他们在这个层面是有共性的,所以对 ruby 和 mac 了解越多,对运行时的对象通信就了解的越多(这时候就可以感受到那些静态语言的反射机制有多么臃肿了),而这对开发人员的思维拓展是有很大好处的。
使用 Mac 开发 Ruby ,开发 Rails 的好处
, 我觉得以上可以是一个理由。
另一个理由,mac 相对来说不折腾。
不折腾要看从那个角度,诚然,我发现 Mac 通过包管理,提供了大量的常用的软件,但是如果你开发过程中用到一些开源的东西呢?这些开源的东西可不一定都是用 Ruby 这种高级层次的抽象语言实现的。如果是需要编译呢?这个时候,我想用 Mac 应该有的折腾了吧。而在这点上,Linux 一般很少折腾的。
看到了 DHH 的一篇文章。其中有一句话:
OS X offers the best personal computing experience available today
不过下面的一句话更有意思:
While I can certainly understand the reasons why some people go with Linux, I have run all but dry of understanding for programmers that willfully pick Windows as their platform of choice. I know a few that are still stuck in the rut for various reasons — none of them desire
默默地用着 ubuntu 的飘过。。 虽然也想用 mac 来着,不过暂时还是先折腾着 linux 吧 觉得 mac 胜在用户体验上吧 程序员也是用户 作为一个用户 谁不想用体验更好的产品呢 当然 个人喜好不同 也可能更爱折腾 其实最喜欢 mac 的触摸板 真心好 不过键盘总觉得不是很好
@zw963 如果主席你纠结的是 Ruby 开发最好的环境是用 Mac,如果你有足够的资本,强烈建议用 Mac
这句话。那我觉得这句话是没错的,在 Mac 下配置 Ruby、Rails 环境遇到的问题总是小于 Linux 的各个发行版
@zw963 这些开源的东西可不一定都是用Ruby这种高级层次的抽象语言实现的. 如果是需要编译呢? 这个时候, 我想用Mac应该有的折腾了吧. 而在这点上, Linux 一般很少折腾的.
,我不理解你说的为什么 Mac 下应该有的折腾?
首先 Mac 下有 homebrew 这样的包管理系统,很多你说的需要自己手动编译的开源程序都可以使用别人预先写好的编译步骤自动来进行。
所有的包都是从源码编译的,而不是预先编译好的二进制包,就像 Arch 和 Gentoo pac 和 emerge 的区别一样。
就算有的包没办法从 homebrew 安装,在 Mac 下编译和在 Linux 下编译不会有什么不同,我不明白为什么会有的折腾。
#52 楼 @willmouse 如果没不同,那么用白干一个月的工资来买 mac 干嘛……你需要证明的是在开发上比 linux 更好,而不仅仅是 eyes candy, 比方说,一个简单的 run-or-raise 的功能 linux 一句话脚本 wmctrl -x -a "$1" || $2
就搞定了,绑定快捷键从此告别Alt+Tab
mac 下有啥“不折腾”的法子?
从开发者角度讲,mac 是没法跟 Linux 比的,Linux 是个 by developers for developers 的系统,而 Mac 是个 by craftsman for end-user 的系统。
打开 GUI,mac 是 god,Linux 是 dog。一旦开启命令行,mac 就是一坨屎。
#51 楼 @willmouse 我记得有段时间 xcode 的升级导致 ruby 很难编译。随着 Mac 的用户多了这些问题自然得到了解决。所以我不赞成「总是」这个词。
有些 Linux 用户是没认识到 Mac 强势的资本是什么盲目抵制,而有些 Mac 用户是沾着一些 Hacker 的光以为自己用了英雄的武器就能成为英雄。
怎么都好,想用啥就用啥去。我会用我完成的事去输出我的价值观。
其实当初写这句只是想表达“Mac 是最合适 Web 开发人员的环境”,只是措辞不太好...
其实就是 #48 楼 @kevin__liu 那个解释
我有过一年多在公司用 Ubuntu 回家用 Mac OS X 的经历,这个过程中,明显感觉在 Mac 下面工作的时候效率能更高。
抛开内核不同不说,至少开源的很多东西更多在 Linux 下 开发完成 (采用 GNU), 我承认可能比较有名的开源软件可能都会有 Mac 的源码包,不过我想总是有点区别的。或者是早期的一些实验性的版本,在 BSD 系统上,不见得直接拿来就用吧。
我是推测,可能不对,因为我从来没有在 Mac 上编译安装过东西,我想绝大多数果粉也没这么干过。呵呵。
有机会,也许我也会切换到 Mac 下,不过前提条件是个人的常用的一些的东西,必须在 Mac 可以运行,目前还不满足。
另外我想说,用那个其实还是在于个人:
可能会有多人在用 Ubuntu 那种发布版很久,反倒很少用 CLI, 反倒是过分的追求这个要有图形界面软件,那个也要有,还是以前 Windows 的思维,这种干法,绝对有点舍本逐末
的意思。
但是我知道,就如同 @huacnlee 你介绍的,在我看来,你其实就是认为 Mac 同时具备 Unix like的哲学
和 Mac的Taste
, 工具齐全了还高效。可是真正用 Mac 的人,可能都在品味 Mac 的 Taste , 我怀疑又有几个人能体会到前者呢?在我看来,很多人还是把 Mac 当作一个高级版本的 Windows 来用而已。
不过至少在 Linux 下,少了好多Good Taste
GUI 东西,相对来说就多了一点折腾,而且,我感觉对于 Rails 或 Ruby 这种 Linux 下原生的 Geek 语言来说,该折腾的迟早还是要折腾的。等你折腾的差不多了,再换 Mac 也不错。
我自作主张的下个结论: Mac 不会让你少什么,前提是你真正了解它有什么。
你说的 CLI 是纯文本的那种还是 X 下面的?
如果是纯文本的,别提多难用了,最开始我可是好折腾了,想换键,想显示中文,后来终于证明,这是不可能完成的任务。当时也是有点极端,现在想想,谁会在文本终端下作开发??
如果是 X 下面的话,我比较了几种,我认为最漂亮的 CLI(或者说一见钟情) 是 XFCE4 自带的 Terminal. 功能也比较完善,也可以设定一些快键。X 下的终端是建立在 X mapping 之上的,所以所有的键,由你随便换。只需要一个命令 xmodmap, 改这个虽然有点枯燥,但其实挺简单:
xmodmap -e "remove lock = 0xffe5" &>/dev/null
xmodmap -e "add control = 0xffe5" &>/dev/null
xmodmap -e "keycode 66 = 0xffe3" &>/dev/null
xmodmap -e "remove mod1 = 0xffea" &>/dev/null
xmodmap -e "add lock = 0xffea" &>/dev/null
xmodmap -e "keycode 108 = 0xffe5" &>/dev/null
这个脚本,把 CapsLock 换成 Ctrl, 但同时左边的 Ctrl 我没动,把右边的 Alt 换成了 Capslock.
BTW: Emacs24 的 shell-mode 非常棒了。你可以考虑试试。除了某些情况下无法显示彩色内容 (例如 git log 命令输出), 其他都几乎完全一样了。
Mac 派:优雅,便利,舒适,易用,用过了就回不去了
Linux 方:你有我也有,不花冤枉钱,哥没用过,你也别装 B
我认为存在即合理,大部分人从 Linux 投身 Mac,而且用过之后几乎很少再会回到 Linux,至少能说明 Mac 系统在一定方面符合大家的使用习惯,乔布斯的精心雕琢还是赢得了用户在体验方面的投票
我觉得理性的想法应该是 你也没必要说服我,我也没必要反驳你,一个系统而已,喜欢用就用,不喜欢就用自己喜欢的,花费大量时间引经据典,旁征博引对方也不一定买账
结论:爱用啥用啥
我没说清楚,我说的彩色指的是git log --graph
左侧显式的那个分支图的颜色。
另外,log 的 SHA1 码也不是默认的桔色,默认我设定就是 true, 但是这些输出仍然是白色。
想想当年的 Java 吧
Mac OS X is the only mass-market operating system that comes complete with a fully configured and ready-to-use Java Development Kit. Professional Java developers are increasingly turning to the feature-rich Mac OS X as the operating system of choice for cross-platform Java development projects on the Macintosh and other platforms.
http://gigaom.com/apple/os-x-best-java-platform/
哪天苹果玩厌了 Ruby,Java 的今天就是 Ruby 的明天。
我 Emacs24 编译包装完我已经删除了,这个参数不太熟,如果加了这个参数,难道你不用 GTK+ 来启动图形界面的 frame ?? 还有就是为什么我在 XFCE 的 Terminal 下自动设定为 xterm, 在 shell-mode 下自动设定为 dumb. 需要修改系统的什么东西才可以让$TERM
显示为 xterm-256color ??
还有个疑问,原来我也想过用虚拟终端,不过有些键位的默认绑定太奇怪了,例如:Alt+Return 竟然和 C-M-b 是同一个键,C-/ 竟然就是等于 C-_, 你那个 linux 发布版是不是也是这样的?另外,也没办法用 Theme 吧!
#74 楼 @zw963 没有用 gtk,因为感觉渲染比纯字符界面要慢。我是在.bashrc 里加了 export TERM="xterm-256color"的。 我因为没有用那些键,所以也不知道怎么回事。theme 可以用的,显示效果和 gtk 的一样,只不过字体大小是由虚拟终端设定,而且只有一种大小。就是 vim 和 gvim 的区别 效果图 http://ww1.sinaimg.cn/large/65a79f0cgw1dwia039p83j.jpg 和 http://ww4.sinaimg.cn/large/65a79f0cgw1dwia2abo1tj.jpg
我终于明白你说的可以用 theme 是什么意思了。我照你说的设定后,新启动 Frame 时,直接在在 XFCE Terminal 下打开了,的确支持 Theme, 不过键位还是虚拟终端的键位,字体渲染也是虚拟终端的,只不过是一个披着 theme 马甲的的文本 Terminal. 哈哈。
最可笑的是竟然 Emacs 快捷键可以和 XFCE Terminal 快捷键混合在一起。太 BT 了。
不过有些问题,好像在 Terminal 和 Buffer 下切换,界面不会自动重绘呀。坑爹。刚才首先打开我的.emacs 脚本,然后进入 shell-mode, 然后又切换回来,不知怎么搞的,就把大一堆ls 输出
给我搞到脚本并保存了。
不过很好,颜色问题也解决了,谢啦。shell-mode 除了看 Man 帮助还得到 Terminal 下,不太方便外 (没养成用 Emacs 看 Man 帮助的习惯), 其他都很 OK 了。
知音呀。哈哈,一眼就知道是 Zenburn.
我也发个图吧。因为要使用 shell-mode, 我专门针对这几个特定的 buffer 开启了 tabbar-mode. 效果还蛮不错.
还有个问题,再请教下
#77 楼 @zw963 不是 zenburn,是这个 http://ruby-china.org/topics/3853 稍微改了一下 clear 我没用过,不过 wiki 有解 http://emacswiki.org/emacs/ShellMode#toc11
谢了,有关 Emacs 我真不折腾了,我现在不是折腾的少,是折腾的太多啦。
多到我现在都不知道该咋用 Emacs 了。几乎每一种情况,都有三四种用法,用这个也觉得挺好,用那个也觉得挺好,慢慢的,我会趋向于越来越简单吧。
凡事好像都是这么个规律吧。
惊呆了,这个问题也能讨论了 80 个回复。
个人认为 Mac 是 Web 开发最佳实践中最好用的工具。
不同意我就是不客观。
以上是开玩笑。
我喜欢 Mac 的几个原因
身为一个码农,偶尔还是需要比较一下农具的。
顶@hooopo 14 楼,偶一个很好的哥们想去参与一个前端的开发的会议,美其名曰,以后跟别人说我参加过 xxx 会。
我直接跟哥们说了。你做前端的,参加什么什么会议不能说明什么,提高不了你个人价值。如果你有很多时间和精力,你可以去做一些什么,然后你的作品才是你的价值表现。 开发工具,开发环境,熟悉就 ok 啦,除非碰到不可逆因数,至少偶在 win 下用 netbeans 开发 ROR 都 5 年了,暂时还没碰到特别难搞的情况。偶尔会弄个 linux 服务器部署下应用。不就这点东西,代码都是 ruby 代码,ruby 代码并没分平台,唯独 gem 可能会有问题。。。明白这本质的话,应该就没人会拿开发来说事。
当然,品味是一个很好的理由,但因人而异吧。
Linux 系的只用过 Ubuntu,现在用过 Mac 就不想再用回 Ubuntu 了。。。当然这台 Mac 对我而言不光是工作机。
搞 Ruby 开发 windows 就不提了,Ubuntu 的命令行工具确实对开发人员挺有帮助,这跟点 Mac 差不多,有些地方还比 Mac 好,毕竟 BSD 和 Linux 还是有差别的。但即使 Linux 发行版中相对友好的 Ubuntu,也少不了折腾(这有美观方面的要求,但我觉得这也算开发环境的一部分,毕竟是长期相处的工具),尤其是有自定义需求的时候。其实细想起来,大部分开发人员需要的都是差不多的东西。但折腾其实要花不少时间,最后可能还得不到自己满意的效果。而且对实用且美观的工具,尤其是图形化的,Ubuntu 下实在没什么好的选择,最后发现还不如命令行。
我觉得 Mac 最大的好处在于,它给你一个还不错,满足大多数人要求的开发环境,一些基本的实用工具。你还是有空间去折腾,但不是为一些琐碎和常见的事情。这可以节省很多时间,也变相的让你专注自己该干的事情。
为什么总是这类的帖子楼很高呢?
Windows 首先肯定是不能用的,其后 Mac 和各种 Linux 从根上说又有多大分别呢?本是同根生,相煎何太急。
然后再说说各种 Linux 发行版,我在转 Mac 之前也是用了很长一段时间 Linux,这玩意用作服务器是首选,折腾也可以,但作为桌面环境还是差强人意,各大桌面厂商疲软已经是不争的事实。
东西你喜不喜欢是个主观的决定,谁也没逼你喜欢在纯 console 下 coding,但一个东西好与不好,会有一定的标准。
另外说一句,很多工具首发版本都是 Mac,例如 pow,livereload 等等。
#85 楼 @hpyhacking #84 楼 @darkbaby123 #83 楼 @help5305fff #82 楼 @_samqiu
这楼本来歪得好好的,结果又给歪回来了... 哈哈。
#85 楼 @hpyhacking #87 楼 @lgn21st 没有答案的的问题,讨论的人总会多。萝卜青菜各有所爱,想说服他人本身就是不大可能的事情,尤其是个人喜好。所以我喜欢 Vim,但从没对人推荐过。
关于操作系统和编辑器的争论,貌似各执一词,但基本都是 "我老婆最漂亮" ...
我觉得贴士里写 Mac 没什么不妥,写 Linux 也不错,各有道理,但写 "Linux 或 Mac" 就太假了,中肯了但信息含量直线下降,不如不写 ...
#86 楼 @hpyhacking 我是用了 5 年 Linux 上的 bash 最近 2 年才用一些 mac 上的 bash,Mac 上的命令行给我的感觉是:
弱智,不成熟,没人管
注意,命令行也是一道大餐,bash 只是餐盘。一个好用的命令行环境,和一个好的 GUI 环境一样有一千万个细节需要人维护。没人维护就变成一千万个屎坨等你去踩。
如果我们每天只是在脚本层劳动的话,对这些可能不会太有感觉。如果我把我的遇到的那些屎坨掰开揉碎给大家的话,估计也没人感兴趣。但是如果有一天你的开发往下发展,请记住这里有人说过:
Mac cli, Fuck you * 10000000 !
#92 楼 @happypeter 开专题贴声讨一下 Mac 的 cli 吧,其实我是想通过你 raise 出的 cli 的问题,从而更加深入理解和学习 cli。
#93 楼 @diudiutang #94 楼 @luikore
如我在 #86 楼所说,换 iTerm + zsh 也只是换个皮肤,命令行的实质与我而言,是整个的符合 Unix 哲学的软件生态链。
如果大家觉得我说的太空的话,可以去了解一下 ubuntu 公司的打包过程。当然 ubuntu 的 CLI 好用,也是有 Linux 自身特点决定的(例如对整个的 GNU 工具链的安装),因为 Linux 还有个名字叫 GNU/Linux。
没人提 Mac 的 quicksilver? http://qsapp.com/
当然这个也属于图形界面的优势。。。
另外一个理由是:大牛都在用呀,Yehuda Katz 等 大多数 Ruby 会议上的演讲者也是用 Mac,跟着大牛走,资源丰富,成长快速。
#96 楼 @happypeter iTerm 这么多好处都被你一个皮肤带过了... 我只知道某些命令例如 sed 的一个参数不同,GNU 工具链除了 edge GCC 不好整,在 Mac 还没碰到过不好用的...
Linux 哲学和 Unix 哲学是有微妙差别的,Mac 才是 Unix 啊喂!
#96 楼 @happypeter 目前大部分人的运用可能都局限在脚本层面和一些常用的命令上,这点和 Linix 可以说是 99% 相似。我不知道你说的深入底层只的是什么,能否举几个例子。 至于 gcc 那套东西,苹果可能还真看不上,不然也就不会花功夫专门搞了套 llvm 替代之
有三篇软文可以一看
这篇稍带批判 mac osx cli 的,这个可能有点 @happypeter 想表达的意思
#96 楼 @happypeter 说真的用了 Mac 后看到终端我感觉到非常亲切,但我真的不是很明白同为 CLI,同为 CLI 的工具,哪个没有编译用就好了,bash 也是那个 bash,zsh 也是那个 zsh,iTerm 这些也没比 gnome-terminal 或 urxvt 什么的差,到底哪让你那么不爽。也许我平时用的还不算多,普通的就不说了,高级点的经常就那些 grep find awk 什么的,也没觉得缺什么啊?开发工具 llvm 什么也不少,归根结底都算 Unix 系。建议你好好声讨一下 Mac Cli,让我们也了解一下。
建议修改为
Ruby 开发最好的环境是用 Mac 或 Linux,为了避免莫名其妙的问题,请不要使用 Windows。
#96 楼 @happypeter 我没有发现 Mac 的 CLI 和 Linux 发行版相比有多大差别,iTerm+hombrew+zsh 就够用了。有没有一些深层次的原因?
#99 楼 @luikore #105 楼 @thcode #105 楼 @thcode #95 楼 @lgn21st
原本想口水一下 mac 就闪人的,没想到被大家围攻了。我没有什么太深刻的原因,只是一些直观的开发效率的感受。cli pk cli,哪里会有什么深刻的原因,如果 cli pk gui 可能还是能扯出点东西来。
以下几点遭遇已经让我放弃了 Mac 下的命令行了:
不奢望以上理由能说服 Mac 老手,因为对于老手来讲这都不是问题,我的意思只是说,反正 Linux 下的命令行我们早晚都要吃透的,那我们倒不如干脆不用 Mac 下的,省点时间干正事。
我的机器是 iMac,虚拟机里装 ubuntu。
#101 楼 @diudiutang 底层一些? system programmer 的那些事儿呗。http://en.wikipedia.org/wiki/System_programming
#108 楼 @happypeter 你的遭遇也有自己道理,只是没有说的让大家明白而已,扯了个玄乎的底层不知道是什么意思,大家也都只是摆事实,讲道理,交换观点和看法
本非抬杠,只是这些观点实在是没有说服力。。
虽然我是一个还在 windows 挣扎的屌丝,但是等我兜里银子多了肯定会换到 mac 下面做开发的。在 windows 下面做 rails 是苦逼的,gemfile.lock 当时就让我折腾了好久。linux 的工具说实话差 mac 不是一点半点 (linux 的 geek 除外,这句话只针对普通程序员)。 曾经用过一阵子黑苹果,真心喜欢 mac 了,之前和楼主一样是个喷 mac 的人,感觉 mac 用户都装 B,后来发现人家 mac 是真心好用,劝楼主花点时间弄个黑 mac 或者直接买个 mac 玩上一两个月,你会爱上 mac 的,真的,那确实是个艺术品,融合了 windows 和 linux 的神器,而且不是简单的融合,mac 上的软件个个都是精品,艺术品,用了 mac 再看 windows 下的软件,真心是想吐的心都有啊。 vim 和 emac 可以在 geek 手里变成利器,但是还是有很多程序猿不愿意为了一个 editor 去学习 lisp 和整一大堆的配置文件的,这时候就是 textmate 和 sublime 的天下了,这两个编辑器虽比不上 vim 的效率,emacs 无所不能的强大,但是也已经是让我从 visual studio,xcode,eclipse 等巨庞大的 ide 中逃脱的神级 edtior 了。 千言万语一句话,楼主先整一个体验体验吧。
@darkbaby123 相当同意,计算机哪个领域都是一个坑,vim 和 emacs 是大坑啊...本来是想学 rails 的,后来给整到学 vim 和 emacs,然后学着学着又发现给整到 lisp 上,然后再学 lisp 的一大堆其他东西,就像狗熊掰棒子一样,一路走一路丢,到最后什么都没学好...不如就用最好用的工具,拿来就能用的工具,这样子才能专心学好 rails
#111 楼 @diudiutang 哈哈,有学了几招,多谢!
我才用 Mac 一年多,而且不是总用。所以我的 Mac 观点都是一个新手角度来观察的,不过我想参考意义也还是有的。
Linux 下我喜欢用 locate,Mac 下没有啊。
Linux 下我脚本里的 sed,Mac 下失灵了。
Linux 下 rm xxx/ -rf
, 这里也不灵了。
等等。。
所有这些东西,都让你觉得很浪费时间啊。所以我只是提个建议:
新手不要学 Mac cli 了,直接把 Linux 下的 command line 吃透,岂不省力。
这对 Mac 老手肯定是不适用的啦。
#120 楼 @happypeter 我感觉平时学的也都是 linux cli,再说网上也没有教授 mac cli 的。mac 下的参数一般都是紧跟着命令的 像 rm xxx/ -rf 要写成 rm -rf xxx,
locate 还真有,look , 不过这个需要装 command line tools
16:02 ➜ ~ which locate /usr/bin/locate
#123 楼 @happypeter 嗯,awk 也是用的 clt 里面的,你可以试下看是不是和 Linux 的功能一样,这个没试过,我写的 awk 都是很简单的,最近准备仔细学习下 awk 语法,Linux 那些管道好像也就 awk 和 sed 复杂点
legacy
的东西,希望理查德 * 斯托曼
改正,但是大神貌似不鸟苹果,其中缘由,那就涉及 FSF的自由精神
与 苹果的专有软件保护
之间不可妥协的我难题了。如果真如你所说,Mac 不鸟 GCC, 而我知道大神又不鸟 Mac, 那么对我我这样一个 Mac 来说,我真很怀疑在 Linux 下可能很简单的编译安装到了 Mac 可能真有问题。
折腾 Linux 桌面很花时间,那是因为还是没理解 Linux 的优势在那里。
我从用 Linux 开始,就没用过 Gnome, KDE 只是进去过几次,你应该吧功夫花在 CLI 上面。将来就算用 Mac, 你也不吃亏。因为之前你了解的东西,在 Mac 下面肯定大部分能用,因为都是 BASH Shell.
总结起来是这样的: 想当年用 linux 那几年,费了九牛二虎之力,才把 vim、rvm、zsh、terminal、tmux 神码的配好,真 TMD 折腾……
换了 mac,只要把默认的 terminal 换回 urxvt 神码的,tmux 装上,重新编译 vim 那么一下,把 command line tools 另外安装一下,rvm、zsh 重新装上,原来的配置文件拷过来那么一下,Oh, it just works! 不折腾!
我知道为什么我还是没忍住,发了这个帖子了。
你转帖的这篇文章:Linux用户说,请不要神化Mac系统
, 文章作者对于自己的描述:
1999年以前使用DOS,从1999年开始,接触到了Linux,装了Redhat Linux 6.0+Window98双系统,花了6个月时间熟悉了Linux之后,开始更多的使用了Linux。2002年将Windows从系统中清除了以后,选定Slackware Linux作为我的操作系统,其间没有更换过其它Linux发行版。很少在Windows环境下工作,从不惧怕命令行,实际上,我的大部分工作是在命令行下完成的,大量使用脚本语言、后台管理和服务器,因此桌面系统的好坏对我来说不重要。我的桌面系统一直以来都是XFCE4,使用英文环境,但是可以阅读和输入中文,也即我的locale=en_US.UTF-8。
如果再让我选择一次,我会毫不犹豫选择Thinkpad+Slackware,而不是Macbook Pro+OS X。
除了我是 2011 年开始使用 Linux, 水平比人家菜的多之外,其他的部分和我一模一样,Slackware, XFCE, 这些选择都是很主观,而且是不可能有任何人推荐的。
甚至连我们用的电脑都一样。我估计作者肯定也是痴迷于 Thinkpad 的 小红帽
只能说,那个作者和俺,都实在有点非主流...
我没用过 Mac 下的 CLI, 无法评论,不过给我感觉至少还是蛮漂亮的。
不过,还是支持你~ +1
顺便问下: unix 规范的解释权最终落到了一个狗屎组织手里了。
这个组织是什么?
这个小贴士无所谓吧,目前 darwin 和 linux 还没差异化到非得决出个高下的程度
我有三台 macbook,不过单位工作用机是一台 24G 内存的 ubuntu12.10,darwin 和 linux 这两个系统都用了快 6 年了,简单说说感想供新手参考
Darwin 的优点
Linux 的优点
最后,我推荐的操作系统,其实是 emacs....如果你生活在 emacs 中,不管 darwin 还是 linux,那一切都是浮云啊
#123 楼 @happypeter Mac 的 cli 确实和 gnu/linux 不一样,但是起源可是 bsd,那也是相当根正苗红啊....
我是完全没觉得 mac cli 会有什么阻碍,相反还可以多接触一些 bsd 的风格,很有意思
真正应该吐槽的,是 mac 那个扯淡的,乱加效果的 gui,尤其是雪豹以上 lion 和 mountain lion 一直在胡搞,而且这个破 gui 基本没有可订制性,速度还慢,严重影响我的效率
补充一下,我真正的建议是:
笔记本买新出的 mbp retina,16G 内存,其他厂商的笔记本比起来太差了没法用,主要是屏幕和工业设计方面落后好几个时代
台式机自己攒,跑 ubuntu 或 arch,32G 内存 27 寸显示器 x2,ssd 机械键盘什么的随便上,加起来也没多少钱,再配个酷到掉渣的 hacker 机箱,把系统搞精简些,看到你的运行速度,mac 党就只有羡慕嫉妒恨了
#140 楼 @lilu 的确,Mac 的系统哪怕不好,也不是我这么一个只有一年经验的人可以有资格评判的。我吐槽的是我从 Linux 到 Mac 的这一系列的转换成本,真是很操蛋。
我想给大家的提示是:如果我从 Linux 到 Mac 很不适应,那别人从 Mac 到 Linux 应该转换成本也很大。那既然我们项目是部署在 Linux 之上,所以最终看真功夫的地方还是在 Linux 里。
可能有人会说:可 Mac 是最好的 ruby 开发环境啊?所以 Mac 也不得不学啊。 我的回答是:Linux 也是很牛的开发环境,多年来一个 vim 可以适应所有工作。而 GUI 的 IDE 呢?大家想想 textmate 现在的尴尬吧。。。
PS:我也喜欢 Mac 的 taste。也喜欢苹果引导的设计潮流,确实大师级。
用了几年 gentoo 确实稳定和放心,最新换机器实在没时间折腾直接上 ubuntu,只是不习惯各个桌面系统,依旧 fvwm 用着。 gentoo 挺好,就是官方支持团队确实没有 ubuntu 那庞大的实力。 如果有时间,真心想自己配置一套(内核加包管理系统,用别人的,所以只是配置),在借鉴 subtle 自己写个舒心的窗口管理器。 用 linux 最大的不舒服就是找不到好一点的机器,好看的外观舒心的设计的笔记本。毕竟买 mac 装自己的系统,总有些浪费,而且哪些个驱动估计支持也是问题。 一切等有时间有 money 慢慢折腾,目前干活吃饭重要。
#147 楼 @happypeter 所以我推荐都用,另外包管理器 mac 上根本没有,homebrew 是社区产物,绝不能算在 mac 研发团队头上,当然用 ruby 实现的 homebrew 本身是很不错的项目,非常值得肯定和研究
热帖留名
2010 中的 mac pro 老爷机,有点慢,加到 8G 内存,勉强能用。
主要使用的软件:
#147 楼 @happypeter 从上次 100 楼看到这里,想说点什么~
问题时时刻刻我们都会遇到,Google 即可,看了你上面列出的那些 Mac Cli 的罪状其实简单 Google 之都可以解决。
换了 OS 某些东西当然会发生改变,最简单的 RH 系和 Ubuntu 还有 Arch 这些的 Linux 目录结构、后台任务等等的 CLI 也都不一样,没去适应反而吐槽就有点多此一举了,这和是不是新接触 Mac 貌似关系不大。
我相信不久的将来各 Linux 厂商会逐渐隐退回 Server 阵地,不能集中力量踏踏实实搞好 GUI 始终不能在桌面系统站住脚。
我也活在 awesome 中一年多,确实很爽,还有其他 WM 也不错,但那些小众的玩意毕竟是给 hacker 准备的,我认为 Mac 还是开发 Ruby 乃至更多语言的大众首选,逻辑如下:
Mac < Unix && Linux < Unix && Mac.desktop > Linux.desktop
我一直在支持正版,但几次下来最终还是把单位的 PC 给 Hackintosh 了,没办法 Mac 就是有种魔力让你去使用它。
另外请不要在 Mac 跟 Linux 只见比较了,我们都知道 Linux 是内核,GNU 是一套工具集,这根本就没有可比性,你要比就用 Fedora,Ubuntu 或者自己 Hack 的。
#157 楼 @hpyhacking Linux 在桌面这些年,确实让人叹息啊。看来你是真懂 Linux 的,所以你对 Mac 的评价对我很具有参考价值。多谢,我就是想抛 shit 引玉。
#157 楼 @hpyhacking @happypeter Linux 在桌面系统的发展靠的从来不是厂商,而是社区,过去,现在和将来都是,所以 linux 的桌面永远会有人在坚持在贡献,对比一下 redhat 桌面的悲催命运和 ubuntu,arch 等社区驱动的项目区别就知道了
Mac os x 再怎么样,也是个完全的商业系统,这一点上和很多人,尤其是 linux 用户的信仰就不相同,人最重要的是相信什么,所以你让这些信仰开放自由软件的人转到 mac 不太可能,看看 ruby 社区 2012 年的统计结果,mac 用户的增长全都是攫取的 windows 的份额,linux 一直保持在 25% 没有变
所以,用什么主要看你有什么样的信念和想法,在犹豫摇摆的人本身就不适合 linux,随便找个系统用就好,当然除了 windows
唉。扯哪去了。。。
新手固然用 mac 搞 ruby 啊,必须的。
ps:我没用过 mac pps:以后我只用 linux,哪怕他不是那么方便。因为我喜欢开源。 ppps:开源万岁!gpl 万岁!apach 也万岁!
人家东西做得认真,做得精致,就应该提倡,粗制滥造的 PC 厂商和微软一起能做出那样的电脑吗?现在连 Google 都想自己做硬件了,在那些 PC 厂商工作过的人恐怕他们自己都不愿意用自己公司做出来的东西