今Javaについて調べています。
Javaについてのいい点はかなりわかったのですが,
問題点としては特にどんなことがあるのでしょうか?
教えて下さい、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

私はソフト屋さんで C++ が中心です。

ちょっと偏った味方かもしれませんが、

・クラスの宣言と定義を分離できない
・safety なダウンキャストができない
・テンプレートが無い

というのが、まず、大きいです。

後、実際に使っていて困ることが

・不要なクラスの破棄を自分でしなくて良い、ということがデメリットになる場合がある

ということ。さらに、宣伝文句に偽りあり、とちゃうんかい、と文句をつけたくなる
ところが

・Java はポインタが無いので、C/C++ のように初心者がつまづきがちなところがない

というところ。

確かに、文法のうえでは「ポインタ」などということは一切無いのですが、その実
Java は「参照」の固まりなので、VB や C/C++ の延長で、その上使いやすいのだと
思っていると、どっぷりはまります。

ちょっと突っ込んだ内容+個人的な意見なので、わかりにくければ補足をしてください。
返答には、ちょっと間が開くかもしれませんが、できる範囲でフォローします。
    • good
    • 0
この回答へのお礼

お礼が遅くなりましてすみません
回答ありがとうございます。

私はプログラム自体が初心者なので、他の言語についてはよくわかりませんが
メリットとして上げられる点に実は困った所があるのですね。

お礼日時:2001/07/11 23:38

次の2点でしょうか。


(1)インタープリタ型であるため実行スピードが遅い。
(2)C言語のようなポインタが無いので、高度のプログラムが組みにくい。

ただ、これらは過去の言語の反省の上に立って、言語設計した結果なので問題点と言っていいかどうか疑問は有ります。

(1)は技術進歩で補えますし、(2)は難解で間違い易いポインタが無いことによるメリットも大きいですから。
    • good
    • 0
この回答へのお礼

ありがとうございます。
お礼遅くなりまして、申し訳ないです。

このデメリットの変わりに他に便利な所が増えてるんですね。

お礼日時:2001/07/11 23:41

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QC, C#, C++, Javaに関していくつかお聞きしたい事がございます。

C, C#, C++, Javaに関していくつかお聞きしたい事がございます。

(1)簡単な上記の違い⇒CとC++は全く違うものなのか?

(2)それぞれの用途

(3)それぞれの難易度

(4)それぞれの市場価値

(5)いかなくても、一通り理解して
ある程度できるようになるには一般的にどれくらいでできるようになるか。

かなり初歩的案質問ですみません。仕事で使用する可能性がでてきたので、まずは上記を伺いたいです。ご親切な方よろしくお願いします。

Aベストアンサー

これから勉強は始めようということであれば、一般にはC言語からはいるのが理解しやすいと思います。

(1) 一般にC++ は C にオブジェクト指向の機能(class の作成・使用など) を組み込んだ物と理解した方がよいでしょう。
とは言え、最近のCコンパイラは C++ の機能を持っているものが多いので、コンパイラを選択する場合はC++を選んで問題ありません。勉強する際には、まずC言語の基本的なものから初めて、それから C++ 特有のオブジェクト指向について勉強した方が良いと思います。

(2) C/C++ は一般的なアプリケーションやWebのCGIなどほとんどなんにでも使用できます。Java はおおむね Web で使用する事が多いと思います。言語上はJava でも、アプレット、サーブレット、jsp など使い方が異なる形態のものがあります。サーブレットとjspはWebでしか使用しないと思いますが、アプレットだとjavaインタプリタがあれば、バソコンなどで動くアプリケーションも開発できます。
C#は詳しくは知りませんが、Microsoftが開発したもので、Visual C#等の開発ツールで開発します。

(3) まずは C/C++ でコンソールアプリを勉強した方が良いでしょう。
Java で Web の開発をを考えると、Java以外に HTML や JavaScript の勉強も合わせてしなければなりません。
言語の文法的には C/C++/Java はおなじで、標準的に持っているライブラリや関数が違うと理解して問題ないと思いますので、まずは文法的な勉強を C言語でやってみて、それからJava の勉強をした方が良いかと思います。

(4) 現状で言えば、Windows/UNIX に限らず C言語がなければ、現在のコンピュータは動作できていないでしょう。
C言語は UNIX-OS を開発するために開発された言語だと聞いています。
Java は今のところ Web開発には欠かせない言語だと言えます。
しかしながら、他の言語でも代替できますので、今後ともずっと必須であり続けるかは、わかりません。
質問のJavaの中に含まれているかは判りませんが、JavaScript について言えば、今のところ代替がなくWeb開発には必須です。

