トップページ⇒tech
148コメント59KB

.NET vs J2EE

■ このスレッドは過去ログ倉庫に格納されています
00011NGNG
IT業界の覇権争いにおいて今後最も注目されるのが
ServerSide分野だろう。現在のところSUNを中心と
するJavaが支配的だ。一方PCsoftからServerSide
への路線変更を急ぐMicroSoftはSUNからの訴訟に
よりJavaを捨てざるを得なくなった。しかし同社幹部
の「Meなんかどうでもいい。重要なのはDatacenterだ」
といった発言からもわかるようにServerSideへの進出
を重視している以上なんらかの対策を打たなくてはならない。
そこでJ2EEへの真っ向勝負として.NETをぶつけることになった。
CLR、C#、SOAPと魅力的な要素も多い。
これに対してJ2EEの切り札はEJBだ。

勉強すること多すぎ。どっちが普及するのだろうか。
(覚えるのはそっちだけにしたいしぃ〜)
0002名無しさん@お腹いっぱい。NGNG
>1
どれも使うだけならたいして難しくありません。

。。。という印象をもてるような人間以外は早いとこ
引退して欲しいです。
0003デフォルトの名無しさんNGNG
片方はでてもいないのに・・・
0004名無しさん@お腹いっぱい。NGNG
βがあるさ。
0005名無しさん@お腹いっぱい。NGNG
.net をインストールした。
これから試そう。
00065NGNG
.net まるで分からん。
サンプルをコンパイルすることすらできん。
どれがコンパイラ?
これってコマンドラインで使うんでしょ?
0007デフォルトの名無しさんNGNG
20分ぐらいでねを上げるな
0008デフォルトの名無しさんNGNG
>>6
csc.exe, vbc.exe, jsc.exe
0009デフォルトの名無しさんNGNG
>>6
C#の入門書的なものを買え。
売ってるだろ。
0010>1NGNG
どっちもやれ。
0011デフォルトの名無しさんNGNG
>>1
1に限らないけど、C#にしても.NETにしてもMSだから騒いでるんだろ?
Javaの方はもう世に出てるんだし、そろそろMSに踊らされるのはやめにしない?
何でもいいから競合できる環境をメジャーにしないと、ますますひどい世界になりそうだよ。
0012>>11NGNG
サーバサイドでのJava独占ってのも、SUNだからなあ・・・。
0013デフォルトの名無しさんNGNG
>11
確かにMSだからっていうのはあるかもしれないが、JavaをSUNが
握っていることに不満をもってる企業が多いのも事実。
C#は標準化団体に提出されてるし標準化されればMSに踊らされてる
とも言い切れないのでは?
それにサーバー業界では今のとこSUNのが強いから競合できる環境
っていうのはこの場合逆に.NETを指すんじゃないの?
0014名無しさん@お腹いっぱい。NGNG
最近CからJavaへ転向したプログラマ。Javaのクラスライブラリを見ていると、
あれで一つの世界が出来ていることが分りました。なんていうか、UNIX/Cを
超えるものというか。。。
ところで.NETもそれと同じかもしくはそれより大きな世界を目指しているのですか?
また、MFCをUNIXに移植するという話はどうして出なかったのでしょうか?
私が知らないだけ?
0015名無しさん@お腹いっぱいNGNG
>CLR、C#、SOAPと魅力的な要素も多い。

C#は知ってるけど、他はなに?
0016デフォルトの名無しさんNGNG
標準化されれば、ほんとに踊らされずに済むのかなあ。
クライアントであまりにも強すぎるんだから、
サーバでは同じ事になってほしくないな。
どうせ牛耳られるならMS以外の会社の方がいい。
0017名無しさん@お腹いっぱい。NGNG
CLR:
Java のバイトコードのようなもの。Java と違って言語を選ばない。
と、いうことになってるけど
きっと C# と VB ぐらいだろうな実装されんのは。

