Javaでできること
JavaはOSに依存しません。
そのためどんな環境でもソフトを動かせる汎用的な言語です。
例として…
・Webサービス開発
・Webアプリ開発
・PC向けアプリ開発
・Androidアプリ開発
・基幹システム開発
・組み込みシステム開発
・ソフトウェア開発
・IoT開発
幅広い場面で使われていて世界的に見ても需要の高い言語だと思います。
Javaでできないこと
・IOSアプリ開発
・機械学習
(※できないというよりもPythonなどの特化した言語があるので選ばれないイメージ)
などです。
Javaのメリット
1:プラットフォームへ依存しない
OSに関わらず動かせます。
2:オブジェクト指向
開発効率が良く、カプセル化などを用いてセキュリティー面のコントロールができる。
3:情報が多い
世界規模で需要が高く使っているのエンジニアが多い。そのため情報が多く勉強しやすい。
Javaのデメリット
1:学習難易度高め
コード量や規則も多く初心者から始めるには難易度が高く感じます。
自走できるようになるまでに500時間はかかりそうです。
2:メモリ消費量が大きい
Javaで開発したシステムは、必ずJVMを組み込む必要があり
JVMが動作するためのメモリが必要です。
ガベージコレクションが動作するためにも、追加でメモリが必要となります
<<補足>>
JVM(Java Virtual Machine)
…Javaのプログラムを動かすために必要なソフトウェアです。
ガベージコレクション
…実行中のプログラムが占有していたメモリ領域のうち
不要になったものを自動的に解放し、空き領域として再利用できるようにするものです。
まとめ
Javaは多くのメリットがある言語です。
また大規模開発に向いているて初心者でも比較的求人が多いと思います。
私自身これからたくさん開発をしてJavaをマスターしていきたいです。