No.3ベストアンサー
- 回答日時:
なにと比較するかで難しいのですが…
よく比べられるC#との関係でいうと次のような感じでしょうか。
利点と言える特徴
・動くOSが多い
C#の場合Windows以外は、Monoの様なサードパーティー製の環境が必要になる
一方JavaであればOpenJDK JREの公式環境がSolaris、macOS、Linux、FreeBSD、OpenBSD、NetBSD、AIX、HP-UXといった非Windows環境でも使用できる
欠点と言える特徴
・パフォーマンスが悪い
同一アルゴリズムでC#と比べると10倍の時間かかる場合がある
中立の特徴
・C#に比べて構文が限られる
エレガントに書けないという欠点でもあるが、読みにくいソースにならない利点でもある
C++ともにている為時々比べられますがその倍は次のような関係になります。
利点と言える特徴
・構文がシンプル
C#との関係では中立であったが、C++の場合はあまりにも構文が複雑すぎる為、Javaの利点になる
・バグフィクスがやりやすい
スタックとレースなど豊富なデバッグ情報が出力する機能を言語として持っている
欠点と言える特徴
・パフォーマンスが悪い
同一アルゴリズムでC++と比べると15倍の時間かかる場合がある
言語としての出来は正直なところ良くないのですが、その手軽さと、どこでも同じように動く割にパフォーマンスが良い言語く、大体だれでも読める、全体としてはなんとも言えない都合の良い言語という感じでしょうか。
No.4
- 回答日時:
■小さくてやさしい言語
基本 C++ から難しい機能を削った言語ですね。
オペレータオーバーローディングとかパラメータの省略とか未だにないし、保守的です。
その分覚える機能が少なくて済みます。
■がちがちな静的言語
型付けが静的なので、動的言語に比べコーディングがめんどくさいです。その分
プログラムがかなり読みやすいです。コンパイル時に多くのチェックが行われるため
動的言語に比べデバッグ工数が少ないです。
■小さな基本ライブラリ
基本ライブラリもストイックで、.NET Framework の何でもありとは対極で、必要最小限なもののみ
提供し、サードパーティのライブラリが足りない部分を補うという形をとっています。
これも最初に覚えることを小さくする配慮です。
■GCベースのVM上で動く言語
Javaは最初のガーベージコレクションを搭載した仮想マシン上で動く言語として登場しました。
これを真似たのが後の .Net Framework + C#やVB.NETです。
プログラマの天敵であるメモリリークの危険性を激減することに成功しました。
■Webサーバ上で広く使われている
Webサーバ上のWebアプリケーションの構築に広く使われています。
ひと頃は Webアプリ=Javaアプリでした。現在でもシェアは圧倒的です。
コンソールアプリも GUIアプリも書けますが、この分野では他の言語に劣っています。
C#とかで書いたほうが楽。
■Adnroid も Javaで書く
Android携帯のアプリも Java で書くことが前提になっています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSPファイルで生じるエラーをど...
-
データベースの形式を認識でき...
-
javaでの#if 0 #endif文
-
オブジェクト指向プログラミン...
-
vba クリップボードクリアにつ...
-
MSFormsとは何ですか?
-
超恥愚問ですが、CとC++の間に...
-
SQLITE3で階層問い合わせを行う...
-
ASPでアクセス履歴をとっておき...
-
ActivePerlの旧バージョンのダ...
-
JAVAを使って管理システムを構...
-
C#のメモリマップドファイルに...
-
VMwareの古いバージョンがダウ...
-
CLASSPATHを設定しても、『Clas...
-
Javaでのエラーについて
-
リアルプレイヤーの古い(以前...
-
Servletプログラム起動時のエラー
-
使用しているJUnitのバージョン...
-
XMLとUMLの相違点?
-
Webカタログのダウンロード
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JSPファイルで生じるエラーをど...
-
正規表現について質問です。 カ...
-
javaのジェネリックスでTとEの...
-
javaでの#if 0 #endif文
-
VScodeのターミナルの文字化け...
-
サーブレットとPHPの違い
-
Pure Javaとは?
-
カレンダー
-
Javascriptで出来ること
-
Javaを徹底的に理解したい
-
Javaって何ですか?
-
C言語の種類と特徴について教え...
-
JAVAが誕生した経緯
-
javaの堅牢性とは
-
google カレンダ API java
-
ソーティングについて
-
Javaで五輪マークを描く
-
RSA暗号の実装
-
形態素解析ツール「茶筅」をJAV...
-
データベースの形式を認識でき...
おすすめ情報