gcj/FAQ


gcj

gcj/FAQ

  1. Monaと関係あるように見えないが?
    • 言語としてのJavaの最小限のサブセットを抽出することが狙いなので、これ自体はOSに中立でないと逆に困るわけです。
    • Monaとの絡みに関してはgcj/Monaで。
  2. 最小限のサブセットとは?
    • UNIXやWindowsではフルスペックのJavaが動きますので、それらで動かすだけのためであれば、わざわざこのようなものを開発する意味は薄いです。フルスペックのJavaを動かすのが難しい環境で、言語としてのJavaを利用するために最小限のサブセットを抽出することを試みているわけです。
  3. 言語としてのJavaとは?
    • C/C++ではプログラマの力量でどうにでもなる自由さがありますが、それが逆に配列とポインタの関係で悩んだり、思わぬバグ(バッファオーバーフローなど)を生み出す危険性にもつながります。また実装とヘッダを同期させるなど、一見二度手間に見える作業も強制されるため、そういった部分を簡素化した言語としてJavaに注目しています。
  4. JavaとVMは表裏一体では?
    • gcjではネイティブコンパイルされるので、VM依存の面を避けて、純粋に言語として利用できるのではないかというのが狙いです。
  5. MonaでJava資産を活用できるようになりますか?
    • なりません。
    • ↑は身も蓋もありませんが、Java資産の活用のためにJava環境全般を移植するという試みではなく、今後の開発言語の選択肢としてJavaを提供することが目的のため、既存のJava資産の有効活用は想定外ということです。
  6. 資産が活用できなければ意味ないじゃん
    • MonaではC/C++言語が使えますが、libcやSTLなど言語の標準ライブラリとされているもののサポートは完全ではないため、既存のC/C++資産がフル活用できるとは言い難い状況です。ですがサポートされている範囲内のものは活用できます。基本的にそれと同じだと考えてください。
    • ライブラリにあまり依存していないコードに関しては容易に流用することができます(→gcj/JAVAde3D)。こういったものであっても言語としてのJavaが使えない状況では、別の言語で書き直さなければ使えないわけです。
  7. ライブラリを補えば資産を活用できるの?
    • 基本的にはYESですが、JavaにはVMとしての側面があり、VMの機能を活用したものに関しては修正が必要となるでしょう。
    • JNIなどネイティブ資産を活用したものも多いため、結局はJavaだから特別だということは何もなく、C/C++と同じです。
  8. じゃあC/C++と状況は何も変わらないということ?
    • そうです。使える言語の選択肢が増えるというだけのことです。言語仕様的にC/C++より単純化されている部分に関してのみ、恩恵があります。これは前述の「言語としてのJava」に書いたとおりです。
  9. VMも含めたJava環境一式が揃わないものはJavaとは認められない
    • Sunの公式見解に沿えばその通りです。
    • ここで対象にしているのはJava言語だけです。J++やJ#と同じように、公式にはJavaと認められない異端的なアプローチです。
  10. 全部ひっくるめたJava一式が使いたい
    • 是非VMとライブラリを移植してみてください。

コメント

コメントはありません。 コメント/gcj/FAQ?

お名前:

MENU

now: 2

リンク


最新の20件
2018-09-03 2018-05-09 2017-09-29 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-06-05 2016-05-29 2016-04-15 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 3213, today: 1, yesterday: 0

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-03-28 (金) 15:48:00 (3829d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.023 sec.