自从 Ruby 越来越受到人们的关注,各种 Ruby 实现也逐渐出现在人们的视野之中。除了 Ruby 之父松本行弘(Matz)开发的版本之外,JRuby、Rubinius、IronRuby、Ruby.NET、Cardinal 等不同 Ruby 实现的名头也是一天比一天响亮。XRuby 是将 Ruby 代码(.rb)转换成 Java 字节码(.class) 的编译器,在本文中,XRuby 的开发者郑晔将带您进入 XRuby 的世界。
通过本文读者可以大体了解 XRuby 的开发背景和相关架构等,因为郑晔是 XRuby 这一开源项目的主力开发人员,所以本文可以说是一篇 Ruby 专家的内行之作。文章从 XRuby 和 JVM 的关系,为什么 XRuby 会选择编译的方式,XRuby 的实现架构,如何实现 XRuby 的第一个 Hello World 等方面对 XRuby 进行了深入浅出的介绍。如果你对 Ruby 感兴趣,而自己又是一名 Java 开发人员,我想这篇文章会吸引你!
InfoQ 中文站在前些时候对郑晔进行了视频采访,谈到了在Java 平台上支持Ruby 的具体考虑、Ruby 在JVM 上的执行效率、编译和解释代码的区别等,可以作为阅读本文的参考材料。
阅读全文: XRuby:享用 JVM 上的 Ruby
更多内容推荐
加餐(一)|第一章 JVM 概览总结复习 + 思考题答案
第一章JVM概览思考题答案
JVM 最佳学习笔记<二>--- 垃圾收集器与内存分配策略
本笔记参照了周志明`《深入理解Java虚拟机:JVM高级特性与最佳实践》`第三版,读完之后受益匪浅,让我对Java虚拟机有了一个深刻的认识,这也是Jvm书籍中最好的读物之一。
2020-05-27
面向移动的 Ruby:MRuby、RubyMotion 与 Ruboto
过去几周出现了几个新的Ruby实现与方言,他们分别是轻量级、兼容于ISO的MRuby以及可以通过Ruby编写iOS应用的MobiRuby与RubyMotion。
RubyMotion 宣布将支持 Android
RubyMotion为开发者带来了使用Ruby编写iOS和OS X 应用的一系列工具,它使用基于LLVM编译器进行代码编译,将Ruby编写的程序代码编译成本地原生代码。即将发布的3.0版本将支持Android应用的开发。
Elixir:可能成为下一代 Web 开发语言
Elixir是一种动态函数式语言,设计用于构建可扩展、可维护的应用程序。Lau Taarnskov是一名有着20多年Web软件开发经验的开发人员。他认为,Elixir将会对Web开发领域产生重大影响。近日,他在个人博客上阐述了这一观点。
外部函数接口,能不能取代 Java 本地接口?
今天,我们一起来讨论Java的外部函数接口。
2021-12-13
特别加餐|当 JS 遇到 AIGC,会碰撞出什么样的火花?
希望通过今天的这篇加餐,可以让你看到AI的出现并不是为了制造焦虑,相反,它可以提高我们的生产力,让我们将更多的时间用于学习、思考并创造更有价值的应用。
2023-05-22
Ruby on Rails 与 Java,哪一个才适合你呢?
假如你要从头开始开发一个Web应用项目,当然了,这是个很复杂的项目,拥有大量的功能特性,并且要能做到可伸缩以及可维护。基于这些核心需求,对于一个团队来说,很难一下子就选择好最适合于这些需求的编程语言或是Web框架。基于这个假定,国外媒体cygnet-infotech进行了相应的讨论与分析。
欣欣向荣的 Ruby 家族
诞生于1993年的Ruby即将迎来自己的20岁生日,估计松本行弘(Matz)先生20年前也没有想到Ruby能成为一门流行的语言,长期出现在TIOBE编程语言排行榜前20之列,并且有逐步上升之势。Ruby的爱好者遍布世界各地,在中国也有庞大的RubyChina社区。而且,除了Matz的MRI Ruby之外,还诞生了很多与其兼容的Ruby实现,有的旨在提升性能,而有的则是为了充分利用其他平台提供的资源,还出现了专门针对移动设备和嵌入式设备的版本。
JRuby 近况:JRuby 1.5.0.RC1、Warbler 1.0 及 Nokogiri Java Port
近日,JRuby发布了最新的1.5.0.RC1版本,修复大量Bug并做出多处改进,同时还增加了很多新功能。Warbler迎来了1.0版本,对Rails 3提供了更好的支持。Nokogiri的纯Java版本也在不断完善之中。
Rust 异步编程之 tokio 运行时(十)
2021-09-02
Ruby VM 近况:1.9.2 增加 DTrace 支持、Rubinius 1.0 RC2 添加安装程序、IronRuby IDE
Rubinius 1.0 RC2添加了二进制安装程序,Ruby 1.9.2将支持DTrace。IronRuby离1.0又近了一步,SharpDevelop 3.1开始支持IronRuby。此外,WEBRick用户应该考虑升级到最新的Ruby 1.8.x和1.9.1,因为最近发现了一个缺陷。
在培训机构花了好几万学 Java,当了程序员还常被鄙视,这是招谁惹谁了?
这钱花的憋屈
2020-05-28
JRuby 近况:1.5.1、Google App Engine 及本地扩展
近日发布的JRuby 1.5.1中做了不少改进,这帮助JRuby在Google App Engine上取得了很大进步。此外,Ruby Summer of Code中的项目在本地扩展支持方面做了一些工作。
在.NET/Mono 上运行 Java:Jeroens Frijters 谈 IKVM.NET
近日,来自微软的Erik Meijer与IKVM.NET创建者Jeroens Frijters谈到了IKVM.NET,讨论了该项目的历史以及它是如何实现在.NET与Mono上运行Java的。
2010 年 InfoQ 中文站 Ruby 社区回顾
2010年刚刚过去,感谢大家在过去一年里对InfoQ中文站的关心与支持。在踏上新的征程前,让我们先来回顾一下去年一年中InfoQ中文站Ruby社区里都有哪些内容,大家又在关注什么。
JNBridge 提供了跨越 Java 与.NET 代码的分布式事务支持
凭借JNBridge技术,Java和.NET代码无需交叉编译器就可以实现对象共享。在该方案下,JVM和CLR可以运行在不同的机器上,也可以运行在一台机器的不同进程上,甚至还能运行在相同的进程上。借助于JNBridge 5.0,以上这些功能又得到了进一步的扩展,提供了每个平台上的本地事务支持。
加餐|这个专栏你可以怎么学,以及 Rust 是否值得学?
都说 Rust 好,但是就是入门难,所以它真的值得你花精力学习吗?
2021-08-24
开篇词 | JavaScript 的进阶之路
这门课的初衷,就是让学习JavaScript的你,能够对这个开始比较不那么“专业”的语言,有一个系统的专业理解。帮助你一步一个脚印,把点连成线,把线连成面,把面搭建起一座空间立体的“思维大厦”。
2022-09-19
死磕 Java 并发编程(7):读写锁 ReentrantReadWriteLock 源码解析
这是《死磕Java并发编程》系列的第7篇文章 我们在一起来看看 读写锁 ReentrantReadWriteLock 的源码分析,基于Java8。
2020-05-02
暂无签名
推荐阅读
Java-vs-Kotlin,Android 开发人员应该选择哪种语言?,kotlin 脱糖
2021-11-02
开篇词|拥抱 Rust 浪潮,迎接更极致的编程体验
2023-10-23
Android 前景怎么样、是不是要凉了、是不是应该考虑要转行
2021-11-05
02|挑战与趋势:云原生时代 JVM 的演进之路
2023-08-22
22 个必知编程语言之「Ruby」
开篇词|云时代来临,如何学好 JVM 应对未来的挑战?
2023-08-21
猿灯塔:spring Boot Starter 开发及源码刨析 (三)
2020-07-11
电子书
大厂实战PPT下载
换一换 谭霖 | 美团 集群调度系统负责人
赵缙翔 | 快手 前端工程师
张倩 | 腾讯云 数据库专家工程师
评论