java - 请问JPython、JRuby存在的意义是什么?

查看:154
本文介绍了java - 请问JPython、JRuby存在的意义是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

JPython、JRuby和 python、ruby有很大区别吗?
JPython、JRuby有什么明显的有点呢, 实际项目中会使用JPython、JRuby吗?
望牛人解答

解决方案

Ruby也好,Python也罢,都仅仅指的是一种语言。这就好像ISO定义好了C++语言规范,而大家都可以来实现这个规范(Microsoft的VC++, GNU的GCC等)

说回Ruby和Python, 当我们一般谈论他们俩时,默认都指的是其默认的实现(Reference Implementation)。这对于Ruby来讲就是MRI Ruby, 而对于Python来说则是CPython,这两个实现是这两种语言被开发者们所熟知且应用广泛的。

但这并不妨碍其他实现的存在。这些其他实现的存在一般都是为了补充提供一些默认实现没有的特性,解决一些特定场景下的需求痛点。 比如pypy是Python另一个比较出名的实现,他能将Python编译成Native代码,从而大大提升其性能。

好了,所以题主提到的JRuby和JPython无非就是这两种语言规范下的又一种实现。它们提供了怎样的特性呢?我认为至少有这么两点

  1. 他们被编译成Byte code跑在JVM上,借由JVM提供动态的优化和良好的性能保证

  2. 我认为是最为有价值的一点:加入JVM生态系统的最大利益便是和其他语言的互交互性(interop),这意味着你能用Ruby, Python调用Java Scala等语言,等于为这两门语言打开了巨大的第三方库资源,甚至为其参与企业级开发提供了可能

这篇关于java - 请问JPython、JRuby存在的意义是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