私はMacRubyを使用していませんが、Mac OS X Objective-Cランタイムの上に構築され、Objective-C 2.0ガベージコレクタを使用するため、iPhone開発に使用できるかどうかは疑問ですそれ自身)。 iPhone OSにはObjective-C 2.0がありますが、ガーベッジコレクタがありません(まだretain
/release
スタイルの管理メモリを使用する必要があります)ので、MacRubyはそのままでは動作しません。
また、MacRubyは、インタープリタ(Appleが提供するもの以外)を使用すると動詞が使用されるため、App Storeの開発には役に立たないでしょう。
ルビーのiPhoneポートは脱獄された電話機で動作するかもしれませんが、デバイスのRAMとCPUリソースは非常に限られているため、このようなポートがどれほど成功したのかよくわかりません。私はMRIが遅すぎると思っていて、iPhoneで役に立ちたいと思っていますが、別のRubyインタプリタの1つがうまくいくかもしれません。おそらくMacRubyは独自のGCを持っています。
私は確かにMacRubyがMac OS X開発に多くの利点を持っているのを見ることができます。ここに私の頭の上のいくつかのものがあります:
- 言語として、それは使用するのが楽しいです。ブロックは素敵です。これは非常にダイナミックで、メタプログラミングを強力にサポートしているため、コンパクトであるが読み込み可能なコードをすばやく作成することができます。
- Objective-Cは、Objectiveであるときにかなり高いレベルになることがありますが、Cであるときには気にせず低レベルになる可能性があります。
- IMHO、Objective-Cには本当に奇妙な構文があります。あなたはしばらくしてそれに慣れますが、それは初心者を恐れます。 Rubyには、特に
foo.bar 'baz'
の代わりにfoo.bar('baz')
を使用すると、より多くの主流構文があります。
- Objective-Cはヘッダーファイルを使用します。私は
.h
と.m
のファイルの間でメソッドのプロトタイプを邪魔しています。 Rubyにはそれがありません。
LLVM?腕? JITs?あまり味付けしていないプログラマーの頭字語を書き留めてもらえますか? ありがとう! – Jonah
LLVMとARMは技術的に頭字語ですが、それぞれ特殊なものです(それぞれ「低レベル仮想マシン」と「Acorn RISCマシン」)。彼らの正式な名前は、実際にあなたが何をしているかについて特に情報を与えるものではありません。頭字語を使用するほとんどの人々が実際には何を表しているのかを知りません。その拡張はおそらくそれらを拡張し、できる。人々がアメリカの意味を知らないかもしれないので、それは "アメリカ"と書くようなものです。 –