• 締切済み

Javaは終わりか?

ysk6406の回答

  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.1

制御系組込みソフトの開発をしている者です。 > はっきり言って、Javaの今後は先行き暗いですか? 明るいですか? おっしゃるように、携帯のアプレットなどの限られた分野では今後も成長していくのかも知れませんが、一般的な応用で C/C++ に取って代わるようなことは、おそらくないでしょう。 私は C 言語をもう20年ほど使っていますが、装置制御の組込みソフトやツール開発としての応用に限って言えば、Java には何の魅力も感じられません。 Java は、C/C++ に比べて危険な処理(ポインタ等)ができないように設計されており、「進歩した安全な言語」なのかも知れませんが、逆に言えば(性能面で)「いざという時の融通が効かない」ということになります。 組込みソフトの世界では、リアルタイム性(=処理速度)が命ですので、C/C++ でポインタなどを駆使して最大限の性能を出してもまだ足らず、アセンブラ言語もどんどん併用しています。この事情は、いくら CPU 速度が上がろうと、製品への性能要求もそれにつれて上がるので、今後も変わらないでしょう。 「プラットフォームを問わず動く」と言われても、それはあくまでも JVM を積んでいて、かつハードウェアインタフェースが標準化されていればの話であり、多品種少量生産の組込みソフトの世界では、こんな環境はとても望むべくもありません。 という訳で、Java は「すべての応用に使えるこれからの汎用言語」と期待するのは、少々無理があると思います。 JVM との組み合わせで、上記のような限定された環境でメリットを発揮するような使われ方をしていくのではないかと思います。

