Java
- 私の住んでる地域では、Javaによる開発需要(求人)がとても高く、それに合わせてJava学習の必要性を感じた。
- Javaは、求人数でもJavaScriptと並ぶほど多く、今後開発者として学んでおく必要性が高い言語だと思う。(PAIZA基準)
- そのJavaの特徴を、Rubyと比較しながら、覚えていきたい。
Ruby on Railsの特徴
- 短期間でプロダクトのリリースが可能
- 言語学習のコストが低い
- スタートアップでよく使われる(リリースが早い為)
※Ruby on Railsの開発者であるDHHは、Ruby on Railsに関して、"Javaの典型的なフレームワークより10倍以上の生産性がある"とアピールしてた。
Javaの特徴
- アプリケーションの仕様変更を行いやすい
- セキュリティが強固である
- 長期間にわたる保守・運用がしやすい
- 実行速度が速い
- 大手企業の基幹システムなど大規模開発に適した言語
Rubyと比べてJavaが難しいと言われる理由
①覚えるルールやコードの記述量が多い
- Railsは、アプリケーション開発をパターン化することで開発者の負担を減らしている。
- Javaは、自前での実装が必要となるケースが多くあるが、それによって組織や案件ごとに異なる細かなニーズの違いを実装することができる。
- Javaのルールやコードの多さは、開発ツールの補完機能などの活用で省力化できる。
※ そのため、Java学習の際はコードの書き方だけでなく、ツールの効率的な使い方についてもしっかり習慣化することがが大切である。
② オブジェクト指向を理解していないとコードの書き方がわからない
-
RubyもJavaもオブジェクト指向の言語であるが、開発者に求められるオブジェクト指向の理解度が異なる。
-
例えば、Railsで「コントローラーを作成」することは「ApplicationControllerクラスを継承したコントローラークラスを作成すること」になるが、Railsでは「インスタンスの作成やメソッドの呼び出し」を「自動的」に行なってくれてるので、「クラスやインスタンスを扱っていた意識」があまりない。
-
Javaでは開発者がオブジェクト指向を意識してクラスを利用する必要がある。
③ 開発に着手する際やエラーが発生した時、必要な記事が見つけにくい
- Rubyでウェブアプリ開発の際に、使用するフレームワークはほぼRails一択であるが、Javaで使用される開発ツールの種類は多い。
- Javaではフレームワークやビルドツール(作成したコードやライブラリを、実行可能なファイルに変換するツール)の種類が数多くあり、また、ツールごとに使い方やコードの書き方が大きく異なる。
⏩よって、単にJavaの記事を検索してもツールが違えば自分の開発に適用することはできない。 - Javaに関する記事の検索は、使用している「ツールの名称」も検索ワードに必ず含むようにしないといけない。