2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:061551
用户头像

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

关注

评论

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

盘点 2021|从零开始,向前出发

Middleware

生涯规划 个人成长 盘点2021 2021年终总结

大型软件交付项目注意事项53条

IT民工大叔

项目管理 SaaS

实战大数据,HBase 性能调优指南

编程江湖

HBase

参加过 4 届 TiDB Hackathon 是一种什么体验? | TiDB Hackathon 选手访谈

PingCAP

中国联通、欧莱雅和钉钉都在争相打造的秘密武器?虚拟IP未来还有怎样的可能

行者AI

人工智能 虚拟

给弟弟的信第27封|学会说不,别让面子害了你

大菠萝

28天写作

如何使用Kubernetes里的NetworkPolicy

汪子熙

Kubernetes k8s 28天写作 docker build 12月日更

【转】前端开发之React Native SDK 升级问题

@零度

前端 React Native

netty系列之:好马配好鞍,为channel选择配套的selector

程序那些事

Java Netty 程序那些事 12月日更

低代码行业浅析

凹凸实验室

前端 低代码

Java序列化与反序列化

编程江湖

Linux之find常用命令汇总

入门小站

智汇华云 | 桌面云卓越体验下的协议技术解析

华云数据

智汇华云 | ArSDN给VMware带来了什么

华云数据

智汇华云 | 使用Kubeadm进行Kubernetes集群版本升级

华云数据

带你详细了解 Node.js 中的事件循环

编程江湖

前端开发 node,js

直播预告|智能运维管理平台OMP核心特性及落地场景介绍

云智慧AIOps社区

DevOps 运维 AIOPS 智能运维 运维管理

拍乐云解析融合语音通话技术实践

拍乐云Pano

音视频 RTC 拍乐云 技术干货 融合语音通话

从翻硬币游戏看敏捷开发

华为云开发者联盟

敏捷 敏捷开发 软件开发 团队 开发

AI实战分享 | 基于CANN的辅助驾驶应用案例

华为云开发者联盟

目标检测算法 CANN 昇腾 辅助驾驶 AscendCL

观点 | NoSQL 产品的 SaaS 化之路

RadonDB

数据库 nosql NoSQL 数据库

计划被打乱怎么办?

Tiger

28天写作

seata入门介绍与seata-service部署与验证(一)

恒生LIGHT云社区

架构 分布式 seata

走访数年,编撰3年:你能看到的互联网企业案例最多的一本书

博文视点Broadview

用户文章转载:P4 Rmdir 会自动删除空目录?不,没那么简单

龙智—DevSecOps解决方案

perforce P4 P4 Rmdir

【转】java开发之批处理框架 Spring Batch

@零度

JAVA开发 spring batch

科技令生活“焕然一新”|年末清洁黑科技:美菱洗地机!

联营汇聚

美菱洗地机

带你了解家居智能的心脏:物联网关

华为云开发者联盟

物联网 智能家居 物联网关 智能网关 家庭网络

SphereEx 亮相 openGauss Summit 2021,同云和恩墨签订战略合作协议

SphereEx

开源 ShardingSphere SphereEx 云和恩墨 战略合作

探索 Design Token

凹凸实验室

前端 设计

行业分析| 实时音视频的未来

anyRTC开发者

音视频 WebRTC 实时通信 语音通话 视频通话

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