(5) プログラミングは全くの初めてだとするならば数カ月はかかると思いますが、何らかの他の言語をある程度使っているならば、1~2カ月で C言語は使える様になると思います。

これから勉強は始めようということであれば、一般にはC言語からはいるのが理解しやすいと思います。

(1) 一般にC++ は C にオブジェクト指向の機能(class の作成・使用など) を組み込んだ物と理解した方がよいでしょう。
とは言え、最近のCコンパイラは C++ の機能を持っているものが多いので、コンパイラを選択する場合はC++を選んで問題ありません。勉強する際には、まずC言語の基本的なものから初めて、それから C++ 特有のオブジェクト指向について勉強した方が良いと思います。

(2) C/C++ は一般...続きを読む

QJava能力認定試験の問題です。 解答群ア,イ,ウ,エの値はどのように変わっていくのでしょうか?

Java能力認定試験の問題です。
解答群ア,イ,ウ,エの値はどのように変わっていくのでしょうか?

Aベストアンサー

○実際にプログラムを実行させてみる。
結果に納得がいかないなら、b の前後でそれぞれの変数がどうなるか、printで表示させるとか、デバッガでステップ実行するとかで確かめる。

○あなたがコンピュータになったつもりで、忠実に実行してみる。
自分の推測や希望等を入れないこと。

for(int count =0;count<10;}
→ 最初にcount=0

b を実行
→(ア)
sum = ++ count ;
→ ++ count : countを1増やす。値としては、増やした後の値を使う
 → count=0だから、count=1になる。後のcount=1を使う
→ sum = 1 になる

forの最後までいったので、 ;; の最後の式を実行
→ 空なのでなにもしない

forの;;真ん中でループを続けるか判定する
→ count < 10
 → count =1 < 10 なので、ループ継続

ループの2回目。
b を実行
→(ア)
sum = ++ count ;
→ ++ count : countを1増やす。値としては、増やした後の値を使う
 → count=1だから、count=2になる。後のcount=2を使う
→ sum = 2 になる

forの最後までいったので、 ;; の最後の式を実行
....

○実際にプログラムを実行させてみる。
結果に納得がいかないなら、b の前後でそれぞれの変数がどうなるか、printで表示させるとか、デバッガでステップ実行するとかで確かめる。

○あなたがコンピュータになったつもりで、忠実に実行してみる。
自分の推測や希望等を入れないこと。

for(int count =0;count<10;}
→ 最初にcount=0

b を実行
→(ア)
sum = ++ count ;
→ ++ count : countを1増やす。値としては、増やした後の値を使う
 → count=0だから、count=1になる。後のcount=1を使う
→ sum = 1 になる

for...続きを読む

QJava-Tomcatのみをjre 1.5で起動して標準のJavaアプリはjre1,4を利用したいです。

Java~標準で利用するのはjre1.4でTomCatの起動のみを jre1.5 で起動したいです ...

Java~標準で利用するのはjre1.4でTomCatの起動のみを jre1.5 で起動したいです が可能でしょうか?

Tomcatってjre バージョン1.4では動作しないのでしょうか?
Tomcatをインストール時のウィザードで jre1.5インストールしないと Next できないのですが、1.5は標準利用したくありません・・
TomCatのみをjreバージョン1.5で起動させて、その他で利用するJavaアプリはバージョン1.4で利用したのですが 方法がわかりません。初歩的質問ですみません。。お詳しい方 方法教えて下さい。。ネットで調べるとBatファイルで一時的に実行アプリの環境変数を設定できると書いていたのですが・・・ お願いします。
--環境--
Windows XP SP2
Tomcat5.0
Eclipse3.0.1

Aベストアンサー

そもそもTomcat5.0は1.4以上対応のはずですが。
5.5系の話でしょうか?

5.5系の話として。
インストール後にモニターでJVMとCLASSPATHの設定を個別に行うことができるので、標準はJRE1.4で、Tomcatだけ1.5という用法は可能です。

QWindows10のjavaの入れ方って Jdkと調べてやるのと javaを無料でダウンロードするっ

Windows10のjavaの入れ方って
Jdkと調べてやるのと javaを無料でダウンロードするっていうのどっちがいいですか?

Aベストアンサー

一般論としてはJDKは自分でJavaプログラムを書く人向けです。
無料Javaのダウンロード云々のほうは他の人が作ったJavaプログラムを動かすためのものです。

