Ruby语言入门指南:从基础到就业前景
Ruby语言入门指南:从基础到就业前景
Ruby Logo
1. 什么是 Ruby?
Ruby是一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto,别称:Matz)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于Perl、Smalltalk、Eiffel、Ada以及Lisp语言。——官方定义
Matz希望他设计的语言简单又强大,简单到可以让新手程序员学习起来不会很困难,而强大到让经验丰富的程序员可以从这门语言中获取到想要的一切。这一开始,似乎是矛盾的,但是Matz实现了他的目标,于是Ruby横空出世。
2. Ruby的版本
Ruby的第一版本自1995年发行,Ruby版本号的构成形式是(MAJOR).(MINOR).(TEENY),均为只有1位的整数;如“1.8.6”、“1.9.3”。截止至今,最新稳定版的版本为2.7.0,2.3.8及以下的版本已不再维护,本书版本使用倒数第二个版本2.6.5,通常来讲,每一个MINOR的最后一个版本都是最稳定的。
3. Ruby的特性
Ruby是最纯粹的面向对象编程语言。因为与其他语言不同,Ruby没有基本类型,所有内容都被视为对象,包括整型(1、2、3)浮点型(1.0、2.0、3.0)等等。
此外,Ruby是一种脚本语言。脚本语言是一种解释型的语言,不需要编译。因此Ruby可以通过嵌入其他程序中来控制他们。
Ruby很推崇领域特定语言(DSL),通俗来说就是可以让Ruby的语法更加语义化的语言。
实例:
watch :game do
end
get :id_card
increase :balance
在Ruby中我们可以很容易地实现这样的写法,充分体现了Ruby这门语言的灵活性。
4. 为什么学习Ruby?
Ruby的语法非常的简洁,所有的语法已经达到最简洁,没有多余的语法糖,没有像Java那么多的条条框框,可以把更多的精力关注于要干的事情上。优秀的语法让您的工作更加轻松,更喜爱您的开发工作。
举一个例子,在Java中,我们输出一个Hello World需要这样写:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
对于从没接触过编程的人,看到上面的代码肯定会非常困惑,这些代码这什么要这么写?怎么这么复杂?更有意思的是,越是资深的程序员越会赞成这种想法。
而Ruby输出Hello World只需要这么一行:
p 'Hello World'
最常见的,它可以与Rails(一种流行的Ruby框架,简称:ROR)结合使用,用于开发Web应用程序。Rails能做到15分钟搭建一个网站。这个是其他语言无法做到的。
它是一门用于文本处理和中间件程序的优秀脚本语言,许多开发人员将Ruby用作Perl的替代品。
Ruby的资源丰富。它拥有大量的文档、书籍、视频、在线课程、开发论坛(Ruby China等)等等,并且拥有超过60000个库和多种框架可供选择。RubyGems就是为Ruby用来管理该语言构建的众多框架和库创建的。
5. Ruby市场需求
Ruby开发人员的工作都与Web开发有关,这些工作大多数要求了解Rails框架、其他开发语言或工具。
Ruby的热门岗位包括:
- Ruby或Ruby on Rails工程师;
- Ruby或Ruby on Rails专职开发;
- 后端工程师;
- 全栈开发工程师(带有Ruby之类的语言);
- 敏捷软件开发人员;
- 构建发布工程师;
- Web开发人员/软件工程师。
这是Ruby China上最近发的一些招聘帖子。Ruby中文官网发布的招聘信息
这是每日统计全球网站使用的Web语言份额的一张截图:
全球网站使用的Web语言份额
Ruby是我最爱的一门语言没有之一,不过说到就业的问题,如果您在一线城市,学习Ruby是一个不错的选择。如果您在二线城市,能选择的机会就会很少,PHP和Java会更好地找到工作。
6. 学习基础
Ruby是一门对新手非常友好的语言,任何零基础的人都可以学习这门语言。由于语言特性,文章中会充斥着面向对象的思想,如果可能的话,最好先去理解一下面向对象的概念。