写点什么

JRuby 综述:Google App Engine 支持、BiteScript 及新的编译器

  • 2009-04-14
  • 本文字数:856 字

    阅读完需:约 3 分钟

几周前 JRuby 1.2 发布了( InfoQ 对 JRuby 1.2RC1 的报道总览了其变化)。借助于该发布,JRuby 团队现在又开始了新的项目。

现在 Ola Bini 正忙于 JRuby 和 Ioke 的测试工作,它们将用在 Google 新发布的 Google App Engine 的 Java 支持上(请查看 InfoQ 对 Java on GAE 的报道)。Ola 还谈到了 GAE 上的 JRuby 和 Rails 的需求以及建立 JRuby on Rails 应用的方式:

你需要使用最新版的 JRuby。对于 JRuby 来说,自从 1.2 版发布后大多数变化都加到了主干上,因此请先检出最新的代码然后再进行构建。最新版的 Rails 也没什么问题。

因为 GAE 并不支持 RDBMS,所以无须使用 JDBC。 Ola 给出了 Bumble,这是对 Google DataStore 的一个包装器

JRuby 仅仅是 GAE 所支持的众多 JVM 语言中的一个,其他还有 Clojure 及 Rhino(Google维护了支持语言的一个列表)。Ola 还列出了GAE 的一些限制,这些限制会导致JVM 语言出现问题,同时关于反射、线程、字节码验证等方面的一些示例也进行了更新。

与此同时,Tom Enebo 创建了 JRuby-Parser ,它从 JRuby 中抽取出了 JRuby 解析器,凭借这一点,IDE 或其他工具可以使用解析器而无需依赖整个 JRuby。

Charles Nutter 开始着手编写全新的 Ruby 编译器,其目标是将 Ruby 类型编译成 Java 类

* 使用我的字节码 DSL “BiteScript”,就像 Duby 一样 * 使用类的“运行时”定义来生成对应的 Java 版本

第二点很重要。相对于使用离线编译器来检测文件并生成代码,该编译器实际上使用了运行时的类来创建对应的 Java 版本。这意味着我们可以使用通常的元编程工具,这样无论何时,只要编译器得到类,它就能查看到其中的所有方法。

Charles 还发布了一个有用的工具 BiteScript (用于创建字节码的内部 DSL),该工具使用 JRuby 生成字节码。JVM 字节码会映射到 Ruby 方法上,由后者生成字节码;用于创建类和方法的那些 Ruby 方法构成了 API 并采取紧凑的方式来生成 class 文件。

请查看 Charles 关于 BiteScript 发布的声明来了解更多信息。

查看英文原文: JRuby Roundup: Google App Engine Support, BiteScript, New Compiler

2009-04-14 01:061518
用户头像

发布了 88 篇内容, 共 269.5 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

如何在Linux系统中安装Docker?

Ethereal

Docker

21《重学JAVA》-- 集合 (三)

杨鹏Geek

Java25周年 28天写作 12月日更

用户日活月活怎么统计 - Redis HyperLogLog 详解

程序员历小冰

redis 28天写作 近似算法 12月日更 HyperLogLog

语音输入还是打字输入

将军-技术演讲力教练

百度智能云以知识智能化驱动产业智能化升级

百度大脑

【大咖直播】Elastic 企业搜索实战工作坊(第二期)

腾讯云大数据

Elastic Search

Flink 实践教程-进阶(4):TOP-N

腾讯云大数据

flink 流计算 Oceanus

基于SLA的测试

QualityFocus

云原生 测试 SLA

模块七作业:王者荣耀商城异地多活架构设计

dean

架构实战营

Prometheus Exporter (三十三)BIND Exporter

耳东@Erdong

Prometheus 28天写作 bind exporter 12月日更

混沌工程之 ChaoBlade 的实现原理

zuozewei

混沌工程 ChaosBlade 12月日更

Dubbo框架学习笔记八

风翱

dubbo 12月日更

[Pulsar] TopicPolicy的同步过程

Zike Yang

Apache Pulsar 12月日更

比较PostgreSQL与MySQL两大开源关系数据库管理系统

Ethereal

MySQL 数据库 postgresql

Flink 实践教程-进阶(3):窗口操作

腾讯云大数据

flink 流计算 Oceanus

LabVIEW目标对象分类识别(理论篇—5)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 目标对象分类 分类算法

【CSS 学习总结】第一篇 - HTML 的语义化

Brave

CSS 12月日更

DDD领域驱动设计实战(一)-领域模型、子域、核心域、通用域和支撑域等基本概念

JavaEdge

12月日更

51 K8S之Helm基础应用

穿过生命散发芬芳

k8s 28天写作 12月日更

百度搜索中台海量数据管理的云原生和智能化实践

lecury

云原生 数据架构 架构演进 技术创新 百度搜索

读《思辨与立场》-07-02指导原则

wood

28天写作 批判性思维 思辨与立场

一年一度绩效考核

搬砖的周狮傅

绩效管理

数仓与主题域

圣迪

数据仓库 数据 数仓 主题域 主题

C#中的属性

喵叔

28天写作 12月日更

浅谈protobuf

lecury

协议 服务器端开发 protobuf

Vuepress 2.X + Element-Plus 的基本使用

码字与律动

typescript Vue3 vuepress Element Plus Vuepress2.X

感情是麻烦出来的(21/28)

赵新龙

28天写作

架构实战营-模块七作业

随风King

「架构实战营」

基于流计算 Oceanus 和 Elasticsearch Service 构建百亿级实时监控系统

腾讯云大数据

流计算 Oceanus Elastic Search

架构实战营

ren

妙解RIP协议和OSPF协议的优缺点,建议收藏!

Ethereal

网络协议 OSPF 网络技术 网络技术联盟站 rip

JRuby综述:Google App Engine支持、BiteScript及新的编译器_Java_Werner Schuster_InfoQ精选文章