阅读更多

39顶
2踩

编程语言
Ruby 1.9.2正式版发布,Ruby正式宣布进入1.9时代

今天Ruby的核心开发产品经理圆田裕贵(Yugui)宣布Ruby1.9.2正式版本发布。Ruby1.9自从1.9.0发布以来已经有两年多的时间了,但是由于1.9在很多方面对1.8进行了重大的改进和升级,很多新功能新特性并没有完全成熟,所以1.9迟迟没有正式进入应用领域,当然1.9也一直不停进行改进。

经过两年多持续改进,1.9.2作为真正成熟的,可以被用于生产领域的版本现在终于正式发布了。1.9.2和1.9.1基本兼容,并且在1.9.1之上还进行了很多改进,如:

支持IPv6的新的socket api
新的字符串编码解决方案
正则表达式的性能提升
调用本地库的方式正式引入FFI

目前Ruby1.9.2已经通过了99%的RubySpec测试,建议大家可以尝试使用了。1.9.2相比1.9.1在性能上也有很大的提高,当然更不用说比1.8自然有巨大提高。此外1.9.2现在已经支持在各种Linux操作系统,FreeBSD,MacOSX,以及Windows操作系统上面运行了。可以直接下载源代码安装:

http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.gz

最近除了Ruby1.9.2发布正式版之外,Rails3.0也发布了RC版本,3.0正式版本也是蓄势待发。Rails3.0是第一个全面支持Ruby1.9的Rails版本。等到Rails3.0正式版本发布以后,整个Rails社区将正式进入1.9时代。