SOAP:
XML と HTTP/SMTP を使ったリモート関数呼び出し。
CORBA のラッパみたいな感じで使う、らしい。
パフォーマンス悪そうだからすぐに消えるのでは。多分。
0018奥さん、名無しですNGNG
さっきJDK1.3をいれたら、1.3にはRMI-IIOPってのがあるのね。
RMIでCORBA-IIOPとインターフェースが取れるってのは楽でいいね。
0019奥さん、名無しですNGNG
>17
CLRはVMじゃないのかな。MSはCLR用実行ファイルへのコンパイラを
C#用、VB用その他いろいろ作るっていってる。(ほんとかな)
JVMだって別に言語は選ばない。JVMマシン語にコンパイルする処理系が
今はないだけ。
だれかつくってみたら?GCでメモリ管理するので、CやC++のソースを
コンパイルするわけには行かないだろうけど。

CORBAのラッパがSOAP?CORBAをラップするの?オブジェクトコールを
実現するための、全く別のアプローチじゃないかな?
0020けろNGNG
CLRは、19さんの言うようにVMです。バイトコードはILコードと
対になってますね。
JavaVM上の別言語と言えば、smalltalkがあったはず、と思いサーチしてみたら、
http://www.objectlink.co.jp/PradaSmalltalk/PradaSmalltalk-JPN_1.html
というのが引っかかりました。多分ほかにもあったと思うけろ。

SOAPはCORBAよりも機能的にはずいぶんシンプルです。
というか『こんなもんで大丈夫か?』という不安が浮かびます。
とはいえ、DCOMやCORBAを使うのは大袈裟だな、という場合には
非常によいソリューションだとも思いますね。
Webとの親和性も高いし。実際やってみても簡単だったし。
0021デフォルトの名無しさんNGNG
「Runtime」なんだから当然Javaで言うrt.jar相当も含んでる訳だが。
まぁJavaで言うならJREがCLRに該当すると思えばいいんじゃない?

.NET SDK(Beta)にはCLRサポートされたcl.exeが入ってるので、C++から
CLRのクラスを使う事もできるよ。文字列UnicodeだからいちいちL"hoge"
とか書かなきゃいけなくて面倒くさいけど。

ただ、サンプルのC++コード見ても自分でdeleteしてないんだよね。
CLRのクラス使う場合はC++からであっても勝手にGCされるという事なのか
まだいまいち理解できてない。
002221NGNG
>>14
MFCはばりばりWin32に依存してるから、UNIXに移植するのは厳しいでしょ。

つーかX Window System自身はボタンだとかスクロールバーだとかという物すら管理
してないからGTK/QTといったToolKitが必要な訳で、MSがそれらを利用してMFCを実装
する事はないだろうし、かと言って新たにToolKitから作るのも無駄だし。
何より、MSがUNIX向けに積極的に動く理由自体無い訳で。

DCOMはどっかの(MSと仲がいい)会社が一部のUNIX(HP-UXだったかな)に移植している
という話は聞いた事があるけれど、実際に見た事も使っているという奴も聞いた事
ないね。
# まぁDCOMもまずレジストリサービスを移植しないと実現できんからなぁ...
0023名無しの笛の踊りNGNG
割とみんなまともなこと書いてる。
プログラミングでいうと.NETのきもは、ASP.NET(ASP+)だ。
ちゃんとわかっている人は、ほとんどいないと思うけれど、これは、かなり、
強力なコンセプトを持っている。Visual InterDevで発表されたデザインタ
イムActiveXコントロールを、かなり、パワーアップしたものなんだけど、
InterDev同様、ASP.NETも失敗するような気がする。

>>2さんへ
>どれも使うだけならたいして難しくありません。
>。。。という印象をもてるような人間以外は早いとこ
>引退して欲しいです。

