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.02.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 的热门岗位包括:

  1. Ruby 或 Ruby on Rails 工程师;
  2. Ruby 或 Ruby on Rails 专职开发;
  3. 后端工程师;
  4. 全栈开发工程师(带有Ruby之类的语言);
  5. 敏捷软件开发人员;
  6. 构建发布工程师;
  7. Web 开发人员/软件工程师。

这是 Ruby China 上最近发的一些招聘帖子。

图片描述

Ruby 中文官网发布的招聘信息

这是每日统计全球网站使用的 Web 语言份额的一张截图:

图片描述

全球网站使用的 Web 语言份额

Ruby 是我最爱的一门语言没有之一,不过说到就业的问题,如果您在一线城市,学习 Ruby 是一个不错的选择。如果您在二线城市,能选择的机会就会很少,PHP 和 Java 会更好地找到工作。

6. 学习基础

Ruby 是一门对新手非常友好的语言,任何零基础的人都可以学习这门语言。由于语言特性,文章中会充斥着面向对象的思想,如果可能的话,最好先去理解一下面向对象的概念。

本文来自互联网用户投稿,不拥有所有权,该文观点仅代表作者本人,不代表本站立场。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。
© 2023 PV138 · 站点地图 · 免责声明 · 联系我们 · 问题反馈