对程序员最友好的,可读性最强的语言:Ruby: 1. 初识.

294 查看

是不是大家都已经习惯了 java, object c, php的语法?

  • 各种括号 (), {} 是必要的.
  • 行末的分号是必要的.
  • 参数前面的 * 是必要的.
  • 写一段实现代码(implement)之前,必须要先写接口(interface)
  • 一个方法,前面必须有 两个前缀?( public void method() {} )

可能你们早已习惯, 习以为常, 但是, 第一眼看到代码的外行, 和 干了多年的老鸟, 都会反思:

  • 这些内容有什么意义?
  • (), {}, ; , * 真的那么重要吗?
  • 变量,一定要严格声明类型吗?

于是, 世界上就有那么一批最顶尖的人才( 他们抹除了 UML, 抹除了 Rational Rose的传统思想, 创立了敏捷宣言), 开始为程序界寻找变革之路.

<<从小工到专家>>的作者 Dave, Andy:

我们考察了上百种语言, 最后选择了Ruby.

<<重构>>的作者 Martin:

我在工作的任何时候,手头都带着<<Programming Ruby>>这本书.

想要成长为程序员高手?办法很简单, 直接跟着高手做! 世界最牛的几个人,都开始用Ruby了, 咱们一定要用!

忘掉了你之前给自己打的 "java程序员", "php程序员" 这样的标签! 你就是一个全栈工程师! 不要让自己只限定于 一个语言或者领域!

来, 跟着我一起感受下Ruby吧! 第一堂课让你入门, 第二堂课让你巩固, 第三堂课让你具备Ruby的高阶知识!

Ruby 简介
  • Ruby 是脚本语言。
  • 这个语言最大的特点就是"对程序员友好",而不是 “对编译器友好”
  • 代码少,效率高.
我的Ruby之路
  • 05年到 08年底做了 近四年java web.
  • 熟悉SSH等绝大部分框架.
  • java太麻烦, 累感不爱.
  • 身边的java牛人都专向了ruby(十年前的javaeye论坛)
  • 听前辈的没错,于是我也转了. 到现在做了7年了.
  • 我很快乐.
为什么要学ruby
  • 让你的工作更加快乐.
  • Ruby程序员平均工资最高. 为什么? 因为一个Ruby程序员干的活儿, 顶的上3~5个其他语言的程序员.
Ruby不关心变量是什么类型
name  = “Jim”      # 不是 String name = …
six = 6                    # 不是Integer six = …
fruits = [‘apple’, ‘banana’]  # 不是String[] fruits=..

所以,这让我们非常省心。你不需要在调用一个变量之前,还要考虑它的类型. 就好比我们在写一段循环代码的时候, 需要去考虑汇编语言的寄存器吗?

拖住传统语言(java, c#, object c )后腿的, 都是编译器的类型检查. 没有类型,那些语言就无法工作. 类型就好比是个嗷嗷待哺的孩子,你稍微一不注意,它就跟你哭闹.

Ruby/Python/javascript 等语言中, 没有这个问题. 特别省心.

极其简单

如果你接触过C/C++, java, object C等语言,回过头再看Ruby,就会发现它特别简洁,代码极度好懂.

ruby: 一行代码:

puts “hello, world!”

c/java:

package 'x.y';

public 
Ruby是让人快乐的
  • 使用c, java的时候,你会发现世界很昏暗。做一件很小的事情都要费很大的力气。
  • 使用了ruby之后,时间多了,爱好多了,有时间找女朋友了。
  • 大部分Ruby程序员都是全栈工程师,因为我们工作轻松, 可以学习的时间多.
Ruby最省心

java程序员不关心指针.

Ruby程序员不关心变量类型.

所以,我们可以把心思都放在业务逻辑上。

所以,Ruby程序员是快乐的。

没有类型的东西,你也可以管它叫 鸭子类型。(这个定义大家自己去了解下)

生产率极高

一个Ruby程序员顶3个其他程序员.

其他程序员包括: c, java, .net, php.

所以硅谷创业公司绝大部分都选择Ruby作为开发语言.

忘掉windows.
  • Ruby支持Linux, Mac, 以及Windows.

  • 但是我们只在Linux 和Mac下工作,Windows我们就不考虑了.

使用Windows 的程序员( c# 除外) , 你们没有前途啊! 想想,你们的代码是运行在 linux服务器上的! 一个windows程序员, 工资比 linux下开发的程序员低很多!

兄弟们, 赶紧安装双系统啊! Linux 用来工作, windows 只能用来打游戏.

安装Ruby

虽然系统默认自带了Ruby,但是不如我们自定义的灵活.
我们使用rbenv 来安装Ruby, 最大的好处是 可以允许你同时安装多个Ruby版本.

安装rbenv

rbenv(ruby environment),是管理多个不同版本的ruby工具,是之前rvm(ruby version manager)的替代品。
类似的工具还有管理不同Node版本的nvm(node version manager)。

具体的安装步骤
安装rbenv

rbenv允许我们在一台机器上安装多个ruby版本. 特别好用. 而且很多繁琐的工作都帮咱们做了.

$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv 
使用rbenv的插件,用来编译安装 ruby
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
使用国内的淘宝镜像

会让你的各种gem 安装起来更加方便快捷.

$ git clone https://github.com/andorchen/rbenv-taobao-mirror.git ~/.rbenv/plugins/rbenv-taobao-mirror

这个命令可以看到所有的可以安装的版本。

$ rbenv install --list   

例如,我要安装 2.2.1 版本:

$ rbenv install 2.2.1
修改你的登录脚本

下面的代码,放到你的系统的启动脚本中( ~/.bashrc 或者 ~/.bash_profile 或者 ~/.zshrc )

export PATH="$HOME/.rbenv/bin:$PATH" 
eval "$(rbenv init -)“

记得输入命令,指定某个版本号是全局的ruby版本:

$ rbenv global 2.1.2

然后重新进入到terminal中。输入:

$ ruby -v 

就可以看到ruby 的版本号显示出来了。

很快的调试方式:irb

允许你极快的进入到ruby环境中。

除了验证一些基本的方法,让你输入 1 + 1 = 2, 看看环境是否有问题,没有其他太大作用。

所以不推荐使用! >_<

下面是几点说明

# => 表示输出结果 , 例如:

puts "goodbye java" # => "goodbye java" 

用$, 或者# 表示bash命令行程序,例如:

$ ruby test_my_module.rb
# ps -ef  grep nginx 
Hello World

这是我们的第一个例子, 输入一个字符串:
新建一个文件 hello.rb:

puts 'Hello world!' 

运行,就会看到效果:

$ ruby hello.rb 
# => Hello world!
赋值

不像java那样,使用变量前,需要先声明它的变量类型。

Ruby中的变量,不需要做类型声明。直接就用:

name = "jim" 
# => jim

好的! 现在我们就对Ruby有了一个比较直观的了解!