で、その人たちが引退して不足した労働需要を、2さんが寝ないで働いて補
ってくれんの?
新しい環境で、ちゃんと動作するプログラムをつくれるようになるまでにな
るのって、やっぱり大変だよ。だって、どの環境も、ちゃんと動かないんだ
もん。
002417NGNG
デタラメ書いてスマン
0025デフォルトの名無しさんNGNG
ASP+はJava(servletやJSP)に対してなにかアドバンテージあるの?
なにもなかったらそりゃ失敗するよな。
002623NGNG
ASP+は現時点のサーバーサイドJavaとは比較にならないくらい
先進的なアプローチをしている。
ようやく、一般化してきたJSPだが、Actve Server Pagesが、
3年も前から同じレベルのパラダイムのものを実用レベルで提供
してきたことを思いだしてほしい。

だけど、ASP.NETって、Webアーキテクチャの本質からずれてい
るので、成功しないと思う。
0027デフォルトの名無しさんNGNG
しかし、SUNはもう少し日本語化(特にドキュメント)に力入れないと...
MSサイドは日本語化早くて、英語ドキュソプログラマは全部そっち行くと予想。
0028デフォルトの名無しさん NGNG
開発環境の優れたOSが勝利する。
0029デフォルトの名無しさんNGNG
>>28
じゃあ、Mac OS Xも勝利する可能性がッ!?
0030デフォルトの名無しさんNGNG
それは無い。>29
5年前ならいざ知らず。
003123NGNG
>>27
でも、.NETは、まだ発売もされてないし、サーバー側でMSが勝つ理由
はないでしょ。
0032デフォルトの名無しさんNGNG
>>26
JSPをちょっと擁護。
JSP は servlet 内から割と柔軟に呼び出すことができる。
servlet を介して二つの JSP を連結するとか。
ASP/COM の枠組みだと、servlet (=MVC の C )に
相当する部分がなく、ページ制御のコードを ASP に埋めこむ必要がある。
servlet/JSP/Bean の枠組みだと JSP は
純粋に HTML のテンプレートとして利用できて見通しが良い。

というか servlet から JSP を呼ぶように 何かから ASP を
呼べないんだろうか。と、ASP を使っていていつも思う。
別の発想が必要?

#あと ASP+ の資料のありか求む
0033デフォルトの名無しさんNGNG
>>32
この辺?
http://www.microsoft.com/japan/developer/net/aspplus/dnmag_aspplus.asp
0034デフォルトの名無しさんNGNG
CLRは、SunがなぜJAVAという言語ではなくVM上のバイトコードを規格化
しなかったのか、ずっと疑問視されてた部分をMSに取られた格好だね。

MSは妙に開発者を大事にするところがあるから、ライセンスは緩いものに
なると思う。そうなるとCLRはUnix系OS上にも実装されるのは必然。
そのときJAVAはどうなるんだろう?
0035デフォルトの名無しさんNGNG
Unix系のOSに実装されてもどうせWindowsのCLRはそのうち仕様拡張して
互換性が取れなくなるだろーね。とゆーかMSはマルチプラットホーム
には興味はないのでは。以上いいかげんな推測でしたー
0036>35NGNG
>WindowsのCLRはそのうち仕様拡張して互換性が取れなくなるだろーね。
そこなんだけど、ECMAが絡んでるんだよ。ということはMSの勝手には
出来ないってことなんだよね。

C#とCLRをさんざん普及させておいて.netのフレームワークで儲ける
つもりなのかな?
0037名無しさん@お腹いっぱい。NGNG
どう考えてもJavaの構文の方が綺麗だと思うのはおれだけ?
0038デフォルトの名無しさんNGNG
LISPの方が綺麗。>37
と煽ってみる。ACLマンセー
0039デフォルトの名無しさんNGNG
swich文のFALLTHROUGHができないつーのはなぁ...
0040デフォルトの名無しさんNGNG
Perlも使えるようになるのかな?
(ところでPerlはなんでswitch文がない?、関係なくてすまそ)
0041けろNGNG
>>39
いやいや、出来なくしたのは英断。あれはバグ要因になりがちだから。
かといって、同様のことをgotoでしろっていうのもなー。そっちのほうが
明示的でいいとはいえるけど。
まあMSは昔からgotoをそれほど嫌ってはいないから、違和感はないれすね。
Javaがgotoを排したのと対照的。
んで、C#は、switchでstringを扱うことが出来るけろ。これは便利。

