月度归档:2009年12月

硬件才是限制自由软件的 No.1

昨天舍友看到我在 Ubuntu 9.10 下 Coding,觉得界面比较炫,然后突然想起自己的机器上曾在 07 年装了一个 Redhat 9.2 Desktop 中文版。重启一下,怀念了一下往日疯狂装系统的时光。然后发现上不了网,为什么呢?

由于之前在学校使用的有线连接,目前屋子里头使用的是无线,他电脑上插着一个从京东买来的 TP-Link WN322G+ 2.0 的无线网卡,之前一直在 Windows 下装着驱动,自然跑得飞快,时常在网上“ 草蛋 ”。可惜的是在 Redhat 中,他也不知道如何设置无线,更别说安装驱动了。突发奇想的他,突然问我要 Ubuntu 的安装盘,那我倒是有,8.04 和 9.04 的都有 CD。

Ubuntu 的安装非常方便,在安装的过程中,他让我给他讲一讲我认为的 Ubuntu 的易用性和值得推荐的地方。我说其实我用的也很少,也就偶尔写写代码的时候会跑到 Ubuntu 中去,为了学习一些命令和常用的编译知识和 Linux 平台中的特性才会去使用,娱乐的时候还是选择 Windows。那么为什么当时会选择 Ubuntu 而不是别的 Linux 发行版呢?其实最早知道有 Ubuntu 操作系统是在 07 年冬天,那个时候开始泡 JavaEye,在社区中看到很多前辈们都在赞 Ubuntu。后来开始想学习一下 Linux 的时候就完全从零开始了,自己刻了一张光盘 (很高兴当时自己的台式机的光驱是个刻录机),开始慢慢的学习安装。第一次使用的还不是光盘安装,刻好了之后一直放在抽屉里头,安装时使用的 wubi 安装,真是简单方便快捷无副作用啊,和装迅雷、QQ 一类的 Windows 应用程序一模一样,一阵 next 就 OK 了。回到话题中来,其实自己觉得选择 Ubuntu 后,觉得很庆幸的一点是,自己选择了一个社区强大的免费软件。正式因为有社区中的人们无私的奉献和共享。我才能从一个连 swap 分区时什么都不知道的人,成为了一个可以指导别人使用 Ubuntu 系统的人。当然这也从另一个角度说明了一个问题——那就是 Ubuntu 的易用性还不是很好,因为它至少还是需要别人指导的——不过从零开始学 Windows 同样也是需要人来教的。社区的强大,相对的易用,绚丽的 UI,免费开放,这是我给出的四点。其中我个人的排序时这样的,社区强大,绚丽的 UI,免费开放,相对的易用。因为我认为社区的强大,完全可以解决易用性的问题,只要你敢问就肯定有人帮你解答。绚丽的 UI 是我一直追随最新版本 Ubuntu 的原因,因为每一个版本中都会有一些很明显的改进,不过最近发现其实内核的高低并不是问题,时尚其实可以掌握在自己的手中,保持一个比较稳定版本的内核和显卡驱动,之后你就可以在 gnome-look.org 中畅快的遨游了,想把自己的桌面整成啥样就整成啥样。就在闲扯之中,舍友的机器已经跑起来了,他的第一感觉是很不错,至少默认的挂载 Windows 分区的功能是让他狠狠地赞了一个(当年在 Redhat 中折腾的时候想必是很痛苦滴啊)。

之后就是准备安装软件了,提到 Ubuntu 安装软件,我们首选的自然是 apt-get 命令了,只可惜该命令只在你保证自己的机器能连接到一个有效地软件源上才能生效,要么有挂载的 DVD 映像文件,要么就得上 Internet。又回到了最开始的问题了,Ubuntu 中配置无线是很方便简单,但是驱动呢?我的机器是笔记本,自带的无线网卡在系统安装的时候已经装上了相应的驱动,而他就只能自己再次放狗搜索了。找了段网线,先连上有线网,把常用的几个软件搞定之后。开始尝试着去搜寻如何安装无线网卡驱动的文章,找到一箩筐还有得多啊。看来大家均碰到过这样恶心的问题啊。有很多的兄弟都在文中号称自己解决了,但是我们按着他的步骤来就是无耻的失败鸟。这是为什么呢?

