本周还是在深入学习Ruby,以及Rails相关的一些技术。当然,其中也包括了解Web开发相关的方方面面。不管怎么说,以前并没有完整的做过Web开发,所以说,起步并不是很容易,尤其是对于学习Ruby来说,最新的资料其实并不多。不过觉得还是想先把技术尽可能的搞清楚之后,然后把东西做出来,觉得这样会靠谱儿一点儿。当然了,如果只是简单的弄几个HTML
标签,然后放几张图片的话,当然会很快,不过如果这么干的话,其实感觉也没什么意思,呵呵。
想了想,以后还是不要在博客上谈论“国事”了,呵呵。难免伤及到一些同学的情感,毕竟大家都是有信仰的人,:)。
这个礼拜看了两本书,一本是《Ruby元编程》,另一本是《Ruby编程语言》。不过第二本还没看完,看了大概有一半吧。按说看这两本书的次序应该是先看《Ruby编程语言》再看《Ruby元编程》,我也不知道怎么回事,先是看的《Ruby元编程》。看完之后发现之前误解了Ruby,或者说,对于Ruby的了解有点想当然了,所以就想全面的重新了解一下Ruby,才看的《Ruby编程语言》。
看完《Ruby元编程》,说实话,长见识了。也对Ruby的编程方式有点小感悟,整本书的编排逻辑很清晰,总共分为两大部分。第一部分介绍所谓Ruby语言元编程的基础知识,或者说是指导思想。第二部分结合Ruby元编程的理念,介绍了Rails中使用的一个Gem模块ActionRecord
。当然,整本书的核心还是在第一部分,这部分是在讲解元编程的技术和理念。这种理念彻底打破了我之前对于代码重构形成的固有思想,Ruby所体现出来的动态性,以及由此带来的灵活性显示出了其强大的生命力。
看完这本书,我觉得Ruby所表现的编程理念不同于现今流行的其他编译型语言。我不知道其他脚本语言(例如Python)是否也体现了这些特点,反正我是被Ruby这些编程理念所吸引。所以之后也准备老老实实的,翻阅一下《Ruby编程语言》这本书。
在找《Ruby编程语言》这本书的时候,发现一个奇怪的问题。为什么所有经典的书都TM的容易绝版呢?!真邪门!最后在网上找了一本扫瞄的电子版,虽然有些地方看起来很不清楚,不过还是能凑活看。看电子版的过程中,我感觉有些书我还是不太习惯看电子版,尤其是大部头的书。一是不能随手沟沟画画,二是电子书看久了眼睛还是会觉得痛。比如看了一会儿屏幕之后再看远处,眼睛会很痛。所以随后也尝试在淘宝上看看有没有二手的或剩下的书可以买,找来找去连二手的都没有,最多是电子版复印的那种。和几家店主沟通了一下,几乎所有店主都是一幅爱买不买的样子,想了想还是算了。今天下午又去中关村海淀图书城转了一圈,想看看旧书市上有没有剩下的,结果让人大失所望。Ruby和Rails中,国外翻译过来的书,很多还都停留在1.x版本,国内的就免谈了,都是凑字数骗钱的,我了个去。
不过,猛然一想,我又觉得蛮有希望的。什么意思呢?我大概回想了一下,以前经常在论坛中看到一些老鸟对菜鸟发感慨,当年他们在学习某个尚未流行起来的技术的时候,技术资料是多么的难找,如此这般。也就是说,如果以后Ruby流行起来之后,哥也能装一回老鸟对菜鸟发一回感慨,当年我学Ruby的时候资料如何如何难找之类…。好吧,就允许我意淫一次,开个玩笑,呵呵。
在看《Ruby编程语言》这本书的过程中,我突然产生了一个疑问。不管怎么说,Ruby当前的状况也绝对算是小众语言,为什么这个小众语言的社区如此活跃,而且大多是欧美国家。按说Ruby诞生的地点是日本,为毛呢?
一边看书,一边思考,看看能不能从语言本身发掘出一些相关的思路。在看的过程中,发现几个特点。一是Ruby语言书写出来的程序更加接近英语。二是Ruby语法的很多特点都是借鉴的SmallTalk
、PHP
、Perl
、Lisp
等语言。三是Ruby的核心编程思想和当前流行的大众语言有所不同。所以Ruby语言从语法表面更接近英语系国家,外加对上面提到的几种语言的爱好者更是集中在欧美国家。当然,Rails
绝对是一个不能忽略的催化剂。促成了很多狂热的爱好者,而且从Google的趋势图上也完全能够看出,Ruby以及Rails的重灾区在欧美和澳洲。所以对于为什么日本不是重灾区的一份子,也就不觉得奇怪了。
我自己也回想了一下,这些年我接触的技术几乎大多也都是小众。要么就是很超前的技术,当时尚未流行起来(不过现在也没流行起来,这些技术都是微软推出的,所以说,跟着微软混没前途。呃,又黑微软了…惭愧),要么就是很专业,不属于大众流。
现在想来,我倒是觉得,其实小众技术挺好的。有一个活跃的小圈子,大家都很有热情,没那么多烂七八糟的无聊的争执。没有编程语言上的无聊争端,人少,人员整体素质还算不错,大家都是兴趣导向,有一帮狂热的爱好者。有事说事,无聊的时候扯扯淡。反观大众化的技术圈子就很乱,或许是人多的原因吧。相比而言,我倒是比较喜欢小众,可能是性格使然,不喜欢太热闹。所以我也觉得,Ruby和Rails的这个圈子就蛮符合这个条件的,呵呵。
其实,对于Ruby语言,接触到现在,我的体会是,Ruby真正意义上的简洁和开发的高效绝对不是因为程序容易编写,因为只有当你掌握了她的编程理念之后,才能体会她的简洁和开发的高效,所以Ruby的简洁和开发的高效,我认为是针对程序员说的,绝对不是针对普通爱好者说的。
聊了一些技术,扯几句生活上的事情。这个礼拜听说家里的一位表哥生病住院了。他年长我两岁。唉,我也越来越觉得,健康的重要性。不管怎样,自己都要坚持锻炼,身体垮了,说什么都没用。而且,生活在这个污染严重的年代,总觉得疾病离我们其实很近,真的不希望等到得病的那一天才意识到,锻炼身体的重要性。
这个礼拜锻炼用的哑铃增加了重量,现在应该有三十五、六斤的样子。差不多也是我目前锻炼所能承受的极限了吧。是这样,我每次增加哑铃的重量,是在能够保持锻炼相同频率的情况下进行调整的。现在对于上肢的锻炼除了肩部和胸部以外,还增加了腰部的锻炼,我觉得对于像我这种天天坐着的同学是有好处的。哦,顺便给大家推荐一个健身视频,对于没条件,只能在家里锻炼的同学,视频中也给出了一些方法。而且,除了科学锻炼身体以外,还可以达到健美的目的,感觉真是不错,呵呵。我感觉我现在对于健美貌似也不是那么无知了,:P 。