Ruby on Railsをいじっています。しかし、私の質問は本当に簡単です。ruby はデスクトップアプリケーションで使われる言語ですか? Railsなしでということですか?たとえば、GUI パッケージやグラフィックス ライブラリと組み合わせてゲームを作成できますか? ruby は C をベースにしていると読んだことがあります。
4 に答える
ruby はデスクトップアプリケーションで使われる言語ですか?
はい、そうです。
Railsなしでということですか?
はい。
たとえば、GUI パッケージやグラフィックス ライブラリと組み合わせてゲームを作成できますか?
はい、できます。
ruby は C をベースにしていると読んだことがあります。
いいえ、C が速いのと同じように「速い」わけではありません。それは Ruby のポイントではないからです。Ruby は、いかなる意味でも C に「基づいている」わけではありません。Ruby コードを実行するインタープリターは C で記述されている可能性がありますが (多くのインタープリターがあり、すべてがそうであるわけではありません)、それは言語自体とは何の関係もありません。C と Ruby は実際には同等ではなく、完全に異なるニッチを占めています。
速度が重要なプログラムの経験はありません。ただし、私の経験から、RubyはGUIを使用するユーザーアプリケーションに対して十分に高速であり、他の同様の動的言語との違いはほとんど目立たないものです(Ruby 1.9はさらに高速な場合もあります)。
「類似言語」と名付けないのには理由があります。言語ベンチマークはまったく役に立たないと思います。Rubyが汎用プログラミングに十分な速さであるという事実はおそらくあなたを幸せにするでしょうが、Rubyをすでに知っていて好きなら、それを使ってより生産的になることがより重要だと思います。
RubyがCよりもさらに高速になるいくつかの制限ケースがあります。Rubyコアlangおよびstdlibのメソッドとして提供される関数のCでの実装は、RubyVMの実装よりも遅くなる可能性があります。これは、速度を気にする必要がある特定の理由を実際によく知っている場合を除いて、通常は速度は問題ではないということです。
いくつかの優れたGUIライブラリはFXRubyとShoesです。これは、 HacketyHackプロジェクトで子供たちにプログラムを教えるために使用される非常に簡単なライブラリです。私は通常、RubyとPythonでプログラミングするときにTkを使用します。これは、標準ライブラリに含まれており、他に何もインストールする必要がないためです。
ゲームの場合は、 GosuとChinguを試すことができます。Gosuはおそらく最も活発に開発されたRubyGamingLibraryであり、ChinguはGosuが提供する基礎に基づいたクラスの素晴らしいコレクションです。彼らは他のゲームライブラリ(例えばPygame)の素晴らしいコミュニティを持っていませんが、あなたは彼らと一緒に小さなゲームを簡単に作り始めることができます。
Rubyは、一般的な実装 (例: ruby-1.9.3-pl94 ) が C でコーディングされたインタープリターである言語です。 Fileには、C で実装された Ruby VM を file にセットアップする Cmain.c
の関数が含まれています。main
vm.c
Ruby のいくつかの実装を持つことができます。Parrot VM (それ自体は C で実装されています)の上に Ruby を再実装したいという人がいると聞きました。しかし、その努力はおそらくまだ進行中です。JRubyは JVM 上の Ruby です。
実際、インタープリターとコンパイラーは大きな違いではありません。多くのインタープリターには、その VM へのトランスレーター (コンパイラーと見なすことができます) を備えた仮想マシンが含まれています。一部の VM 実装には、マシン コードへのジャスト イン タイム動的トランスレータがあります。JIT 部分はマシン コードを動的に生成します。
Gnome と Gtk の接着剤であるRuby-Gnomeなどを使用して、グラフィカル アプリケーションをコーディングできます。KDE と Qt への接着剤であるRuby Qtを使用することもできます