我们可以来分析一下,主要应该有两个原因:

  • 内核的版本不一致。大部分宣称自己解决了问题的兄弟肯定是解决了自己特定的问题,比如针对 WN322G+ 2.0 这个无线网卡的文章就有好几篇 (看来这款无线网卡的销量还不错哦!),但是撰文时间大都是 2008 年的,甚至更早。而我的舍友装的系统是 Ubuntu 9.04 版本,内核极有可能高于别人。
  • 编译环境不一致。有一些文章直接都是给出源码,从源码开始编译,最后进行设置,将问题搞定。但是源码编译这个事情很多时候是受限于系统开发环境的,那么也有可能导致安装不正确问题。

回到标题。为什么说硬件阻碍或限制了自由软件的发展呢?

  1. 硬件厂商仅提供 Windows 下的驱动程序。当然这个问题其实很奇特,因为 Windows 市场最大,而且 Windows 本来就是要在所有兼容机上运行,导致出现驱动程序开发这么一个环节,兼容机的硬件标准非常迥异,导致各家生产厂商要自行开发或者外包开发驱动程序。那么为什么不提供 Linux 和 Mac OS X 的呢?谁傻谁才提供呢。Linux 市场太小,不赚钱,而 Mac OS X 是和硬件绑定销售的,不需要自行安装驱动,而且也不可能和别的硬件去兼容。
  2. 提供的驱动并不靠谱。ATI 的显卡也有 Linux 下的驱动程序,开源的闭源的都有,但是就是没有官方的,官网上挂的也是社区驱动的项目开发的驱动。Nvidia 虽然提供官方的驱动,但是问题也是一堆堆。这明显成为了诸多 Linux 潜在用户最怕碰到的棘手问题,我想我的舍友的激情也就在昨夜凌晨 4 点半的时候被耗尽了 (昨天跟舍友一起整这个问题,足足整了 3 个小时)。
  3. OEM 的程度还是很不够,其实如果能提供非常好的 OEM 套件也是很不错的。机器出厂时,已经保证其驱动和系统均是 OK 的,那么到了用户那里,他就不需要再去为这些原本不属于他关心的问题去费神费时了。现在的 Windows 也开始默认安装绝大多数通用驱动了,从 XP 开始 (Vista 不算) 到 Win7,系统自带的驱动越来越多,标准也越来越完善——作为兼容机首选操作系统生产商的微软完全有能力也很有责任把这个事情做好,让 Windows 的用户远离驱动程序,让用户知道他们之需要一键安装 Windows 便是了。解决了标准的问题之后,生产厂商开心了,微软其实也赚了好彩头——用户的体验提升。

就这样,我的舍友又回到了他盗版的 Windows 下面,继续“DOTA”和“ 草蛋 ”。你那该死的硬件,让我又失去了一个可能成为学习伙伴的 Ubuntu 发烧友。

音符的流线

世界真的好小啊,今天回家开机,虾米上的小喇叭一直在闪。点进去一看, 小守 给我留言了,说是来这里逛了一下,发现原来就是我。呵呵,世界真的这么小吗?跟小守成为好友完全是一次偶然,因为小守推荐的音乐很好,电台非常好听,所以就给小守发了一个好友申请,没想到真的就熟悉了。开始每天晚上都会听小守的电台,一般都是挺好虾小米提示换台才会换成 男爵 的电台,小守很男爵的电台总能带来一个有美好音乐相伴的夜晚。

