問題タブ [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: この 2 つのメソッドをコンパイルする必要があるため、インタープリターのセマンティクスを考えると、これをサポートできる方法がわかりません」で閉じられました。一緒。" 彼は、メソッドを囲んでいるオブジェクトに入れることを勧めました。
その理由を説明できる JVM 言語の実装または Scala の専門家はいますか? たとえば、メソッドが互いに呼び出されると問題になることがわかりますが、この場合はどうなりますか?
または、これが大きすぎる質問で、前提知識がもっと必要だと思われる場合は、言語の実装、特に JVM に関する書籍やサイトへの適切なリンクを誰か教えてください。(John Rose のブログと本 Programming Language Pragmatics については知っていますが、それだけです。:)
groovy - JythonやJrubyに対するGroovyの利点は?
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は、JrubyよりもJavaプロジェクトとの統合が優れていることがわかりました。統合の欠如がJrubyまたはNetbeansの失敗であるかどうかはわかりません。しかし、少しの間それを使用した後、Groovyは間違いなく足を上げているようです。
java - Java を使用しない J2ME 開発?
私は、J2ME の世界に初めて足を踏み入れています。開発には関数型言語を使用したいと思います。
Scala は以前は CLDC をサポートしていましたが、現在は維持されていません。Bigloo は姿を消したようです。
J2ME アプリは小さくなければならないため (少なくとも、私の場合は小さくなければなりません)、インタープリター (Jython など) は使用できません。
別の JVM 言語を使用して J2ME アプリケーションを構築できた人を知りたいです。
.net - JVMを使用した.NETのSunブランドの競合他社
ここ数年、Javascript、Python、Rubyなどを含む多くのJVM言語があります(完全なリストはこちら:JVM言語のリスト)。私の質問はこれです:なぜSunはMicrosoftの.NETのようにJVM用の完全な言語スイートを出していないのですか?新しいバージョンのJVMを使用すると、動的言語または型システムに必要な調整を行い、少なくともいくつかの言語のコンパイラーをリリースできます。これにより、Javaの既存の大規模なクラスライブラリにすぐにアクセスできるようになります。
java - 怒って Scala を使っている人はいますか (Java プログラマーへのアドバイスはありますか)?
私は Smalltalk を始めてから 10 年以上 Java プログラマーをしています。次の大きな言語は、ユビキタスな Java 仮想マシン上で動作する言語になる可能性が高いというのが私の意見です。Scala が (他の言語の中でも) 持っている機能のいくつかを利用したいと思います -case
クラス階層、クロージャ、型推論のステートメント。Smalltalkに少し近づいた!
Java の第二の性質であるすべてのもの:
- で構築
ant
- アプリケーション/ライブラリを論理
jar
sにデプロイする - 優れた IDE ツールのサポート
- GUI を書く (または、ある種のリモーティングを介して Swing GUI に話しかけさせる?)
- サードパーティのライブラリ/フレームワーク
- 構成 (プロパティ
XML
などSpring
) - DBドライバーなど
お気に入りのプロジェクトで遊んでいることと、実際にそれを職場で怒らせて使用することの違いが少し大きすぎるのではないかと心配しています.
- この飛躍を遂げた人はいますか?
- それは価値がありました?
- どのような教訓を学びましたか。
(明らかに、人々はScalaを使用しています。しかし、より適切な言葉が必要な場合、エンタープライズアプリケーションを実際に構築している人はいますか?)
ruby-on-rails - Ruby/Railsスレッドセーフ
私は時々Rubyをハッキングしてきましたが、大きなことやマルチスレッド化したことは何もしていません。MRIはグリーンスレッドのみをサポートし、JRubyはJVMを介したネイティブスレッドをサポートしていると聞きました。しかし、ブログやディスカッショングループで、「Railsはスレッドセーフではない」またはRuby自体はスレッドセーフではないというコメントに出くわしました。たとえば、requireステートメントに問題があると誰かがコメントしました。それは少し基本的に聞こえます。
並行性を適切に処理しないJavaアプリをたくさん見ましたが、時々悪夢を見ました:-)しかし、少なくとも、自分が何をしているのかを本当に知っていれば、Javaでスレッドセーフなアプリケーションを作成できます(簡単ではありません)。
これはすべて非常に憂慮すべきことのように聞こえますが、誰かがもっと詳しく説明することはできますか?正確には何が問題であり、これが事実である場合、Railsはどのように機能するのでしょうか?競合状態やデッドロックなしで正しく機能するマルチスレッドRubyコードを記述できますか?JRubyとMRIの間で移植可能ですか、それともJVMネイティブスレッドを適切に利用するためにJVM固有のコードをハックする必要がありますか?
編集:
人々はレールスレッディングのもの(それ自体は素晴らしい)とグリーンスレッディング対ネイティブスレッディングにしか答えていないように見えるので、私は2つの質問をするべきでした。スレッドセーフに関するRubyのコア問題に関する私の懸念は、実際には対処されていません。場合によっては、requireに少なくとも(未解決の?)問題があるようです。
java - Java の世界で優先するスクリプト言語 (JVM 上のスクリプト言語) と方法は何ですか?
Java の世界で優先するスクリプト言語 (JVM 上のスクリプト言語) と方法は何ですか? Java よりもスクリプト言語を好むのはいつですか (たとえばプロトタイピングの場合など)。大規模なプロジェクトに使用しますか、それとも個人的なプロジェクトにのみ使用しますか?
java - Jython は Java を置き換えることができますか?
非常に多くのサーバー側およびモバイル Java アプリケーションは、Java にネイティブ Java 言語を使用しています。代わりに Jython を使用してエンタープライズ アプリケーション (Web サイト、アプリケーション サーバーなど) を構築できますか?
また、Jython での Java ME アプリケーションについてどう思いますか。
PS 質問へのコメントも歓迎します。
java - JVM 実装の違い
JVM 実装の違いはどこですか (ライセンスを除く)? すべての JVM は Generic 処理のために Type Erasure を実装していますか?
次の違いはどこにありますか。
- JRockit
- IBM JVM
- SUN JVM
- JDKを開く
- ブラックダウン
- カフェ
..... それらの 1 つに Tail-Call-Optimization を適用しますか?