是不是大家都已经习惯了 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 是脚本语言。
- 这个语言最大的特点就是"对程序员友好",而不是 “对编译器友好”
- 代码少,效率高.
- 05年到 08年底做了 近四年java web.
- 熟悉SSH等绝大部分框架.
- java太麻烦, 累感不爱.
- 身边的java牛人都专向了ruby(十年前的javaeye论坛)
- 听前辈的没错,于是我也转了. 到现在做了7年了.
- 我很快乐.
- 让你的工作更加快乐.
- Ruby程序员平均工资最高. 为什么? 因为一个Ruby程序员干的活儿, 顶的上3~5个其他语言的程序员.
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程序员都是全栈工程师,因为我们工作轻松, 可以学习的时间多.
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(ruby environment),是管理多个不同版本的ruby工具,是之前rvm(ruby version manager)的替代品。
类似的工具还有管理不同Node版本的nvm(node version manager)。
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有了一个比较直观的了解!
热门评论
下面的代码,放到你的系统的启动脚本中。。。怎么把代码放进启动脚本啊,百度不到呀
卡在这个很久都不能安装,并且后面还提示安装失败
最近也在自学ruby,虽然是对程序员最友好的编程语言,但是最近公司的项目总监对我说,没有java或者c++的基础很难学好ruby,压力好大额