作为程序员的自己,夜晚一般是待在桌前,盯着 IDE 写代码,调程序,偶尔会看看 Google Reader 上的更新,写写博客,发发牢骚。音乐总是并不可少的。从农村走出来的我,对音乐并不是非常敏感,真正接触流行音乐还是从初二开始的,那时候大家轮流借别人的单放机来听歌,就那么一盘谢霆锋的磁带,能把磁带听坏咯。上课的时候将耳机藏在袖子口听,晚上睡觉放在枕头下面听。那会的音乐资源非常非常的少,投入成本还非常高,那个时候一盘磁带是 3 块到 5 块钱,那可是当时整一周的零花钱啊,所以那个时候要想听新磁带真的要非常狠心,忍住一周不花零花钱,还得跟几个同学商量着买一盘大家都比较中意的磁带。就这样到了高中,高中的大部分时间泡在了电子游戏厅里了。当时有很多同学都学会上网了,会聊 QQ 了,还会玩私服呢。不过那个时候的我还跟一帮小学生经常一起闯“三国战纪”呢,至今依然很怀念啊。

高三的时候听了整整一个学期的电台,不管是什么音乐都听,记得那个时候听得最多的电台是“江西音乐广播”,有一个 DJ 叫卓越,非常喜欢他的“音乐三明治”和“流行音乐排行榜”。每天中午和晚上都会听他的节目,音乐很好,记得就是那个时候认识了许巍和汪峰,还有朴树,听了陈琳。补习那一年的日子不是很好过,音乐听得不多,偶尔会听听胡彦斌,朴树是听得最多的,白桦林在那个夏天给了我不只是丝丝的荫凉。对了,记得就是那个时候认识的周杰伦,还挺喜欢他的风格呢,很多首歌都还会唱呢,曾经还在县城街边的歌棚里头唱过很多次呢。

大学了,琢磨给自己买了一个 MP3 播放器,还没到半年就丢了,那个时候的音乐都是找百度,第一次下载还是宿舍同学手把手的教我搜索,然后右键=》目标另存为下载的音乐。听得比较多的是阿桑、游鸿明、陶喆。MP3 丢了之后,自己添置了一台电脑,之后听音乐就更多了,几乎只要电脑开着,音乐是不会断的,那个时候用酷狗,音乐酷狗下歌很快,不需要再像之前一样百度加右键了。听了差不多一年,乱七八糟的各种音乐。之后发现了一个非主流音乐论坛,论坛的站长对音乐的了解是我目前所认识或者所听闻的人中最为夸张的,每天会发布五到十张专辑,都是参与 VeryCD 共享的音乐 CD,对每一张专辑的制作以及相应的音乐人故事都会娓娓道来,真的是一个欧美流行音乐学习指南啊。听了很长一段时间,也学习了一些知识,还给两个同学推荐了,但是后来沉迷去电影之中,也不再常去了,后来某天想再次登录,才发现伊人已经离我远去了,心中戚戚然了许久。之后开始听轻音乐,而 VeryCD 上的 Gibson 系列几乎让我一网打尽了。那个时候听轻音乐,看纪录片,仿佛将尘世的凡俗都抛在了脑后。只可惜最终我们还是要归于红尘啊,开始为毕业后的工作发愁。拼命学习编程,接触了 Java,开始天天上网查资料,完全靠着 Google 度日,最终来到了北京。

接触 web 2.0 这个概念是个莫大的幸运,看到了互联网的自由和开放,邂逅了 盗盗分享网络 2.0,当我听到虾米开始公测之后,尝试着注册了,然后还将自己硬盘上所有 Gibson 系列的符合要求的全部都上传了。之后上虾米渐渐就少了,因为听音乐更多的还是在千千静听上听,音乐那个时候的带宽并不是很理想,在线听音乐总是一卡一顿的。来到北京实习之后,工作之后天天会上虾米,之后就养成了上虾米听音乐的习惯,而且渐渐发现,其实 online 的音乐同样能给我们带来 offline 的感受,Google.cn 也适时地推出了 Google Music,还都是版权没有问题的正版音乐,确实让人感觉甚爽啊。记得那一阵,还拼命地下载了一阵呢。不过由于 Google Music 主打并不是音乐下载站,而是在线广告分成式的试听站,所以下载有颇多不便,后来觉得时间宝贵,而带宽充足也就没再下了。