ただ、後者の方はうっかりすると他のソフトもインストールされてしまうことがあるとかで、
それを嫌って前者をインストールする人もいるようです。

Qjava,JSP,SQLが全て記載されている本を教えて下さい!

java,JSP,SQLが全て記載されている本を教えて下さい!


お世話になっております。
当方、今年SEとしてシステム開発会社に就職した者です。

現在、SQL → JSP → Javaの順で勉強をし、いよいよ本格的に業務に取り組み始めました。しかし、やはり実際の業務は難しく毎日苦戦をしております。お恥ずかしい話ですが、未だに論理的思考・ロジック回路(?)が頭の中で出来ておらず、アルゴリズムが自分で組めない状態にあります。そんな超超初心者な私ですが、それでも仕事として与えられた部分を期限までに作らなければなりません!

業務は、実際のところ難しくて私自身も詳しくは説明できないのですが、大枠として、『複雑なSQL文を含むjavaで処理をさせつつ、JSPに飛ばして表示させる』と言う処理をさせている様です。
この点を踏まえた上で、この3点(java,JSP,SQL)が全て記載されている、サンプルや例題が多い書籍をご存知でしたら、是非教えて下さい!

1冊ずつ個別にならいくらでもあるのですが、結局つまずいている処理が出来そうなコードを見つけても、どこにどうそれを入れたらよいのか、個別に見てもまだ理解が出来ません。上記で挙げた(業務のこと)様な、もしくはそれに近い事を挙げている本が欲しく、あれば、かつ、ご存知の方がいたら教えて頂ければと思い質問させて頂いた次第です。

本は参考書、逆引き辞典、教本など種類は問いません。また、値段や分厚さ等も一切問いません!


ご回答頂ける方がいましたら、よろしくお願い致します。

java,JSP,SQLが全て記載されている本を教えて下さい!


お世話になっております。
当方、今年SEとしてシステム開発会社に就職した者です。

現在、SQL → JSP → Javaの順で勉強をし、いよいよ本格的に業務に取り組み始めました。しかし、やはり実際の業務は難しく毎日苦戦をしております。お恥ずかしい話ですが、未だに論理的思考・ロジック回路(?)が頭の中で出来ておらず、アルゴリズムが自分で組めない状態にあります。そんな超超初心者な私ですが、それでも仕事として与えられた部分を期限までに作らなけれ...続きを読む

Aベストアンサー

回答ズバリではありませんが…。
なかなか、サンプルを全てというわけにはいきませんが、
まずは、SQL → JSP → Javaと順々に学んだことを、
連動させる方法を知った方が良いような気がします。

というわけで、java,JSP,SQLというキーワードから、
「アプリケーション構築」に変えてみてはいかがでしょうか?

なぜなら、javaでデータを処理するためのデータはデータベースにあり、
そのデータベースへアクセスする方法がSQLであり、
WEBアプリケーションはこの連続だからです。

また、SQLは様々なデータベースサーバが対象になります。
サーバ製品の種類ごとに特定のSQLの書き方というのも存在しますし、
javaからデータベースサーバへの接続方法も当然サーバ製品ごとに異なります。

SQLの辞典では、複数のサーバ製品に対応しているものが多いですが、
(Oracleでは使えるけど、MySqlでは使えない…とかが明記されている)
アプリケーション構築の本などでは、サーバ製品を特定していることが多いので、
(Java+MySQLのガイドブック!的な…)
業務で使用しているデータベースサーバを知る必要があります。

もしかしたら「java、SQL」と調べるよりも、「java、MySQL」「java、Oracle」で
調べた方がズバリ!な本が出てくるかもしれません。

'Oracle Javaアプリケーション開発' http://amzn.to/axlUW5
'Java+MySQL+Tomcatで始めるWebアプリケーション構築入門' http://amzn.to/cvArDL
'Java+MySQL+Tomcatで始めるサーバーアプリケーション開発入門' http://amzn.to/9SUJ71

回答ズバリではありませんが…。
なかなか、サンプルを全てというわけにはいきませんが、
まずは、SQL → JSP → Javaと順々に学んだことを、
連動させる方法を知った方が良いような気がします。

というわけで、java,JSP,SQLというキーワードから、
「アプリケーション構築」に変えてみてはいかがでしょうか?

なぜなら、javaでデータを処理するためのデータはデータベースにあり、
そのデータベースへアクセスする方法がSQLであり、
WEBアプリケーションはこの連続だからです。

また、SQLは様々なデータベースサ...続きを読む


人気Q&Aランキング

おすすめ情報