为什么说现在是学习Ruby和Rails的最佳时机
Ruby 是一个源自于日本的程式语言,并且由于 Ruby on Rails 这套便于快速开发网页应用程式的框架而在近年走红,如果你从事网页相关开发工作,我想大概已经听过 Ruby on Rails 这套网页框架,但或许你分不太出来 Ruby 以及 Rails 的差别,以及 Ruby 除了 Rails 之外、还能用来做些什么?
与其他常见的程式语言相比,Ruby 具备了更有弹性的语法,在 Ruby 的哲学当中,通常要完成某个行为不一定只有一种方法,往往会有数种不同的方法让开发者选择。也因为这样的弹性,通常开发者会透过 Ruby 设计「特定领域语言」(Domain Specific Lanauge)来解决问题,有点像是我们平常讲的是中文、但是会透过中文定义一组针对「法律」相关问题的「法律语言」。
Ruby on Rails
不过当然,Ruby on Rails 还是多数人接触 Ruby 语言的主要原因,同样使用 DSL 的设计概念,Rails 标榜著以下两个设计哲学:
1. 惯例大于设定(convention over configuration),在多数的情况下都使用 Rails 预设的设定,而减少手动去指定各项参数
2. 不重复(Don’t repeat yourself),尽量减少重复的程式码复制贴上到各处,而用比较有架构、组织的方式重用
在开发上速度很快,加上 Rails DSL 的语法相当简易,透过Rails Girls 这样的新手教学活动,几乎在一天之内就可以做出简单的网站。也因此很多人甚至常常开玩笑说会写 Rails 不见得会写 Ruby。
说了这么多,作为一个长期的社群参与者以及 Ruby 语言的使用者,在今年当中我观察到很多迹象,都显示目前是大家尚未入门要学习的好时机。主要原因有三个:
广泛地被大小企业采用
以前提到 Ruby 或 Rails 的使用状况往往我们会想到的都是新创或网路公司的例子,但近年来越来越多传统企业在面对网应用路开发需求时,也纷纷选择 Rails 作为主要架构,像是在国内的部分,我们可以发现在社群的求职看板上,包含知名连锁书局、纺织业等等的例子。
Ruby 以及 Rails 的效能有很大的进步
以往通常 Rails 开发者都会被其他语言的开发者嘲笑在速度上可能不佳,但在近期的改版当中,Ruby 2.1 以及 Rails 4.1 都有很大的效能进步,是有史以来最快的版本。
社群以及教育资源遍地开花
什麽是 Ruby?
Ruby 是一个源自于日本的程式语言,并且由于 Ruby on Rails 这套便于快速开发网页应用程式的框架而在近年走红,如果你从事网页相关开发工作,我想大概已经听过 Ruby on Rails 这套网页框架,但或许你分不太出来 Ruby 以及 Rails 的差别,以及 Ruby 除了 Rails 之外、还能用来做些什麽?
与其他常见的程式语言相比,Ruby 具备了更有弹性的语法,在 Ruby 的哲学当中,通常要完成某个行为不一定只有一种方法,往往会有数种不同的方法让开发者选择。也因为这样的弹性,通常开发者会透过 Ruby 设计「特定领域语言」(Domain Specific Lanauge)来解决问题,有点像是我们平常讲的是中文、但是会透过中文定义一组针对「法律」相关问题的「法律语言」。
Ruby on Rails
不过当然,Ruby on Rails 还是多数人接触 Ruby 语言的主要原因,同样使用 DSL 的设计概念,Rails 标榜著以下两个设计哲学:
1. 惯例大于设定(convention over configuration),在多数的情况下都使用 Rails 预设的设定,而减少手动去指定各项参数
2. 不重?(Don’t repeat yourself),尽量减少重?的程式码??贴上到各处,而用比较有架构、组织的方式重用
在开发上速度很快,加上 Rails DSL 的语法相当简易,透过Rails Girls 这样的新手教学活动,几乎在一天之内就可以做出简单的网站。也因此很多人甚至常常开玩笑说会写 Rails 不见得会写 Ruby。
为什麽现在是入门的好时机?
说了这麽多,作为一个长期的社群参与者以及 Ruby 语言的使用者,在今年当中我观察到很多迹象,都显示目前是大家尚未入门要学习的好时机。主要原因有三个:
广泛地被大小企业采用
以前提到 Ruby 或 Rails 的使用状况往往我们会想到的都是新创或网路公司的例子,但近年来越来越多传统企业在面对网应用路开发需求时,也纷纷选择 Rails 作为主要架构,像是在国内的部分,我们可以发现在社群的求职看板上,包含知名连锁书局、纺织业等等的例子。
Ruby 以及 Rails 的效能有很大的进步
以往通常 Rails 开发者都会被其他语言的开发者嘲笑在速度上可能不佳,但在近期的改版当中,Ruby 2.1 以及 Rails 4.1 都有很大的效能进步,是有史以来最快的版本。
以往被嫌弃在记忆体使用肥大的问题也有具体的改善:
社群以及教育资源遍地开花
在台湾今年就有以下的活动:
两场大型的国际研讨会RubyConf/Rails Pacific
不定期举办的Rails Girls以及Rails Outreach Workshop学习课程
不定期举办的Ruby Tuesday 分享会
每?固定的社群聚会Rails 新手村以及Rails Tuesday
而在针对企业方面,也有像五倍红宝石这样的单位专门针对 Rails 及 Ruby 提供企业教育训练的服务。
如何开始?
线上有很多既有的学习资源,其中我特别推荐Code School,相对于传统的教学而言、他提供了互动式的教学环境,让你可以一边看影片、一边动手试著做做看
在网路上有相当多的 Ruby / Rails 中文社团,比如说:Ruby Taiwan、Ruby on Rails 读书会或Ruby on Rails 新手村
最后,也可以参考包含Inside Job Board以及Ruby Taiwan Job Board找寻相关的工作机会
别再犹豫了,赶快开始学习 Ruby 以及 Rails 吧!