• ベストアンサー

javaが主流なのは、サーバー用途だけ

unchikunの回答

  • unchikun
  • ベストアンサー率22% (2/9)
回答No.4

素人の私が考える「デスクトップで利用されない」理由は、  1.起動時間の重さ  2.メモリ食い  3.デスクトップから浮いた感じのGUI  4.逆コンパイルのしやすさ などがある気がします。 (1) Javaのソースをコンパイルしても生成されるコードは中間コードと呼ばれるもので、それをJavaVMで解釈しながら処理が進みます。 このJavaVMの起動や、Javaの高速化手法であるJITによる前処理によって(←今は改善されているかもしれませんが)起動が重くなりがちです。 一般的なユーザはアイコンをクリックして、なかなかアプリケーションが立ち上がらないと非常にイライラします。 逆に一旦起動してしまえば365日24時間ずっと走り続けるようなサーバプログラムにおいては、起動時間などどうでもよいのです。 (2) Javaは結構メモリを食います。 デスクトップに積まれるメモリ量も512MB~2GBと年々増えています(増えているというより、ソフトウェアが要求するスペックの向上で増やさざるを得ない?)が、起動しているアプリケーションが全てJavaプログラムとなるとかなりきついものがあると思いますし、軽量にこしたことはありません。 サーバ等につまれるメモリは一桁、二桁上のメモリ量ですので、別にJava程度ならびくともしないでしょう。 (3) JavaのGUIコンポーネントとしてswingがあり、かなり柔軟にそして容易にGUIアプリケーションの開発が出来ます。 がしかし、出来上がったアプリケーションはデスクトップ環境とは独立した浮いた感じのGUIになり、思った以上に気持ち悪いです。 Look and Feelを変えて本来のGUIの見た目に似せることは出来ますが、やはりなんとなく違和感があります。 SWTを使えばこの点は改善できますが、各OS毎にアプリケーションパッケージを用意し、数MBのライブラリを同梱しなければならず結構めんどうです。 サーバアプリケーションとかだとあまりGUIも使わないので、この欠点も気になりません。 (4) これは結構大きいと思うのですが、つまりコンパイルした生成物から元のコードを復元しやすいということです。というか復元するための逆コンパイラがJavaの開発ツールキット群に含まれているくらいです。 オープンソースは別としてソフトウェアを作って飯を食べている企業にとって、ソフトウェアの「ソース」は財産そのものですし、他企業に知られたくない方式やアルゴリズムがソースコード中に埋まっていることがあります。 それがあっさり他人にばれてしまってはいけません。 逆コンパイルを困難にする(逆コンパイルして復元されたソースが人間にとって非常に醜いような形式になるようにソースを変換する)ツールもありますが、C++等のネイティブコードを吐くコンパイラと比べればやはり復元しやすいらしいです。 とまぁ素人ながら考えたことを書いてみました

noname#32345
質問者

お礼

ありがとうございました