虾歌,集音乐媒体管理,播放,在线试听,下载,上传,分享功能于一身,确实省了很多事。我也开始用虾歌下载了,不过虾歌目前只有 Windows 版本,在 Ubuntu 下只能望歌兴叹了。虾米给了我一个更为广阔的音乐世界,虾米们给我带来了更多的新鲜元素,小守和男爵就是其中的翘楚。

盘点 2009

近日看了几部电影,总感觉想要说些什么,但是一直又感觉没有力气,一口气提不上来,话到嘴边又掉下去了,不过幸好还没有烂在肚子里头,产品发布之后 (虽然目前还只是有条件通过) 终于能有口可以喘的气了。心情颇好,兴致也来了,终于有点话说了。今年的尾巴已现端倪了,按米国的童鞋们的说法,我们该要度年假了。所以趁着 2009 年的尾巴还有点犹抱琵琶半遮面的时候,我想给自己这一年中看过的电影和电视来一个小小的盘点。

从电影开始,今年是自己本科毕业的年头,本该有点纪念意义的,不过目前发现还没有什么可以值得纪念的呢。生活总是要继续,我们总是能看到一些美好。

  • The Reader,中文译名《朗读者》,翻译有点直白。喜欢凯特·温丝莱特扮演的汉娜,故事虽然并不是非常的曲折,感觉情节的连贯性并不是处理得天衣无缝。到影片一半的时候,当我看到汉娜选择了离开,而男孩继续着他的生活和学业的时候,我曾自己在心中暗自臆测电影之后的情节走向,只可惜无耻的失败鸟。在大学修读法律的伯格跟随教授参加一个庭审,无意中发现被告中有昔日恋人的面容。之后的故事中,电影的画面开始低沉悲伤纠结。直到最后男孩成了一个成功的律师,当他开始再次为汉娜读书的时候,他从多年纠结中再次回过神来,而汉娜终于敢于面对自己并不识字的现实,开始通过伯格的录音和报纸以及书籍开始学习阅读,通过临摹学习书写,最终给伯格留下了一封遗书,估计也是汉娜在人世间留下的唯一笔迹——这无疑也是对之前法庭审判的一个莫大的讽刺——汉娜是因为起草并签署了某分纳粹协议而被判无期,而她的同事因为她的罹难得以幸免。影片以纳粹为背景确实让我大出意外,从影片头的那段超年龄爱情经历,让我误以为这是一个伦理片,殊不知导演在毫无预兆的情况下将我们带进了一个有点诡异的下半场。不过从影片整体上来讲,质量很不错。
  • 我的唐朝兄弟,又名《苦竹林》。为新锐导演杨树鹏新作,电影故事非常简单,两个贼人在打劫一家农户时,恰巧碰上另一群贼人——府军,也想来打劫(不过劫的是色),其中陈六看上了这位姑娘,一怒之下将这杀千刀的一刀爆菊致死了(惨啊)。由于击杀了府军,本村里正便号召村民将二人抓了起来,准备告官处置。谁知贼人十分了得,得以逃脱,待府军队长前来之际又被抓,由于鹦哥的帮助,二人再次逃脱,并击杀了想将罗娘占为己有的队长送上了西天。之后已经被里正烦得要死的燕十三实在受不了里正那副嘴脸,将其捆绑吊了起来,准备杀了他,但是罗娘又一次出来坏事了。最终里正选择了上城里报官,将府军团长引了进来,村子被烧,村民被杀,村已不存,人已无几。村民拿起了武器,血溅三尺,村子中腥风血雨,烈火熊熊。最后大家围坐一起,里正依然满嘴仁义道德,最终趁燕十三不被将十三杀死 (使用了一种很诡异的武器),而发疯的陈六在杀了里正之后正待将村子里头的其他人一一杀掉,罗娘再次求情,答应陈六跟他一起过日子,求十三放过村民,让村子能继续活下去。导演杨树鹏讲故事的能力非常好,故事脉络很清楚,人物性格非常鲜明 (得益于好的剧本),演员十分靠谱,胡军的十三,姜武的陈六都是入木三分地演绎,里正那副嘴脸就更是传神,“大唐律法……”“我乃常山赵子龙……”将里正刻画得传神。杨树鹏将“苦竹林”改成了“我的唐朝兄弟”也许有点标题党,有点博彩的意味,但是从杨树鹏的心路历程来看,他是和本片是有共鸣的,虽然他在片中扮演的诗人不仅仅给我们留下了“床前明月光,疑是地上霜。举头望明月,低头思故乡”这样的经典诗句,更是给我们留下了此人非比寻常,落寞之际能与十三、陈六一起举杯邀明月,但是待酒醒天渐明,便要叩醒书童,收拾行囊继续前行。也许唐朝兄弟给了杨树鹏一个书法对昔日兄弟的尊重和怀念,但是无奈终分别的心绪。十三和陈六活得现实但浪漫,诗人活得浪漫但现实,在同样的年代,他们曾经偶遇,但终将分别,也许这就是苦竹林的味道。
  • 海盗电台,自由浪漫。通篇的摇滚和朋克,视觉和听觉上给我来了一个冲击,而对于自由的渴望,更是让我对之钦佩。音乐是人类灵魂深处的东西,我们不能用法律和政府这些见鬼的东西来限制她,而仅仅是为了满足某些人某些企业的阴谋欲望,当“Rock n’roll”在海面上此起彼伏的时候,我们看到了一艘海盗船沉了,但是更多的海盗船即将靠岸。自由永存人间,音乐无处不在,Everyone is a DJ.
  • 幸福终点站,汉克斯的表演功夫无可挑剔。整个故事发生在肯尼迪机场,唯克多为了实现父亲的遗愿从祖国来到美国,正准备前去寻找父亲喜爱的爵士乐明星时,发现祖国发生了政变,祖国目前主权不明,美国处于国际法并不能给唯克多签证。所以唯克多的活动范围进限于机场内部,在和机场负责人博弈的过程中,他单纯地以为他只要付出劳动就能得到弗兰克的认可,不过弗兰克还是百般阻挠,想让唯克多自己走出机场大门,从此不再成为他晋升的定时炸弹。只可惜我们的唯克多,通过自己的努力不但挣着钱养活了自己,还同时泡上了美丽的空姐,并通过机场电视和超市学会了英语,并和机场的商户及商家成为了好朋友。最终唯克多的祖国内乱平息,唯克多可以光明正大地走出那扇门了,他也找到了父亲喜爱的爵士乐明星,并完成了父亲的遗愿。
  • 换子疑云,我的父亲母亲,东邪西毒,我的父亲 我的儿子,切 格瓦拉,奇异的恩典,天空之城,风之谷,飞天紅猪侠,侧耳倾听,龙猫,霍尔的移动城堡,风声,秋喜,赤壁,建国大业……

