A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
おそらく「バージョン非限定」だと思うので、好き勝手に回答してみる。
1.ネットワークプログラミングに適している
(1)ソケットプログラミング[データグラム通信、マルチキャスト]
→ファイル入出力とマルチスレッドの基本が分かっていれば、後は既存のクラスライブラリを呼び出すだけですね。
(2)サーバサイドプログラミング[Servlet,JSP,EJB,・・・]
→HTTP通信ならややこしい部分はサーブレットコンテナが代わりに処理してくれますので、プログラマは業務ロジックの方に専念できます。それ以外でも、javax.servletパッケージを用いることで、独自の通信プロトコルによる利用が可能。
2.可読性が高い
JSPプログラミングについて言えば、従来までは <% と、 %> を用いたスクリプトレットが主流でしたが、これをHTML内でたくさんコーディングすると、XML形式が得意なWebデザイナーさんからは可読性が低いと不評でした。そこで登場したのが、以下の様々な新技術です。
・標準アクション
・JSTL
・カスタムタグライブラリ
・EL式
・タグファイル
3.GUI開発に適している
(1)GUI「による」開発に適している
IBMから派生した「Eclipse」や、Sunから派生した「NetBeans」など、無償の統合開発環境(IDE)が一通り揃っていますね。もちろん、各種プラグインによって、機能拡張も容易です。
(2)「既存の」GUI「を用いた」開発に適している
インターネットが登場する前からもクライアント・サーバ・システム(CSS)は存在していましたが、従来まではサーバソフトウェアが更新されると、クライアントソフトウェアも同様に逐一、更新作業を行わなければいけなく、非常に不便極まりないものでした。このような独自のクライアント技術を利用したものを特に「ファットクライアント」と呼びます。
それに対して、既存のWebブラウザ(I.E.とか、Firefoxとか。)などを利用したものを特に、「シンクライアント」と呼びます。こちらの方であれば、ソフトウェアの更新はサーバソフトウェアだけでよく(本社にあるサーバマシンだけが対象で、各支店ごとにあるクライアントマシン上のブラウザなどは、今まで通りの使用が可能)、データベースなどの処理もサーバ側で行われるので、負荷分散などいろいろな利点があります。
但し、それでもWebブラウザ上で利用できるGUI機能(JavaScriptなど)には色々と制限があるので、それをカバーする技術として登場してきたのが、「Flash」をはじめとする「リッチクライアント」ですね。(ちなみに、これはJavaではない。)
No.5
- 回答日時:
>それぞれの利点のその理由を教えて頂きたいです.
latexさんが利点と考えておられるものは、特にJAVA言語が
他言語より優れているものとは言えません。
どうして、これらがJAVAの利点だと思ったのでしょうか?
>1.ネットワークプログラミングに適している
サーバープログラミングと混同していませんか?
ネットワークプログラミングであれば、処理速度の高速性
を求められる事が多いのでC/C++の方が適しています。
>2.可読性が高い
オブジェクト指向のプログラム自体、一般の生活からは
なじみが薄いので考え方を理解できていなければ、むしろ
可読性は低くなります。
>3.GUI開発に適している
「GUI開発も」できますが、単なるGUI開発であれば他言語
にもっと適しているものが多数あります。
No.4
- 回答日時:
かなり無理やり利点を挙げるとすれば、
1.ネットワークプログラミングに適している
Javaは各種OSで動くので、サーバの種類が変わってもプログラムを作り直さなくて良い。
JVM上で動くのでWindowsでもMacでもLinuxでも(基本的に)問題ない(はず)
2.可読性が高い
オブジェクト指向、デザインパターン、Frameworkをふんだんに取り入れているため
もしかするとこれが理由の一つかもしれない(かなり異論が出そうな気がするけど)
基本的にこれらは「なくても構わないけどあると便利」というもので、
プログラムや設計の効率を上げるためのもの。
こういったものを理解・取得し、採用することによって、
ある種の前提条件、コードの読み方、考え方を揃えやすい。
しかも、自分の会社独自のものではないので、その辺の本やWebでも習得可能。
おまけに使いまわしが利くので、一度理解しきったらそれなりに使える。
これが可読性の高さにつながる可能性はある。
ただし、ハードルが高く、なかなか取得できないので、
「逆にコードがまったく理解できない」という欠点も持つ。
※おまけに、中途半端に理解していると余計に混乱を招くことも多い。
3.GUI開発に適している
?よく分からないので補足をお願いします。
個人的にはほぼ標準でRADツールがあるVB.NETの方がGUI開発はしやすいと思う。
もし「Webシステムで」と限定しているとすれば、
Frameworkが揃っている、と言えなくもないかもしれない(でも根拠としては弱いな…)
>Java言語の利点の一部として以下のものが考えられると思うのですが
「考えられる」と思ってるなら、それを挙げてもらった方が意見が書きやすいです。
上で挙げた項目も、他の言語でも既に実装済みのものも多いし、
条件も多く、何と比べて利点と言えるか、など難しい所も多いです。
No.3
- 回答日時:
#1さんの回答とほぼ一緒です。
ただ
>3.GUI開発に適している
は全く逆(×)だと思います。
もともとJavaは「どんなプラットフォームでも同じコードで動作する」という発想を主眼において設計された言語です。
この発想は移植性は高まる代わりにそのプラットフォームの特性を消してしまう事にもなります。
例えばWindowsGUIの高度な機能を使う事はできなくなりますね。
一般にGUI開発に適していると言えるのはVisualBasicやDelphiなど高度なRADツールを持った言語です。
Javaの特性(≒利点)の一つとして「セキュリティ」が挙げられます。
VM(Virtual Machine)上で中間バイトコードを動作させると言う仕様なので、
OSのコア部分を直に叩くと言う事がありませんし、
ガードがVMで掛かっているためOSを巻き込んで落とすということが起こり難くなります。
(ただし0%ではありませんが・・・)
No.2
- 回答日時:
うーん、Javaの利点として、質問者さんがあげられた3項目を利点としてあげている書籍を読んだことありません。
開発経験から個人的な感想を言えば1.ネットワークプログラミングに適している
2.可読性が高い
3.GUI開発に適している
-->上記3点について、経験した言語の中では、Javaがいちばんやりにくかったです。質問者さんは、なんでそれらが利点だと思われたのでしょう?もし、自分の経験からでしたら、人に質問しないでもいいですよね?
No.1
- 回答日時:
1.○ ネットワーク系のライブラリが充実しているので、ネットワーク(特にWeb系)プログラミングに適している。
2.× 可読性は、プログラマの技量や規範に基づく物なので一概に高いとはいえない。読みづらいプログラムを書くのは非常に簡単。
3.△ GUI系のライブラリを使うにはそれなりの習得期間が必要かと思う。使いこなせればかなり楽だが、習得に難があるかもしれない。
その他の利点として、
4. 他のプラットホームへの移行が容易。
元々、中間言語的なコンパイルをするし、ライブラリも各プラットホームごとに用意されているので、移行するのは容易
…かもしれない。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java オブジェクト指向プログラミングの実践本を紹介してください 3 2022/09/19 04:56
- 大学受験 中央大学理工学部志望の者です。 英語外部試験を利用して入試した場合、英検準1級が必要なのですが、英検 1 2022/06/11 16:32
- その他(インターネット接続・インフラ) 語学レッスン予約ページを作ろうとしています。 1 2022/09/26 17:43
- Ruby プログラミング講師はまだ需要ありますでしょうか? 1 2022/11/07 19:43
- 大学受験 関西外国語大学の国際共生学科、英米語学科(Super IESプログラム)、大阪外語専門学校、同志社大 1 2023/03/29 22:34
- 高校受験 中学校3年生です。 今回の前期中間のテストが9教科 900点中364点でした。 僕は高校に進学を取る 3 2022/06/25 01:56
- 中学校 期末試験について 2 2022/06/06 10:26
- カスタマイズ(車) ミラードラレコについて 3 2023/03/12 13:36
- 大学受験 国立医学部現役合格を目指している高一です。 今年の共通テストを解き、自己採点しました。数学は一通り学 2 2023/01/20 19:18
- 大学受験 早稲田国教と上智総グロどちらが良いでしょう? 現在高2です。 どちらも同じくらい行きたい大学で迷って 2 2022/05/04 11:30
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
成人知能検査の結果を教えてく...
-
仕様書の表記について
-
30歳代まで とは何歳までで...
-
PL/Iについて教えてください
-
クライアントに出すメールで、...
-
システムインテグレーター シス...
-
独身男性はどうやって性欲をお...
-
風俗嬢について 完全業界未経験...
-
「ありますか」と聞く場合、Is...
-
何度も同じ事を言わせる人は何...
-
知識を深めるを熟語にすると?
-
てこクランク機構の作図の仕方...
-
栄花物語の・・・
-
質問したことに少しズレた回答...
-
一流メーカーでもエンジニアや...
-
SMSでURLを添付したいです
-
研究開発、設計開発、SEの違い...
-
「データ」のスペルはdataとdat...
-
会計用語で"Plug"とは?
-
学術書と一般書の簡単な見分け...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
成人知能検査の結果を教えてく...
-
30歳代まで とは何歳までで...
-
仕様書の表記について
-
システムの自動マクロってどん...
-
PL/Iについて教えてください
-
私は無能なエンジニアです。助...
-
Javaってどれくらい難しいので...
-
WAIS-3の結果の読み解き方
-
言語発達障害とは?
-
知的障害児
-
英語圏でのホームページの見え方
-
システムエンジニアが統計学を...
-
通信制高校に通っています。 プ...
-
c言語とjavaの需要について
-
SE二年目、仕事が虚しい、目標...
-
WAIS-Rによるアスペルガ...
-
OAソフト
-
fラン大学一年生です。SPIの非...
-
SEという仕事・種類?について。
-
フィナンシャルタイムズの日本語訳
おすすめ情報