>>40
perlにswitch文がないのは、ブロック文{}でlastを使えば同様のことが
フレキシブルに出来るからですね。そういうやり方に慣れたほうが
よろしいとの判断から、あえて作らなかったんでしょう。
0042デフォルトの名無しさんNGNG
スレッドの趣旨から外れていくけど、
javaもラベル使ってブロックのケツにbreakできた気がするなあ。
gotoの替わりだとかいって...
0043けろNGNG
Javaもラベル付きbreak出来ますね。逆にC#は出来ないんで、ちょと悲しかった。
まあJavaはswitch文あるんで、switchの代わりにラベル付きbreakでは書かないと思う・・。
たとえばこういう
SWITCH:{
if(a==1){ r=1; break SWITCH; }
if(a==2){ r=2; break SWITCH; }
if(a==3){ r=3; break SWITCH; }
}
でも、条件の部分が自由に書けるんで、こんな使い方を積極的にしてもいいかも。
Javaはbreak,continueで、Perlはlast,redoの対なんだけど、Javaの場合、
continueはループにしか使えないのがPerlと違いますね。
(今日やるまで、Javaのbreakもループにしか使えないと思ってた)
同じC系統の言語とはいえ、いろいろ違いますね。
0044default no nameNGNG
言語の話もためになるから同時進行してもらって構わないが
本題について。
1がJavaの切り札って言ってるEJBなんだけど、書籍とか探しても
ないし、javaの雑誌にいくらか書いてあるけど、どうもわからん。
だれかEJBについて簡単に説明してはくれないかい?
0045>44NGNG
雑誌の特集でもわからん場合、どう説明してほしいんだ?

使う側からは、別のVM上のオブジェクトが、
あたかも同じVM上にあるかのごとくに使えるというもの。
しかも、自分でJavaで書いたクラスとかと同じように使える。
別のVMがネットワークを介したりした別のマシン上にあれば、
それこそ、通信していないかのように(まあ、時間はちょっとはかかるよ)
使えるので、便利便利、って感じかな。

作る側から言えば、完全にJavaオンリーで書けて、
なおかつ、その手のオブジェクトがもつであろう基本的な機能、
セッション管理とか、SQLを使ったDBへのアクセス、
それらのリソースの確保や解放といったかなりの部分が
コーディング無しで実現する(まだ、発展途上だが、それでもかなり楽)。

いままでクライアント/サーバで苦労してきたのが馬鹿みたいな感じ。
だって、全部Javaで書けちまうし、ずっとNT上で開発して、
客のところのソラリスとかリナックスとかで動いちまう(しかもコンパイルはNT上)。
ここだけは、.NETには真似できないだろうな。
004644NGNG
でも、確かにEJBは「切り札」かもしれないが、
J2EE自体はEJBを使わないWebアプリケーションも含めた総合的なもの。
単独でリリースされてたServletやJSPの開発環境も、
だんだんJ2EEとして統合されつつある感じだな。
もちろん、個別の開発も可能だし、まだまだ、
JSP、Servlet、JavaBean(EJBではない)っていう組み合わせでも、
小規模の開発では十分魅力的な開発が可能だと思う。
大規模なシステムへの運用しながらの移行なんていうのも可能で、
そこで、JavaBeanをEJBに入れ替えたりできれば、もう最高かな。
004745NGNG
間違えた。46の名前は45だ。
それとも>44ということでもいいや。
0048デフォルトの名無しさんNGNG
>45 >46 サンキュ
ところでhttp://www.jboss.org/は使えるのかなぁ?
0049デフォルトの名無しさんNGNG
やっぱJavaか。
0050デフォルトの名無しさんNGNG
.NETの肝は、CLRでしょう。
バイトコードの統一とゆう開発者にとって感動的な仕様。

