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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaの堅牢性とは
-
javaのジェネリックスでTとEの...
-
google カレンダ API java
-
基本情報のおすすめ参考書(Java)
-
OSS(オープンソースソフトウェ...
-
サイドワインダーのドライバ
-
MSFormsとは何ですか?
-
バイナリファイルの著作権など...
-
IISワーカープロセスが原因でCP...
-
C++ですごろくゲーム作成
-
vba クリップボードクリアにつ...
-
C++でおすすめの書籍はありますか
-
tomcatのwebapps配下のディレク...
-
プログラマーとして誇りをもつには
-
リアルプレイヤーの古い(以前...
-
この便利な時代に開発環境すら...
-
SQLITE3で階層問い合わせを行う...
-
C言語の開発環境
-
ウェブサイトのアクセスログに...
-
appleスクリプトでアプリケーシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JSPファイルで生じるエラーをど...
-
javaのジェネリックスでTとEの...
-
javaでの#if 0 #endif文
-
Pure Javaとは?
-
正規表現について質問です。 カ...
-
データベースの形式を認識でき...
-
PythonやJavaScriptのように実...
-
javaの堅牢性とは
-
プログラミング言語についてで...
-
サーブレットとPHPの違い
-
そもそもJavascriptって?
-
Javaスクリプトってなんでしょ...
-
プログラミング言語
-
JAVAが誕生した経緯
-
Javaを独習していて、method の...
-
オンラインゲームを開発したい...
-
AndroidアプリをiPhoneアプリに...
-
google カレンダ API java
-
javaとJavaScriptの違いは なん...
-
Javascriptで出来ること
おすすめ情報