随着Ruby1.9.2的发布,Ruby Enterprise Edition(http://www.rubyenterpriseedition.com/)版本估计也会快速跟进。REE版本给Ruby打了n多补丁,不但在性能方面有巨大提高,而且在很大程度上解决了Ruby的GC内存分配策略的问题。自从Ruby核心开发团队全力维护1.9之后,REE团队甚至接管了Ruby1.8版本的后续维护。目前凡是严肃的大访问量的Ruby服务器端应用,基本上都已经采用了REE。等到REE也推出1.9.2的兼容版本,Rails应用将纷纷迁移。

Ruby1.9/Rails3.0的大规模迁移即将开始,那么这个大迁移将会给我们带来些什么呢?

1、Ruby1.9带来的虚拟机指令系统将大幅度提高Ruby代码的执行速度,Ruby性能差的批评将彻底成为过去。

2、Ruby1.9支持的本地多线程机制将使得Rails服务器端应用的负载能力和吞吐量得到极大的提高,并且Ruby也将可以被用来编写后台的服务程序。

3、Ruby1.9新的M17N的字符串编码将彻底解决多国语言支持的各种小问题。

4、Rails3.0的bundle机制将使得应用程序的模块化封装更灵活,复用性更高,复杂的web应用可以拆分开来。

5、Rails集成的Rack metal机制让Rails变成一个可以自由DIY的框架,你可以很自由的拆分组装自己需要的模块,打造自己的Rails框架

因此,对于Rails社区的程序员来说,我们现在已经到了需要更新自己的知识积累,做好迁移准备的时机了。




39
2
评论 共 27 条 请登录后发表评论
27 楼 wlon 2011-01-17 13:48
我是gem update --system 时报这个错。  系统mac 使用brew 安装ruby.1.9.2
26 楼 wozhidao 2010-09-02 20:47
看来不是我一个人碰到
gem list
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:68:in `installed_spec_directories': undefined method `path' for Gem:Module (NoMethodError)
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:58:in `from_installed_gems'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:883:in `source_index'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:81:in `init_gemspecs'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:13:in `initialize'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:841:in `new'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:841:in `block in searcher'
        from <internal:prelude>:10:in `synchronize'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:840:in `searcher'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:479:in `find_files'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:983:in `load_plugins'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:1139:in `<top (required)>'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from /usr/local/bin/gem:8:in `<main>'
25 楼 darkhucx 2010-08-28 10:46
ruby初学者 写道
安装后有点小问题
~# ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]

gem没法运行

gem list
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:68:in `installed_spec_directories': undefined method `path' for Gem:Module (NoMethodError)
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:58:in `from_installed_gems'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:883:in `source_index'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:81:in `init_gemspecs'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:13:in `initialize'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:841:in `new'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:841:in `block in searcher'
        from <internal:prelude>:10:in `synchronize'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:840:in `searcher'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:479:in `find_files'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:983:in `load_plugins'
        from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:1139:in `<top (required)>'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from /usr/local/bin/gem:8:in `<main>'

同楼上,遇到一样的错误
ruby 1.9.2p0 (2010-08-18 revision 29036) [i386-darwin9.5.0]
但是gem 有问题
24 楼 huacnlee 2010-08-23 17:17
很好奇,Ruby 1.9.2 是否已经赶上 Python 的执行速度?
23 楼 morphine 2010-08-22 22:17
我也想学习
22 楼 morphine 2010-08-22 22:00
ruby我也想学学。
21 楼 jiorry 2010-08-21 11:02
我很遗憾的将所有WEB项目都转到了PHP上。PHP自己开发的框架,虽然简陋但是好处也多多。
20 楼 maleo 2010-08-20 21:38
liyaxi 写道
日本人发明的东西我不用!

Javaeye上还有此等人? 围观一下
19 楼 qichunren 2010-08-20 17:19
ruby1.9.2安装好了后,gem也安装了,直接gem -v,是1.3.7版本。
这个时候执行gem install,gem list等命令,会提示少了zlib包,所以要安装这个扩展
redhat系的可以yum install zlib-devel
ubuntu的话,可以sudo apt-get install zlib1g-dev

然后进入ruby source/ext/zlib目录
ruby extconf.rb
make
make install
就解决了。
18 楼 易卡螺丝君 2010-08-20 13:34
1.9.2的ree应该也快了
17 楼 ray_linn 2010-08-20 11:18
fansofjava 写道
要想在windows下玩,最好用mingw编译,不过还有许多东西需要重新编译的,要折腾的东西多的是。


环境早弄好了,vc++一键全搞定,libffi已经porting好了,只是Fiddle的代码还有问题...
16 楼 庄表伟 2010-08-20 10:52
liyaxi 写道
日本人发明的东西我不用!


javaeye是ruby开发的,你在使用javaeye,就是在间接的使用了日本人发明的东西。

  XD
15 楼 fansofjava 2010-08-20 09:56
不过那个rubygems的确有问题,这么多人用难道没发现?rails3的开发也在192上测试过,不知道这些家伙是怎么测试的。
14 楼 fansofjava 2010-08-20 09:55
要想在windows下玩,最好用mingw编译,不过还有许多东西需要重新编译的,要折腾的东西多的是。
13 楼 mike163 2010-08-20 09:37
lib 路径还用1.9.1的原因是 1.9.2的库 保持和1.9.1的兼容性,好像发布文件说明中提到。
The standard library is installed in /usr/local/lib/ruby/1.9.1
This version number is "library compatibility version". Ruby 1.9.2 is mostly compatible with the 1.9.1, so its library is installed in the directory.
12 楼 Hooopo 2010-08-20 09:28
liyaxi 写道
日本人发明的东西我不用!

...........
11 楼 liyaxi 2010-08-20 09:13
日本人发明的东西我不用!
10 楼 eclipse2008 2010-08-19 23:08
玩命折腾
9 楼 ray_linn 2010-08-19 22:14
最操蛋还是dl,1.9.1之前是噩梦,到了1.9.2还是噩梦,libffi在msvc下编译可得折腾了...
8 楼 ray_linn 2010-08-19 20:30
为什么lib里的ruby路径还是1.9.1而不是1.9.2,发布得很勉强啊

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 自然语言处理(NLP):23 Word2Vec词向量研究以及实践

    本文主要同大家分享word2vec原理以及应用,通过文本相似度和新闻文本分类为案例进行展开,最后对词向量技术发展进行简述。

  • lorca:Node.js中西班牙语的自然语言处理。 词干分析,情感分析,可读性,带电池的tf-idf,一致性等等!

    Lorca.js Lorca是使用javascript编写的西班牙语NLP库。 标记化,一致性,词干分析,统计信息,情感分析,可读性,TF IDF等! 安装 客户端 目前尚不支持,但很快。 服务器端 跑: $ npm install lorca-nlp 开始使用类似的库: const lorca = require ( 'lorca-nlp' ) ; var doc = lorca ( 'esto es un test' ) ; doc . words ( ) . get ( ) ; // [ 'esto', 'es', 'un', 'test' ] API概念 该库可将不同的方法连接

  • 北京交通大学离散数学 谓词逻辑_离散数学--谓词逻辑【学习笔记】

    命题逻辑的局限性--1.无法表示简单命题内部的逻辑关系 2.不能表示含有变量的语句谓词逻辑是命题逻辑的分解最简单的分解:陈述句分解成主语和谓语对于含变量的语句:个体词——主语、宾语;谓语——刻画性质或个体词之间关系全总个体域:宇宙间所有个体;个体常量——abc,,个体变量——xyz复合命题的 谓 语 符 号 化个体词、谓词无法精确描述命题个体域符号化统一个体域为全总个体域OR命题中出现的个体词...

  • 离散数学:谓词逻辑命题符号化

    谓语逻辑命题符号化

  • 深度学习的机器翻译,西班牙语到英语,英语到西班牙语的数据集下载

    深度学习的机器翻译,西班牙语到英语,英语到西班牙语的数据集下载 官网下载地址 data_spa_enhttp://download.tensorflow.org/data/spa-eng.zip

  • Programming Ruby 1.9 & 2.0 The Pragmatic Programmers’ Guide 4th Edition

    including a description of all the standard library modules, a complete reference to all built-in classes and modules (including all the new and changed methods introduced by Ruby 1.9, 1.9.2, 1.9.3, ...

  • genetics:Ruby 中的遗传编程库

    它可能适用于 1.9 的任何版本,我只是碰巧使用 1.9.2。 它不适用于 1.8。 要运行测试: 摩卡 例子 在examples目录中有一些使用该库来演化各种程序的examples 。 xor.rb 仅使用 NAND 进化 XOR 函数。 这是最简单...

  • Programming Ruby 1.9 3rd edition

    Programming Ruby 1.9 3rd edition.Cover ruby 1.9.2, downloaded from pragmatic bool shelf, please enjoy.

  • echowrap:Echonest API的Ruby接口

    Ruby 1.9.2 Ruby 1.9.3 Ruby 2.0 JRuby 1.9模式 宝石依赖 安装此gem还会安装以下gem: HTTP客户端库,可在许多适配器(例如Net :: HTTP)上提供通用接口,并在处理请求/响应周期时包含Rack中间件的概念。 一个...

  • 在Ubuntu上安装Ruby 1.9.2

    首先,2012年了,已经有了Ruby 1.9.3,为什么我要安装1.9.2? 答案:因为我在学习Ruby on Rails,参考书Ruby on Raisl 3 Tutorial是根据1.9.2写的;而且heroku服务器看样子目前只支持Ruby 1.9.2 启动Ubuntu,...

  • rdot:RDot — Ruby 类的 GraphViz 图

    对于 Ruby 1.9.x 和 2.0 对于 Ruby 1.9.2 及更高版本: 1.0.x — 旧稳定版 0.10.x(最新的 0.10.10.3)——1.0 之前的版本 对于 Ruby 1.8.7: 0.9.x(最新的 0.9.4) 命令行帮助 Usage: rdot [options] Note: -...

  • linux中查看ruby版本号,Ruby 版本常量

    说明在 MRI 1.9 以上的版本中,有一些Object类中定义的常量,说明了 Ruby 的版本和平台等信息。常量含义RUBY_DESCRIPTION和命令行输入ruby -v prints是一样的效果,由表中下列常量组成RUBY_ENGINE使用的解释器引擎...

  • 升级ruby的版本

    升级ruby版本,有时候安装ruby的版本过低,需要进行升级,例如安装在centos6.7安装fpm需要ruby版本在1.9以上。 1、主机环境如下: 1 [root@test ~]# cat /etc/redhat-release 2 CentOS release 6.7 (Final) 3 ...

  • 将Rails项目从Ruby 1.8.7升级到Ruby 1.9.2的脚本

    Ruby 1.9的代码文件中,如果包含了utf-8字符,那么需要在文件的第一行加上# encoding: utf-8。我找到这样一个脚本来自动增加。 [url]...

  • 在windows下安装ruby1.9.2,rails和DevKit

    1) 安装ruby  下载安装包:...  我下载的是rubyinstaller-1.9.2-p290.exe。装完后,可以用ruby -v 测试是否安装成功,如果显示类似ruby 1.9.2p290 (2011-07-09) [i386-mingw32]的版本信息,就说

  • TZ-formater:用于时区格式转换的 Ruby gem

    Gem 在 MRI 1.9.2、1.9.3、2.0、2.1 和 jruby 1.9 模式下进行了全面测试安装将此行添加到应用程序的 Gemfile 中: gem 'TZ-formater'然后执行: $ bundle或者自己安装: $ gem install TZ-formater用法

  • 零零碎碎搞了一天最后发现是ruby版本问题

    本文转载自:...查来查去查不到问题,后来在stackoverflow看到: http://stackoverflow.com/questions/22352838/ruby-gem-install-json-fails-on-mavericks-and-...

  • fastercsv ruby 1.9.2 出错

    在ruby1.9 + 上fastcsv 会出现这样错误 Please switch to Ruby 1.9's standard CSV library 应该将代码改成Csv, 首先require 'csv'  下面的代码可以正常运行。 require 'csv' infile = "/home/...

  • Ruby1.9.2之——Require

    貌似在Ruby进入1.9之后有了很多的变化, 有幸用到了Require, 发现了一些新的change. E.G  在c:/下有两个文件:a.rb b.rb, 现在希望在a.rb中引用b.rb, 那么一般来说可以在a.rb中这么写: require 'b' 或者 req

  • JRuby 1.7 Preview 1发布:默认使用Ruby 1.9,通过Invokedynamic改进了性能

    本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2012/07/jruby-17自从...JRuby 1.6是首个兼容于Ruby 1.9.2的版本,借助于JRuby 1.7,Ruby 1.9甚至已经成为了默认的运行时模式。在此

Global site tag (gtag.js) - Google Analytics