後発であるゆえに明らかにJAVAよりも良い仕様になってると思う。
どれだけ早く、多くのプラットフォームにCLRを供給できるかが
.NETの成否を決めると思う。

言語のC#は、おまけ的な物だと思う。
.NETとjavaの大きな違いは、開発者が言語を選べる事
perlやVBが既に.NET対応を表明している。
利用者の多い言語を取り込む事は、開発者を増やす事になり
普及を早める。

ある意味強制オブジェクト指向言語のjavaを
全ての開発者が使うかな?

この際、java(言語)もCLRに対応させてもらうといいなぁ。
0051デフォルトの名無しさんNGNG
>>50
でもJavaのバイトコードだって理論上は言語に依存しないだろ?
今のところ対応してる言語があまり出てきてないだけで。
0052デフォルトの名無しさんNGNG
分かりやすく言うと
・JAVA
バイトコードの統一
プログラム言語の強制

・.NET
バイトコードの統一
プログラム言語は自由

仕様的には、間違いなく.NETの方が優れている
じゃなきゃ今更ださないでしょ。
問題は、CLRの普及のみ。
0053デフォルトの名無しさんNGNG
>>52
いや、だからJAVAにはプログラム言語の強制は無いんだって。
0054デフォルトの名無しさんNGNG
でも結局.NETバイトコードに対応する処理系は
もともとの言語としての性格よりも.NETとしての性格を強く持つような気がする。
ひところはやった"なんとか2c"みたいな感じで。まああれよりは便利だと思うが。
0055デフォルトの名無しさんNGNG
JAVA-VMはな。>53
それと厨房の評論なんか聞きたく無いんだけど。
言語なんか適材適所なんだからなんでもいいだろ。
0056デフォルトの名無しさんNGNG
>>51
理論上はね。
sunは、その仕様を公開する事をして来なかった
出来なかったと言うべきかも知れない。

何故なら、それを公開すると逆コンパイルを容易にするからです。
逆コンパイルが容易では、いくら開発しやすくても
開発者の権が守りにくく、それを使いにくくなります。

.NETは、その問題をクリアしたようです。
0057>56NGNG
「クリアしたようです」ってどんな風に?
ちゃんと最後まで書け。
0058デフォルトの名無しさんNGNG
>>57
何かで読んだけど忘れた(笑)
それぐらい自分で調べてくれ。
0059>56=58NGNG
だったら無責任な事書くな。
ちゃんと自分の言ったことに責任持てよ。クズ
0060>56=58NGNG
忘れたんなら、おまえがもう一度ちゃんと調べて最後まで書け。
0061デフォルトの名無しさんNGNG
>>59
出来るだけ自分で調べるのは、プログラマの常識でしょ?

とにかく逆コンパイルされにくいようになってるんだってさ
俺には、逆コンパイルされにくいって事が重要で
それをどうやってるかには、あまり興味が無かったんで
もう忘れたよ。
0062デフォルトの名無しさんNGNG
>61
技術の評価を自分でやるのもプログラマの常識だと思うが……
0063デフォルトの名無しさんNGNG
>56=58=61
あなたが出した話題でしょう。
ちゃんと書いてください。
できないなら56の発言を撤回してください。
0064デフォルトの名無しさんNGNG
んじゃ撤回でいいや(笑)
0065デフォルトの名無しさんNGNG
>>62
>技術の評価を自分でやるのもプログラマの常識だと思うが……
自分で評価して勝手にここに自分の意見を書いただけさ。