関連するQ&A

  • 現時点で、JavaのIDEの主流となっているのは?

    現時点で、JavaのIDEの主流となっているのは? 先ごろ、SunのNetBeans6.9がリリースされました。かれこれITの開発現場を離れて数年経ちますが、この(NetBeansがリリースされたという)ニュースを見て、ふと疑問に思ったことがあります。 いま開発現場で主流となっているJava IDEといえば、相変わらずEclipseなのでしょうか?それともNetBeans?もしくは他の何かが台頭してきているとか…。 興味本位の質問ではありますが、まさにJavaの開発プロジェクトに携わってる方の意見など聞ければ有難いです。

    • ベストアンサー
    • Java
  • Javaサポートのレンタルサーバに関して

    現在、レンタルサーバを探しております。 ■目的(半分仕事) セミナーを主催し、参加者からのアンケートを回収したり 参加者のDBを管理していきたいと思っています。 自分がJavaでの開発が主なので Javaに対応しているレンタルサーバを探しておりますが あまり見つからず、下記を検討しております。 ・DTIServerMan ・1strentalserver (↑他の方の質問を拝見しましたが、DBまわりで問題あるんでしょうか。。?) 現在、上記サーバを使用されている方、 または他を利用されている方のアドバイスが 伺えればありがたく思います。 最近はPHP5が主流なので、JSPやJavaのフレームワークなんかで作らないよ等でも 結構です。 いろいろ検討している段階なので 皆様のご意見・アドバイスが伺えればありがたいです。 どうぞよろしくお願いいたします。

  • 自宅用サーバのスペック どれ位必要ですか?

    新しいパソコンを購入して、今使用しているパソコンを自宅で使う勉強用サーバにしようと考えていたのですが、費用面等から購入をやめました。 そこで、安い中古パソコンを購入して自宅用サーバにしようと思います。 用途としては、以下になります。 ・linuxをインストールしapacheの勉強やajaxを勉強 ※そのうち、DBPostgreSQLかMySQLも入れてみたいです。 ・プリンタの共有化 外部公開は予定になくポートは空けません。クライアントPCは以下の3台のみです。 ノートパソコン×2 デスクトップパソコン×1 OSは不要なので、なるべく1万円~1万5千円前後の安いパソコンを手に入れてサーバにしたいと思ってます。 上記の用途を満たすには、どれ位のスペックがあればいいのでしょうか。 メモリ、HD等・・初めてサーバを立てるのでご存知の方がいれば 教えてください。 あと、追加で・・ 自宅サーバは、ノートパソコンでも問題ないのでしょうか。 なるべくかさばらないようにと思ってます。 もしかして・・デスクトップ型を買う場合でも本体だけでいいんでしょうか。。 サーバにディスプレイをつなぐのは、linuxをインストールする最初だけでその後は起動させて、クライアントPCから操作するので、もしかして ディスプレイは家にあるものを最初に使えばいいだけです? (全然分かっておらず、すみません。。) どなたか詳しい方がいらっしゃいましたら、ご教授ください。 お願い致します。

  • 日本メーカー製はデスクトップPCが主流で無いのか

    日本のメーカーからデスクトップPCを買いたかったのですが、見当たらず 台湾の会社(の日本法人)から購入しました。 日本製はノートパソコンや一体型が主流なのですか?

  • サーバサイドJava、あるいはJavaを学んでいくにあたって

    お世話になります。 私は文系出身の新米プログラマなのですが、仕事で使う サーバサイドJavaの技術をどのように学習していけばよいのかが まったく見えてこなくて悩んでいます。 現状、振られた改修作業を訳も分からずその場その場でこなしていく という感じで、まったく知識・技術が蓄積されていく実感を持てません。 このままでは明らかにこの業界でやっていけないと感じているので、 Javaのテキストなどを休日に読んではいるのですが、 現場のものとどう関係しているのかがいま一つ見えてきません。 結局、何も分からないまま平日になり、時間が過ぎていく感じです。 そこで、どうにかして基礎から学んでいきたいのですが、 いったいどこをどう抑えればいいのか、という指針が見えません。 サイトやテキストの情報などもそれぞれに違った記述をしている ように感じられ、どれを見ればよいのかがいま一つつかめません。 現場との関係が分からずとも、まずはJavaのテキストを一冊完璧にすべき なのか、それとも現場でやっていることから随時調べていくべきなのか…。 そういった学習の進め方のツボのようなものや、「情報サイト(あるいはテキスト) だったらこれ!」といった情報を教えていただけないかと思い、質問いたしました。 経験者の方から「とりあえずはこう進めておけ!」というアドバイス をいただけると心強いです。 本当に困っています。 どうか、よろしくお願いいたします。

    • ベストアンサー
    • Java
  • Javaに対応しないレンタルサーバが多い理由

    JavaのJSPやJavaサーブレットは多くのレンタルサーバでは対応していません。それはどうしてでしょうか。サーバ業者がJavaに対する管理が面倒だとか顧客がJavaをサーバサイドを動かす需要がないからでしょうか。 Javaをサーバサイドに動かすことは、個人にとっては非現実的なやり方でしょうか。仮にJavaでリアルタイムなデータのやり取りするとしても、"必然的"にサーバ負荷が大きく、サーバ管理者から間違いなく「お断り」の連絡が来るではないでしょうか。 やはり、PHPとJavaScriptまたはActionScriptを組み合わせて、Webアプリケーションを作成した方が個人的に開発されても需要はあると思いますし、サーバ管理者にとっても管理しやすい言語であり、サーバ負荷も小さいのではないでしょうか。その方が個人にとっては現実的なやり方だと思いますが、どうでしょうか。

    • ベストアンサー
    • Java
  • JAVA .NET

    開発言語について教えてください。 最近主流の開発言語は JAVAと.NETのようですが どのような利点があるのでしょうか。  また、購入先、講習先などおわかりでしたら ご教授お願い致します。

  • サーバをデスクトップからノートPCに移行した際

    サーバをデスクトップからノートPCに移行した際、 電気代が安くなるとWebページに記載されていたのを あちらこちらで見かけるのですが… 理由がわかりません。 また、サーバを運用するとしたら どちらをお勧めしますか?(ノートとデスク) 電気代や保守面などトータルで考えた際で教えてください。 用途は、Webサーバ と メールサーバです。

  • 黒い日傘が主流になったのはいつですか?

    私が子供の頃の30年くらい前は、涼しげな印象の白が主流だったと思いますが、現在は紫外線の吸収力の関係で、黒を使われている方が多いですよね。 黒い日傘が主流になったのがいつ頃か、教えてください。

  • LinuxサーバのためのPC

    Linuxサーバを構築するために,それ専用のデスクトップPCを購入しようと思っております.PCはどのようなものを選定すれば良いでしょうか?用途は,webサーバーとファイルサーバーです.Linux自体全くのド素人なのでアホな質問かもしれませんがご回答よろしくお願いします。