电影给我们带来一些感动,带来一些不同的人生视角。

2009 年看过的电视剧不多,完整地看完就三部。

  • 走西口,CCTV-1 开年大戏。陪母亲看完的,看完之后觉得有点怪,一个听上去商业味道很重的片名,最终内容竟然是以革命为主旋律的一个红色宣传片。全剧中并没有对田青的创业过程和经营方式一一道明,不似之前的《金银谷》和《乔家大院》等晋商剧中详细地讲述生意人的一生。剧中的田青一直与一个代表了旧势力的人打交道,多次栽在此人手上,此人清朝为县官,民国为县长,最后成了军阀,时刻压着田青,天天找茬。最终我们的田青受不了了,决定自己掌握政权了,开始革命了,本分的商人从此走上了一条不归路。
  • 落地清开手机,喜欢该剧的片尾曲,也就是主题曲 —《放手去爱》。喜欢孙红雷,所以去看,孙红雷演绎的痞子总是那么硬朗而柔情,我喜欢。
  • 《Lie to me》第一季,还在热播之中。目前已经更新到 S02E09 的《Lie to me》让我渐渐有些失望了,第一季中精妙的分析已经并不常见了,故事越来越大,不是国防部就是中情局,FBI 排几个队都排不过来了,我们的 Lightman 确实越来越有通天的本事了,在各大领导面起颐指气使,歪着头指着这些人的鼻子。但是,除了 Lightman 依然嚣张的气焰和故事的离奇和特别程度有所增加之外,确实可圈可点之处愈发见少。

