问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Ruby语言入门指南:从基础到就业前景

创作时间:
作者:
@小白创作中心

Ruby语言入门指南:从基础到就业前景

引用
1
来源
1.
https://m.imooc.com/wiki/rubylesson-rubyintro


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

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

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号