導入するのはなかなか勇気がいりますよね。
ガベッジコレクションなしだとメモリの解放忘れが問題になりますが、逆にちゃんとできている場合にはある程度の実行効率が約束されます。
もっとも今後はマルチコア化が加速するでしょうから、メモリ管理を人間が行うべきではなくなります。
とりあえず動くモノを作ってリファクタリング、という XP の観点からも、GC の利用方法の最適化による効率化が最後に来るのは理想的です。
ここでガベッジコレクション主導の開発形態に移行できるかどうかでプログラマの資質が問われます。
ただ、C言語ベースのものなど、自動管理されない部分も多々含まれていますから(そういったものを自動管理することも可能ですが)、どこまでが自動管理してくれる部分でどこからが自動管理してくれない部分なのかを勉強しなければいけないのがやはり Objective-C のネックですね。Autorelease Pool のときから、どのタイミングで解放されるのかなどが不透明でややこしいところでしたけど。この辺り、Windows のC# は取っ付きやすくて良い言語と言えそうです。
例外はリアルタイム性が要求されるもの、ということになりますが、実はそういうもの程、人間の予測性能を遥かに超えたコンピュータの計算能力によってうまく資源管理をすることが高速化のキーポイントになります。あと10年もしないウチに、この例外も消えることでしょう。
私見ですが、その観点から今後ゲームの分野が重要になってくるように思います。
コメントを書く