2009 年就要走了,回头一看……

谁是我们的‘零零壹’

今天打开 Google Reader,订阅中有超过三个博客中都有关于“谁是我们的’ 零零壹’”评选的更新。

自己知道这个活动是从 不许联想分享网络 2.0 中得知的,看过之前的一点点剧透,觉得很有意思,中国互联网如此之大,但是如此混乱,我们的创新在哪里,我们的市场在哪里?

也许这就是此次活动想要问广大互联网从业者和热爱者的一个问题。我们从无到有,互联网慢慢地渐成气候,虽然有我们伟大的 GFW 的时刻关照,我们不能太过放纵和自由,但是我们的创新是墙不掉的,米国有 TwitterHulu,我们也有不错的 豆瓣虾米 。作为一名互联网深度中毒者,我想既然有这么一个机会,推广一下还是很有必要的。

我也给自己平时很喜欢也时常使用的网站和服务投下了轻微的一票:

  • 分享网络 2.0
  • 豆瓣
  • 虾米

其他的有很多平时在用的网站还服务都应该不在创新之列了,就不再投票了。有自己时常去的 JavaEye,VeryCD,爱枣报。

参与投票,请点击下面的图片:

谁是我们的‘零零壹

谁是我们的‘零零壹'

《Programming Ruby》感观

学习 Ruby 断断续续的快有半年了吧,从离开学校来到公司开始,直到现在,7 月份到 12 月份差不多有半年的时间了。这半年的时间,主要学习了一些 Ruby 的基础语法和特性,之前没有购买《Programming Ruby》作为参考,只是通过《Book of Ruby》这本小书的翻译,边翻译边学习,从目前读完《Programming Ruby》一大半之后的感觉来看,我个人认为《Book of Ruby》更适合初学者,也更像一些通用并且常见的编程语言入门书籍,而《Programming Ruby》相对来说读来会有一些诘屈聱牙的地方,当然可能跟译者的翻译会有一定的关系,不过我还是非常相信译者的水平的,通篇也没有出什么错误,更何况做第二版了,各位译者在语言上也多多少少会有一些造诣,这样的情况是不大可能出现的。但是从语境的翻译上来看的话,肯定还是存在一定问题的,因为译者需要在出版社规定交稿的时间内将翻译完成,有的自己并不是很拿得准的地方并没有太多的时间去推敲和琢磨,会给读者带来一些困惑,但这肯定不会是什么很严重的问题。

其实最大程度上决定《Programming Ruby》在我心中并不是很时候初学者的原因是,该书的风格并不是“Programming Guide”的指南般结构,而是拽着你就往前跑的那种急先锋式开篇。虽然书中的第一部分是以快速浏览并讨论 Ruby 基础特性为主题,而且示例相对也都很简单,只需通过简单的阅读代码便可以掌握相关的内容了。但是有些点到为止而意犹未尽的感觉,虽然是介绍 Array 类,草草地介绍了 Array 类的一些基础特性,之后便进入其他主题。并不会像一般的编程入门书籍,随之而来的是对该类型 API 的详细使用介绍,而且在后继的一些章节中,会使用到一些前面并没有介绍过的 Array 的特性和方法,会让读者有点晕乎。虽然书中后半部分就是一个很好的 API 索引,但是我个人认为大部分初学者并不会也不能充分利用 API 文档,从我个人的经历来看,在我学习 Java 语言初期,都是看教学视频(这里需要感谢一下张孝祥老师)和一些示范程序,然后跟着敲代码,待到能独立写出一些简单的 UI 程序之后了,才会通过 API 文档去寻找自己需要的接口,慢慢地也就开始会对 API 文档有了一定的依赖性,对 API 的熟悉程度就在日常的编码过程中逐渐加强,对语言本身的犄角旮旯慢慢地熟络。在项目和工程的经历中,积累更多的编程经验之后,就会逐渐形成自身的编程思想和风格,开始思考设计问题和语言本身特性的结合。

