问题标签 [jvm-languages]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 Groovy/JRuby/Jython 或其他 JVM 语言的 UI 设计替代方案?
对于 Java 生态系统中的开发人员来说,在 UI 设计方面有一些选择。最著名的是:
- Swing(与 Netbeans 及其 GUI 构建器一起使用时首选)
- Eclipse 的 SWT(主要用于 Eclipse 插件)
现在,是否有任何针对 JRuby / Groovy / Jython 或其他“动态”JVM 语言的框架或设计替代方案?
一些 UI 框架是 Swing 或 SWT 之上的层,例如,框架可以读取 XML 中的屏幕描述并实例化相应的 Swing 组件。
如果您知道这样的框架,但它以 JVM“动态”语言为目标,我也希望在答案中看到它们。
scala - Scala REPL 中的递归重载语义 - JVM 语言
使用 Scala 的命令行 REPL:
给
看来你不能在 REPL 中定义重载的递归方法。我认为这是 Scala REPL 中的一个错误并提交了它,但它几乎立即以“wontfix 关闭:鉴于解释器的语义,我看不出有任何方法可以支持,因为必须编译这两种方法一起。” 他建议将这些方法放在一个封闭的对象中。
是否有 JVM 语言实现或 Scala 专家可以解释原因?例如,如果这些方法相互调用,我可以看到这将是一个问题,但在这种情况下呢?
或者,如果这是一个太大的问题,而您认为我需要更多的先决知识,那么是否有人有任何关于语言实现的书籍或网站的良好链接,尤其是在 JVM 上?(我知道 John Rose 的博客,以及 Programming Language Pragmatics 这本书……但仅此而已。:)
groovy - Groovy 相对于 Jython 或 Jruby 的优势?
当我可以使用 Jython 或 Jruby 时,为什么还要选择使用 Groovy?该语言是否提供任何固有优势来弥补 Jython 和 Jruby 技能适用于 JVM 之外的母语这一事实?
请记住,我故意让这个问题保持通用性,但如果在特定领域存在任何优势,请毫不犹豫地描述它们。
编辑
澄清一下,如果我在 Jruby 中编写一些代码,我现在可以在某些情况下,如果需要,将代码移到 JVM 之外,或者至少我对 Ruby 有了更好的理解。而 Groovy 技能仅在使用仅存在于 JVM 中的语言时才适用。Jython 和 Jruby 有这个内置的优势,Groovy 必须用什么来弥补这个劣势?
如果 Groovy 没有您发现的任何优势,并且您建议只使用 Jython 或 Jruby,请告诉我。
编辑 2
感谢大家的所有答案,他们中的大多数人都提出了相同的观点,Groovy 与 Java 的集成略好于 Jython 或 Jruby。
跟进
使用 Netbeans 6.5 作为我的 IDE 我发现 Groovy 与 Java 项目的集成比 Jruby 更好。我不确定缺乏集成是否是 Jruby 或 Netbeans 的失败。但是在将它用于一点 Groovy 之后,肯定似乎有了优势。
java - 没有 Java 的 J2ME 开发?
我正在第一次涉足 J2ME 世界。我更喜欢使用函数式语言进行开发。
Scala 曾经支持 CLDC,但不再维护。Bigloo似乎已经消失了。
解释器(例如 Jython)是不行的,因为 J2ME 应用程序必须很小(至少我的应用程序必须很小)。
我想知道任何能够使用另一种 JVM 语言来构建 J2ME 应用程序的人。
.net - 使用 JVM 的 Sun 品牌竞争对手 .NET
近年来出现了许多 JVM 语言,包括 Javascript、Python、Ruby 等(完整列表在这里:JVM 语言列表)。我的问题是:为什么 Sun 没有像 Microsoft 的 .NET 那样为 JVM 提供一整套语言?使用新版本的 JVM,他们可以对动态语言或类型系统进行任何必要的调整,并为至少几种语言发布编译器。这将立即为一大堆语言提供对 Java 已经存在的大型类库的访问权限。
java - 是否有人在愤怒中使用 Scala(以及对 Java 程序员的什么建议)?
自从开始使用 Smalltalk 以来,我已经成为一名 Java 程序员 10 多年了。我认为下一个主流语言很可能是在无处不在的 Java 虚拟机上运行的语言。我想利用 Scala(以及其他语言)具有的一些特性——case
类层次结构、闭包、类型推断的语句,因为它可以让我编写更简洁明了(我希望)的代码。更接近 Smalltalk!
Java 中所有的第二天性:
- 建筑与
ant
- 将应用程序/库部署到逻辑
jar
s - 强大的 IDE 工具支持
- 编写 GUI(或者通过某种远程处理让 Swing GUI 与它对话?)
- 3rd 方库/框架
- 配置(属性
XML
等Spring
) - 数据库驱动程序等
我担心玩一些宠物项目和实际在工作场所愤怒地使用它之间的区别有点太大了。
- 有没有人实现这个飞跃?
- 它值得吗?
- 你学到了什么?
(显然人们正在使用Scala——但是否有人正在构建实际的企业应用程序,为了更好的说法?)
ruby-on-rails - Ruby/Rails 线程安全
我不时地使用 Ruby 进行黑客攻击,但我没有用它做任何大的或多线程的事情。我听说 MRI 只支持绿色线程,而 JRuby 通过 JVM 支持本机线程。然而,我偶然发现博客和讨论组上的评论说“Rails 不是线程安全的”或者 Ruby 本身不是线程安全的。例如,有人评论说 require 语句有问题。这听起来有点基本。
我见过很多不能正确处理并发的 Java 应用程序,我不时对它们做噩梦 :-) 但是,如果你真的知道自己在做什么,至少你可以用 Java 编写线程安全的应用程序(它是只是不容易)。
这一切听起来都令人震惊,有人可以详细说明一下 - 究竟是什么问题,如果是这种情况,Rails 是如何工作的?我可以编写在没有竞争条件和死锁的情况下正常工作的多线程 Ruby 代码吗?它在 JRuby 和 MRI 之间是可移植的,还是我必须破解 JVM 特定代码才能正确利用 JVM 本机线程?
编辑:
我应该问两个问题,因为人们似乎只回答 Rails 线程的东西(这本身很好)和绿色线程与原生线程。我对关于线程安全的核心 Ruby 问题的担忧并没有真正得到解决。在某些情况下,require似乎至少存在一个(未解决的?)问题。
java - 您在 java 世界中首选的脚本语言(JVM 上的脚本语言)和方式是什么?
您在 java 世界中首选的脚本语言(JVM 上的脚本语言)和方式是什么?什么时候你更喜欢你的脚本语言而不是 java(在什么情况下,例如原型设计)?您将其用于大型项目还是仅用于个人项目?
java - Jython 可以取代 Java 吗?
如此多的服务器端和移动 Java 应用程序使用 Java 的本机 Java 语言。我们是否可以使用 Jython 来构建企业应用程序,例如网站、应用程序服务器等?
另外,您对 Jython 中的 Java ME 应用程序有何看法。
PS 也欢迎对问题发表评论。
java - JVM实现之间的差异
JVM 实现有何不同(许可除外)?每个 JVM 是否都为通用处理实现类型擦除?
两者的区别在哪里:
- JRockit
- IBM JVM
- 太阳虚拟机
- 打开 JDK
- 停电
- 咖啡
.....用尾调用优化处理其中之一?