関連するQ&A

  • JAVA2 Platform Standardって何者?

    当方JAVAは全然詳しくないのですが、最近ネット上のフリーソフトで「JAVA2 Platform Standardをインストールしてください」といったものを見かけるようになりました。 Windowsの場合、オンラインソフトといえば、VC、VB、Delphiといった言語で開発されているものと決めつけていました。JAVAといえば「ネットワークプログラミング言語」という認識だったのですが、この「JAVA2 Platform Standard」というのは.NET Frameworksみたいなものでしょうか? つまりこれをインストールした環境でなら、OSの違いを超えてJAVAアプリケーションが実行できるということですか? また「JAVAアプレット」という用語も昔から耳にするのですが、これはネットワーク上のプログラムを区別して「アプレット」と呼んで、ローカル上のプログラム「アプリケーション」と言い分けてるのでしょうか? どうも自分の認識に自信がないのですが……詳しい方、ぜひうんちくを聞かせてください。

    • ベストアンサー
    • Java
  • アプレットからサーバ側のプログラムを起動したいのですが…

    仕事でJavaを使うことになったのですが、プロジェクト員一同Java初心者で、必死にJavaを勉強していますが、以下のことで困っています。申し訳ありません。助けてください。 UNIXサーバ側の設定とかをいじるプログラムがあるのですが、それをアプレットにして、SEさんがリモートからでも操作出来るようにしろ、と言われました。 とりあえず、Javaアプレットからサーバ側(アプレットのクラスが置いてあるのと同じマシン)のCプログラムを起動し、その結果を受け取るようにしたいのですが、Java経験者に相談したら「アプレットにはセキュリティ上の問題があるのでCGIかServletを使わないと出来ない」と言われました。 では…とServletの勉強を初め、サーバー側にServletEngineをいれてみたのですが、 ServletはHTTPポートと違うポート(8000番とか)を開けてそこにアクセスしなくてはいけないようにみえます。それならクライアント側プログラムをアプレットにし、サーバ側プログラムとSocket通信で結び、サーバ側プログラムがCプログラムを起動、としたほうが楽そうですが、ひとつしかポートを開きたくないと言われたのです。 もしかして「アプレット+Servlet が アプレット+CGI相当」じゃなく「Servlet が アプレット+CGI相当」なのでServlet用のポートだけ開けとけばいいとかいうことでしょうか?  とか思っていたら、JNIでC言語のメソッドをJavaメソッド扱いするとかいう話も小耳に挟みました。それでできるのかしら? ・webポートだけを開いて ・サーバ側のCプログラムを起動してその結果を受け取る ・クライアントのマシンにあらかじめインストールしなくても、ブラウザからアクセスすると操作が対話的に出来るような ものを簡単に作ろうとしたら、一体何を勉強するべきなのでしょうか…。 Applet+CGI? Applet+Servlet? RMI? JNI…? 助けてください…(TT)

    • ベストアンサー
    • Java
  • Javaを新しいものにしたいです

    Javaを新しいものにしたいです 先日同類の質問をさせていただいた者です。 情報を整理しましたので宜しくお願いいたします。 WindowsXP-SP3(Meからバージョンアップ) IE8を使っています。 http://java.com/ja/download/installed.jsp こちらのページでJavaのバージョンは確認しました。 『Java バージョン: 1.4.2_xx, 1.5.0, 6.0 』 以下ページ内の案内・・・ 『ここでは、JVM がお使いのコンピュータで正常に機能しているかどうかをテストする方法を説明します。Java テクノロジで記述されたこのテストアプレットは、お使いのオペレーティングシステム、JVM、および Java Runtime Environment (JRE) に関する情報を表示します。 設定チェックリスト アプレットが正しく表示されない場合は、次に示すその他の設定を確認してください。 1.Web ブラウザで JRE を使用可能にする 2.「Java Plug-in コントロールパネル」で JRE を使用可能にする 3.Web ブラウザのキャッシュを消去する 』 という事でアプレットが正しく表示されませんでしたので設定を確認するのですが [インターネットオプション]に「Java (Sun)」の項目が有りませんし コントロールパネルに「Java」のコーヒーカップアイコンがありません。 「プログラムの追加と削除」にも名前がありません。 「Windows Installer CleanUp」 をインストールして試しましたがやはり名前がありませんでした。 http://www.java.com/ja/download/help/uninstall_java.xml http://support.microsoft.com/kb/290301/ja 今のままで特別不便を感じたことは無いですし これまでJavaについて特別意識したことも無かったのですが、ある記事で 「最近ホームページの改ざん事件が多発しており、Javaが古いとウイルス感染する恐れがある」 と書いてあるのを目にして思いついた次第です。 当方初心者ですがどのようにすれば最良なのか ぜひアドバイスを宜しくお願い致します。

  • Javaの資格

    Javaを独学で勉強しようと思います。 初心者に向いている資格を教えてください。 IT業界への就職が決定しました。 最初はJavaプログラミングをするそうなのですが、Javaはほとんど未経験です。 研修は行われるらしいのですが、早く勉強をしたいと思いました。 そこで、目標を設定するため資格取得を考えました。 ITのレベルですが、基本情報技術者・応用情報技術者を取得しています。基本情報技術者の午後の選択問題の言語はC言語を選択させて頂きました。(実務経験はありません) Javaに関しては、授業で触れた程度です。JSPやアプレットなどJavaは奥が深そうで心配です。 社会で使えるプログラミングレベルを一年で身に付けるために、どのような資格を取得すればよろしいでしょうか。Javaの資格は多くて、どの資格がいいのかよく分からないです。 アドバイスをお願いします。

  • C++でJavaのアプレットに相当するもの

    あるプロジェクトを任されているんですが ちょっとしたアニメーションのようなものが必要となります。 メイン言語はC++です。 それで担当の人に「アニメの部分はJavaのアプレットを使ってもいいですし、C++のままなら『コXX』を使ってもいいですね」と言われました。 『コXX』??? その時に聞き直せばよかったのですが、いかにも知ってるかのように返答してしまいました。 なんか「コルバ」みたいに聞こえたんですが、まさかCORBAじゃないでしょうし、DirectXやOpenGLの聞き間違えでもありません。 何か心当たりはありませんでしょうか?

  • JavaはC#より生産性が低い?

    業務系のシステムをWebアプリケーションとして開発しようとしています。  そこで言語の選択としてJavaかC#かを考えているのですが、C#のほうが生産性がいいというのが大部分の方の意見のように思います。たしかにVisual Studio のサポートは強力だと思いますが、言語そのものとしてはどうでしょうか?またC#はつい最近まではWebフォームが主流だったのが、最近はASP.NET MVC のほうに移行しつつあるというのも気になります。MSでしか開発できないというのもひっかかります。  またメンテナンス性についてですが、JavaEEはリリース後年数も立っており更新頻度もゆっくりとしており一度構築してしたあとは、長く安定して使えるのではないでしょうか?その点、C#はMSの意向やそのときのトレンドで仕様がガラッと変わって、システムを大きく改変させる必要が出てきたりはしないでしょうか?  またJVM上で動く言語としてScalaなどがあり、Java系の言語が今後主流になっていくことは考えられませんか?  現時点だけでみると、生産性等の面でC#のほうに歩がありそうですが、5年後10年後はどうなっているだろうという視点で考えるといかがでしょうか?皆さんのご意見をお聞かせいただきたく思います。

  • JAVA入門者にお勧めの本

    普段、VBやC(初級~中級程度)のプログラミングをしていますが、どれもWindows用のVisual Studioを使っていますし、移植するのも大変なので、マルチプラットホームに対応しているJAVAを学んでスキルをあげようと思っています。 そこで、JAVAの入門書を探しているのですが、普段別の言語で愛読している「逆引き大全」シリーズのJAVA編は2004年の発行ですし、私の地域の書店を5件ぐらい回っても見つかりませんでした。 JAVAの入門からAWT、Swingのプログラミングまで幅広く学べる初級~中級ぐらいの書籍を探しています。上記の書籍以外に何か入門者がJAVA言語プログラミングについて深い知識を得られるお勧めの書籍はありませんか?

    • ベストアンサー
    • Java
  • 言語の勉強方法について

     一年前からネットのHTMLに組み込んで使えるアプレットが面白くて実用もかねてjavaの勉強をはじめました。 しかし最近すこし気にかかることがあります。  周りがCを多く使っていることや、javaの本当の良さを理解するためには他の言語をやらないとわからないと意見があるからです。  逆に一つの言語を極めれば他の言語も分かるという話もチラホラ聞きます。  勉強する言語をjavaからC言語に切り替えようと迷っているのですが、プログラムを学ぶという観点からこの転換は、プログラム経験者からはどう思われますか

  • JavaのRandomAccessFileについて教えてください。

    お世話になります。  Java(アプレットとして使用しています。)を最近から勉強し 始めました。  現在、作成しようとしているプログラムは、C言語で言うところの 構造体の項目をバイナリファイル内の任意の位置に読み書きしたいと 思っております。  現在、Javaでは、構造体の概念が見当たらなかったので、 Classで各フィールドを定義して、各フィールドの値を ByteBufferでByte配列に配置して、RandomAccessFileでこの配列の内容を書き込んだり、この逆の方法で 読み出したりしています。  この方法だと、各フィールドをわざわざ一つ一つByte配列に 配置しなければならず、面倒です。  他の言語の構造体やレコードの概念の様にフィールドの塊を 一気にランダムファイルに簡単に読み書きする方法は有りませんでしょうか?  ご存知の方がいらっしゃいましたら、ご教示の程、是非よろしくお願いします。

    • ベストアンサー
    • Java
  • C言語では何ができる?

    今、私はjavaを勉強している初心者です。 少し、javaを勉強してみてjavaがサーブレットやアプレットでネットの世界でアプリケーションとして活躍っぽい、ということは少し分かってきたのですが、C言語やVC++などは(違いがよく分かっていないのですが)どんな用途に使われるんでしょうか? よろしくお願いします。