[ruby-list:229] Re: ネイティブクラ スを作る

From: matz@... (Yukihiro Matsumoto)
Date: 1996-02-29 05:14:04 UTC
List: ruby-list #229
まつもと ゆきひろ@トヨタケーラムです.

Javaのネイティブクラスについてはあまり知らないのですが.

In message "[ruby-list:228] ネイティブクラスを作る"
    on 96/02/29, Shigeru Gougi <gougi@v3test3.nagoya.caelum.co.jp> writes:
|ごうぎ@TCIです。

|Javaの場合は、 
|    ・ まず、Javaでクラスを書いて、ネイティブコードにする所を
|     nativeと宣言する。
|    ・ 必要な属性を定義する。
|    ・javacでコンパイルしてjavahでstubヘッダーを作ると
|
|というアプローチになっていますので、すでにあるCのライブラリ
|をJavaのクラスにするには、データの型を合わせたり、Javaのクラ
|スの方に必要な属性をすべてJavaの方でも定義して思ったCの構造
|体に近い形にする必要があるので、すでにあるものの利用という点
|では結構面倒だなと思ってしまいます。

どちらの言語が主体になるかのポリシーの違いなんでしょうね.
rubyは「Cは偉い,Cでなんでもできる」という拡張ポリシーです.

| 欲をいえば、RubyにもJavaにもC++のクラスをそれそれのクラスと
|して簡単に定義出来ればいいなぁと思うのですが、コンパイラによっ
|てシンボル名が変わったりするので難しいのかもしれません。

私のC++嫌いを反映してrubyとC++の相性は悪いです.

K&Rスタイルで記述してあることもそうですし,classなんて名前の
変数が使ってあったりします.C++のクラスをrubyにマップする意
義も見出していませんし.

# 今後rubyで使いたいC++のクラスが出て来れば考えを改めるかも
# 知れません.

それでも,Cの構造体をrubyの構造体に直接マップできたら良いな
あ,などと考えたこともありますが,構造体のアライメントなどを
移植性を保ったまま解消する方法が思い付きませんでしたので,手
つかずです.

|XeroxのILUは分散型の環境を意識している性か、DCEのIDLに似た
|IDLで色んな言語とのインターフェースが記述出来るようで面白い
|なと思っています。
| これにRubyも追加出来ると面白いかなと思ったりもします。

ILUは一度調べたんですけど,そのまま放ってあります.あんまり
ILUが嬉しい場面に遭遇していないんで.やはり必要に迫られない
と発展しないわけですね.

                                まつもと ゆきひろ /:|)

In This Thread

Prev Next