《Programming Ruby》给我们带来的是直接的思想上的冲击,从来没有一本编程语言入门书籍如此直接。当然这可能跟 Ruby 语言本身的风格存在很大的关系,因为在当前的编程大环境中,Ruby 确属异类,而且朋克得确实会让我们这些还停留在流行歌曲阶段的大众 Coder 有一些节拍过去强烈,节奏跳跃太快,歌词有些激进,如果你一直期待着有这么一种语言能一箭穿心地刺痛你,让你有一见钟情的快感的话,那么你成功了,而《Programming Ruby》无疑就是献给“Ruby”美人的最佳礼物。相信你们的邂逅来得会是激情热烈的,你们的火花也能成燎原之势。然而我们这些普普通通的 Coder 们呢?对目前的编程语言尚不是读得通透,也就将将能应付日常工作,但是又想多学习一门语言,为自己将来能另谋生计时多留条后路,纳闷我们该怎么办呢?

  • 首先我们需要明确的是,Ruby 本身就不是作为一门大众语言出现的,原本就是一名出色的黑客个人成功的试验。该语言天然拥有诸多黑客美好的品质和古怪的特性,实用,简单是哲学,而规则和变通则是语言的实际外在表现。Ruby 语言对于代码的书写方式都有着非常严格的缩进需求,但是在其循环的书写方式上你能有超过 5 种选择,为什么会出现这样的状况呢?这是因为一名出色的黑客在阅读了众多美好以及丑陋的代码之后,他能明确地感受到代码的组织方式严重影响到产品的质量和维护成本,而目前的编程语言对于编程方式有着太多的条条框框,不能写出有创造性的代码来,这样 Ruby 就提供了很多让语言能更具创造性的特性,有很多很聪明的实现在语言中做好了,让 Coder 能有更多的时间花在业务的处理和优化上,而不是经常跟语言缠绵。
  • 其次,我们要明白 Ruby 虽然原本是一个黑客们的玩具,但是现在她已经非常的成熟丰满了,在她的周边已经有很多成长起来的绅士了,例如鼎鼎大名的“twitter”。Rails 框架的成熟和广泛应用,更是让 Ruby 从此走向了普通大众,社区的成熟,类库的完善,性能的提高,以及最近新发布的“Ruby 语言规范 ”,都在昭示着我们的女王已经从那高贵的殿堂中走了下来,逐渐成为普通 Coder 手中的利器,你完全可以尝试着使用她来谋生计,而且在谋生计的同时,还能感受一个全新的语言给你带来的创新的快感和学习的快乐。
  • 最后,学习 Ruby 最忌讳的就是拿之前的编程思维方式来对号入座,对不起没有这个号码。如果你想能痛快地学习 Ruby 并且精通她,那么请你放弃你之前的各种成见和陋习,但是请你保留你那些性能良好的算法,在 Ruby 中你可以使用更为精简的代码来实现他们。

在学习 Ruby 的过程中,我个人目前碰到最大的难题不是没有参考资料和时间,而是在思维方式上的转变还不够彻底,经常使用 Java 中的编程方式来思考 Ruby 中解题答案,所以一般都是无解,最终可耻的失败鸟。推荐两个非常好的 Ruby 练习题获取的地方,而且提供多个漂亮解决方案的地方哦 。一个是“Ruby Quiz”另一个还是“Ruby Quiz”。在这里,你能见到一些非常有趣的题目,可以用来练手,不过每一个都是重量级哦,更重要的是,我们能看到很多很多优秀的解决方案哦!