自己満足ですハイ。
人の為に調べて書くほど暇じゃない。
以上
0066デフォルトの名無しさんNGNG
.NETは逆コンパイルが容易に出来るとか書かれてるぞ。
http://www.zdnet.co.jp/eweek/0007/17/00071701.html
0067デフォルトの名無しさんNGNG
.NETってあれじゃろ?
ホームレスが儲かりまくって美女と万札風呂に入るってやつ。
金が儲かり、あといい女ともやれる。とにかく凄いんじゃよ。
0068デフォルトの名無しさんNGNG
俺が読んだ物には逆コンパイルされ【にくい】って
書いてあった。
javaに比べたらされにくいんじゃない?
javaだってかなり逆コンパイルされやすいと有名な割には
その手の物あんまり出回ってないし。

中間コードだから、普通のアプリを逆アセンブルするよりは楽だろうけどね。
0069デフォルトの名無しさんNGNG
cocoaだっけ?
0070デフォルトの名無しさんNGNG
>>56
出来なかったんではなく、「必然性が無い(Javaで全部まかなえる)」と
言ってやらなかった&外部がやるのを許してないだけでしょ。

URL忘れたけどBorlandの奴が「Javaがオープンなんて大嘘だ」とかぼや
いてたし。
007170NGNG
>>68
そりゃ、公に配るとまずいじゃない。地下系ツール探すと結構引っかかるよ。
goggleのcacheに残ってる事もあるし。
0072デフォルトの名無しさんNGNG
「JavaVM仕様」とか言うそのものずばりの本があるような
気がするが…
しかも、ネットでも本文が公開されていたような気が・・
0073デフォルトの名無しさんNGNG
.NET Framework SDKに ILDasmっていう逆アセンブルするツールが
付いているくらいだから、その気になれば逆コンパイルも
容易にできちゃうんじゃない?
0074デフォルトの名無しさんNGNG
ブラウザも何らかの仕様変更があるのでしょうか?
M$はブラウザ市場も事実上独占しているのですから、
そのメリットも生かしてJava退治に励むことでしょう(藁

そういうことするなら、UNIX版IEを出してほしい(ワラ
0075デフォルトの名無しさんNGNG
ようするに56の発言はデタラメということでいいか?
0076デフォルトの名無しさんNGNG
>>74
是嫁
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=976510937
0077けろNGNG
あああ、分った。
56の発言の事ですけど、56さんはJavaPressの吉田弘一郎氏の記事を
読んだのです。多分。
そして、そこには確かにJavaの「バイトコードの守秘性」の問題が取り上
げられています。
そして、.NETの場合ですけど、3種類のJITモード、標準JIT、econoJIT、
PreJITがあります。このPreJITを指して吉田氏は
「通常のcompile&linkで、WindowsならばEXEファイルを生成します。
これを用いれば逆コンパイルを阻止できます」と書いているのです。
と言うわけですが・・・・、ちょっと違うようです。
MSによれば、PreJITは、「インストール時にILコードをコンパイルし、
ローカルディスクに保存させておくツール」だと。
この説明だと、プログラム配布時にはやはりILコードを流すということになり、
コード守秘性は高まりません。
意外でしたが、(.NET SDKインストール時)すでにPreJITは使われています。
WINNT下にあるAssenblyディレクトリに、多くのモジュールがキャッシュされてて、
システム用のモジュールがいくつかPreJITタイプになっています。
ここの領域は、キャッシュ専用領域みたいなもので、取り出したりできません。
こういう使われ方をする限り、PreJITは、コード守秘性には関係ないのです。

ええと、Javaの場合の逆コンパイル問題は、またこれはこれで面白い
んですけど・・。
007856NGNG
>>77
そう、たぶんそれ。
つまり.NETならば一度作って、ILコードで配布がイヤならば
後はそれぞれのハードに合わせて
最終実行ファイルにしてから配布って事も可能なんだと・・。

結構オープンソースってあるけど、コード守秘性が無くなると
やっぱイヤだしなぁ・・。

流れがオープンソースになって行けば
ソフトを売って儲ける時代が終わるんだろうなぁ。
0079デフォルトの名無しさんNGNG
>>70
Javaの逆コンパイラって実は結構あるのかな?
なんてツール?
0080デフォルトの名無しさんNGNG
>79
俺が知ってるのはMochaってやつ
>78
そういう話だったらJavaもNative-compilerがでてきつつある。
0081デフォルトの名無しさんNGNG
で.NETフレームワークがWindows以外のOSに移植される可能性はあるのか?
そらりす、HP-UX、linux、macOS。。。。
0082けろNGNG
吉田弘一郎がJavaPRESS最新号で、Javaのネイティブコンパイラについて
書いてます。
「いろいろあるよ。最近JETという優れたコンパイラができたよ。
でもSUNが作ってないのはいただけないよ。」
という感じでしょか。
確かに80さんが言うように、ネイティブコンパイラはあるんですけど、
本家のSUNが「Write once, run anywhere」を標榜し、PureJavaを
強調してるために、ネイティブコンパイラは日陰にいるようです。

んで、そのJETですけど、以前私も使ったことがあります。インストールにスゲー
時間がかかります(クラスファイルをコンパイルするため)。
非常に優秀だと思います。
http://excelsior-usa.com/home.html
0083名無しさんダーバードNGNG
ネイティブコンパイラに対する根本的な疑問はライセンスについてですね。

javaのコアパッケージは、ネイティブにコンパイルされるのですか?
もしされるとすれば、それは許される行為ですか?もしされないとすれば
ネイティブ化されるのは自前のコードのみですか?
0084名無しさんダーバードNGNG
>非常に優秀だと思います。
他のランタイムに依存したりしないのでしょうか?
exeのサイズはどれくらいになりますか?

ってことで、今ダウンロードしてます。
0085けろNGNG
コアパッケージは軒並みコンパイルしてますね。
ですから、swingもRMIも問題なく動きます。
自作のSwingアプリをネイティブ化するのも、とても簡単でした。

ライセンス・・・そうですね。excelsirのページを見ても、
そういった記述を見つけることは出来ませんでした。
(見落としてるかもしれませんが・・)
SUNでは当然、JDKに対して修正、逆コンパイルをしちゃいかんよ、
って書いてます。
ということは、私はインストールしただけで違法な行為を
している可能性が・・・。(汗
excelsirの行為は、違法かどうかはっきりしません。
まあSUNが訴えたりするというのはちょっと考えられませんけど。
なんというか、その辺の問題は難しいですね。
008683NGNG
JET

サンプルのコンパイルがうまくいかない奴がある。使い方がまだよくわかりません
が、
今自作のアプリをコンパイルしています。やたらとコンパイルに時間がかかりま
すね。動くかな?サードパーティのライブラリ(ソースなし)もガンガンコンパイ
ルしてて、ライセンスいーのかなー(わら。

やっと半分だ。
008783NGNG
動いた動いた。でも、メニューやラベルの日本語が化け化け「□」に
なってる。sun.io.UnknownCharacterException これはどうやって
直すのかな。 あとバイナリーが7MBもあるよ。多分これはPerfectと
かいうオプションで小さくなるのかな?僕の目的は主に、JRE不要に
することなんだけど、7MBじゃ大して変わらないサイズだもんなー。
008883NGNG
JETのウェブサイトだと、sun/io/ByteToCharSJISと CharToByteSJIS
をモジュールに組み込めっつーんだけど、組み込んだけどだめだよ。
なんか別の奴かな?
0089けろNGNG
う、文字コード・・・。そういえば私のアプリは日本語がはいってませんでした。
んで、やってみれば、確かに□□□□って書かれますね。あうう。

-lookup = *.class = c:\jdk1.3\jre\lib\i18n.jar
!module JTestFrame.class
!module sun/io/ByteToCharSJIS.class
!module sun/io/CharToByteSJIS.class

って、やってみても、変わりません・・。
よーわからんので、Excelsiorに質問メール出してみましたけど・・。
あとで友達にも聞いてみよ。
009083NGNG
その文字化けは sun/io/ByteToCharMS932, sun/io/CharToByteMS932 を
includeしたら直ったよ。 あと、これは僕が悪いんだと思うけど、
JNIが動かないよ。exeが7MBあるんだけど、これどうやって最適化する
のかな。
0091別スレの83NGNG
今、PERFECTモードでコンパイルしてるんだけど、死ぬほど時間かかるね。
0092けろNGNG
MS932ですか。。。あ、出来た、サンクスです。

+perfectオプションやってみました。
猛烈に計算しながら・・・・・・・とっても大きいファイルができた!
なんやねん!?
0093別スレの83NGNG
perfect+ だと、JDKのコアクラスもネイティブコードに変換し(え?
今までしてなかったの?)exeのみで動くバイナリが作れて、さらに
最適化でサイズが小さくなるらしいんだけど...私のプロジェクトは
Perfectモードではコケてコンパイルできませんした。

結局JRE込みのインストーラ作った方がいいのかなぁ...

0094別スレの83NGNG
Javaアプリの配布方法について、別スレたてました。

http://piza.2ch.net/test/read.cgi?bbs=tech&key=980500769
0095デフォルトの名無しさんNGNG
JET使ってみたけど、それほど速くなったとは思えない。
メモリ消費量も変わらない。
SwingSet2でしか試してないが。
0096デフォルトの名無しさんNGNG
JAVAのバイトコードが公開されていないと思っている人がいるみたいだけど
公開されているから、C++のJAVAコンパイラのguavacとかがあるし、
Super CedeのようなJAVAコンパイラがある(あった)わけでしょう。
Spuer CedeはサンからJAVAのライセンスを受けておらずJAVAコンパイラ
を作り、exeファイルを作る機能まであった。
http://java.nikkeibp.co.jp/Java/News99/0120SuperCede.html
Super Cedeはもう無いけどね。
言語がJAVAに制限されているという意見もあるが、確かに現状はそれに近い。
一応、こういうのもある。
http://java.nikkeibp.co.jp/Java/News99/0913Halcyon.shtml
Visual BasicをJAVAコードに変換するツール。
JAVAコードが逆コンパイルされて危ないというが逆コンパイル防止技術は
すでに商用化されていてたとえばJBuilderの商用版は標準でその機能が
ある。
http://www.borland.co.jp/jbuilder/prodinfo/jb40feature_matrix01.html
に、「Javaソースコードの漏洩を抑止するソースコード隠蔽機能」と
いうのが書いてある。
逆コンパイル防止ソフトが単独で売っているのかどうかしらんけど。

0097けろNGNG
>>96
逆コンパイル防止機能については、以前調べたけろ。
いわゆるObfuscationという奴だね。アプリもいろいろあります。

とはいえ、なかなかこれも単純じゃないよ。
つまり、逆コンパイラメーカーもそれに対処したモノをつくろうとしてるから。

しかもVMベリファイアが、あまりいじったコードは通過させない。
(これは、アプレットできついというハズだけど、アプリケーションでも
同様だと聞いた。最近のVMはそうだという憶測・・・・。)

んで、JBuilderのは、あまり高度な事をやってくれないみたい。
ヘルプを見たら、シンボルを分りづらい名前に変換するだけで、
可読性を低めるためのもの。

それからSuperCede、吉田弘一郎の記事にあるんだけど、
http://www.instantiations.com/jove/product/thejovesystem.htm
に買い取られています。
このJoveにSuperCedeの技術がどのくらい導入されたかは不明。
■ このスレッドは過去ログ倉庫に格納されています