lgn21st
9/19/2012 - 5:58 AM

Ruby 语言资料收集

Ruby 语言资料收集

Ruby语言

简介

Ruby,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号Matz)开发,遵守GPL协议和Ruby License。Ruby的作者认为Ruby > (Smalltalk + Perl) / 2,表示Ruby是一个语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的编程语言。

官方网站:http://ruby-lang.org

特色

  • 完全面向对象,在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数
  • 变量没有类型,Ruby的变量可以保有任何类型的数据
  • 任何东西都有值,不管是数学或者逻辑表达式还是一个语句,都有值
  • 运算符重载
  • 自动垃圾回收
  • 弱类型(动态类型 | 标量变量)
  • 变量无需声明 (不必事先宣告变量)
  • 巨大的标准库(函式库;Library)

历史

Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。之所以称为Ruby,是因为Perl的发音与6月的诞生石pearl(珍珠)相同,因此Ruby以7月的诞生石ruby(红宝石)命名。

Ruby明显比其他类似的编程语言(如Perl或Python)年轻,又因为Ruby是日本人发明的,所以早期的非日文资料和程序都比较贫乏,所以现在在网上仍然可以找到Ruby的资料太少之类的批评。约于2000年,Ruby开始进入美国,英文的资料开始发展。

Ruby现在的稳定版本是1.8.6(2007年3月12日发布)。

Ruby 的理念

减少编程时候的不必要的琐碎时间,令编写程序的人高兴,是设计 Ruby 语言的 Matz 的一个首要的考虑;其次是良好的界面设计。他强调系统设计必须强调人性化,而不是一味从机器的角度设想。

人们特别是电脑工程师们,常常从机器着想。他们认为:“这样做,机器就能运行的更快;这样做,机器运行效率更高;这样做,机器就会怎样怎样怎样。”实际上,我们需要从人的角度考虑问题,人们怎样编写程序或者怎样使用机器上应用程序。我们是主人,他们是仆人。遵循上述的理念,Ruby 语言通常非常直观,按照编程人认为它应该的方式运行。

Ruby语言的作者

松本行弘matz@netlab.jp松本行弘"Matz"(Matsumoto Yukihiro)是Ruby语言的发明人,他从1993年起便开始着手Ruby的研发工作。他一直想发明一种语言,使你既能进行高效开发又能享受编程的快乐。1993年2月24日Ruby诞生了,1995年12月Matz推出了Ruby的第一个版本Ruby 0.95。不久Ruby便凭借其独特的魅力横扫日本,相信在不久的将来,Ruby将走向世界。

各种Ruby语言实现

除了用C语言实现的官方版 Ruby (又叫做CRuby或MRI,Matz's Ruby Interpreter),也有其他不同的Ruby语言实现,这些语言的实现都是基于 RubySpec 作为其语法标准的:

  • JRuby 是由Java实现的Ruby,运行在高效能、支援系统执行绪及有非常多函数库的Java虚拟机器(JVM)上。JRuby算是目前Ruby要开发跨平台(Windows、Mac和Linux)桌面软体最好的选择。
  • MacRuby 是由Objective-C实现的 Ruby,运行在Mac OS X作业系统上。强项在于开发Mac原生桌面软体,未来有机会可以运行在iOS上,甚至成为Apple官方程式语言之一。
  • Rubinuis 是用C++、Ruby和LLVM编译器技术实现的Ruby VM,可以在Mac OS X、Debian/Ubuntu、FreeBSD、Windows上执行。LLVM可以说是当代最重要的编译器架构,拥有各种编译器最佳化技术。能给Ruby带来多少效能改善幅度,值得关注。
  • Ruby Enterprise Edition(简称REE) 是个非常流行的CRuby 1.8分支版本,特别适合用来搭配Ruby on Rails和Phusion Passenger使用,相较于Ruby 1.8.7可以增加效能和节省内存使用量。
  • IronRuby 是由.NET实现的Ruby,使用了Dynamic Language Runtime技术。

手册

  • Programming Ruby: 最有影响的 Ruby 教材,第一版是免费的 Programming Ruby

安装Ruby

开发工具

系统

Mac OS X 或 Linux,别在 Windows 上面搞,那是在浪费时间,两个原因:

  1. Ruby 对 Unix 环境的需求非常高,这点 Mac OS X 和 Linux 系列的系统才能很好的满足;
  2. Ruby 在 Windows 环境下面执行效率低。

开发工具(编辑器)

Ruby 不需要 IDE,一个简单的文本编辑器就足够了,作为 Ruby 开发者,这个必须习惯。

版本管理

  • Git ,没错就用它!

代码托管

  • Github Github 也是 Ruby 社区开源项目的聚集点,几乎所有 Ruby 项目都可以在上面找到,开发者必备。
  • Bitbucket 相比 Github 要逊色很多,但它可以无限存放私有版本库(Github 私有需要付费),也是可以用 Git。
  • Unfuddle,云端版本管理服务,支持 Git 和 SVN,免费账户支持1个私有仓库,倒腾自己的小项目很合适。付费帐户具备多人协作能力。

其他

Mac 下面其他类似 TextMate 和 Vim 可选的编辑器

Vim插件

vim&ctags

  • 编译 Vim 时带着 ctags 选项一般的发行版都带着,我也不确定有没有这个选项
  • emerge ctagsapt-get ctags
  • 在你项目的根目录执行 ctags -R 生成 tags文件
  • 配置 vimrc,见我的 Github, 我实在是懒
  • 进入 Vim,确保目录正确
  • 到你的方法处,猛按ctrl+]. f__k it.
  • okay,已经进去了..

编辑器教程

Vim

Emacs

书籍推荐

在线Ruby视频

在线教程

  • Try Ruby! An interactive tutorial that lets you try out Ruby right in your browser. This 15-minute tutorial is aimed at beginners who want to get a feeling of the language.
  • Ruby Koans The Koans walk you along the path to enlightenment in order to learn Ruby. The goal is to learn the Ruby language, syntax, structure, and some common functions and libraries. We also teach you culture.
  • RubyMonk Discover Ruby idioms, learn lessons and solve problems, all in your browser!
  • Hackety Hack The little coder’s starter kit. A fun and easy way to learn about programming (through Ruby) using the Shoes GUI Toolkit.
  • Why’s (Poignant) Guide to Ruby An unconventional but interesting book that will teach you Ruby through stories, wit, and comics. Originally created by why the lucky stiff, this guide remains a classic for Ruby learners.
  • Ruby in Twenty Minutes A nice tutorial covering the basics of Ruby. From start to finish it shouldn’t take you more than twenty minutes.
  • Ruby from Other Languages Coming to Ruby from another language? Whether it’s C, C++, Java, Perl, PHP, or Python, this article has you covered!
  • Learning Ruby A thorough collection of Ruby study notes for those who are new to the language and in search of a solid introduction to Ruby’s concepts and constructs.
  • Ruby Essentials Ruby Essentials is a free on-line book designed to provide a concise and easy to follow guide to learning Ruby.
  • Ruby & Ruby on Rails programming tutorials A site that aims to provide well-organized, rich content tutorials for both Ruby and Rails.
  • Learn to Program A wonderful little tutorial by Chris Pine for programming newbies. If you don’t know how to program, start here.