JavaとJavaScriptどっちから勉強すべきなのか問題について、基本JavaScriptでよくね?という結論で解説します。
まんじです〜
今回はJavaとJavaScriptどっちから勉強すべき?というお話について書いていきます。
なんとなく文字が似てるから「どっちから」って考えになりがちですけど、基本的には別物と考えて、必要なほうをやるのがおすすめです。
両方必要な場合は先にどっちかからやって、その後にもう一方をやるのがよさげです。
ただ、本当にJavaが必要なケースを除くと、ほとんどの人はJavaScriptがいいんじゃね?と個人的には思ってます。
JavaよりもJavaScriptじゃね?感
JavaScriptのがいいかもてきなお話。
理由1: JavaScriptのが難易度が低い
Javaに比べるとJavaScriptのが言語自体の難易度は低めです。
- Java: 静的型付け言語、オブジェクト指向必須
- JavaScript: 動的型付け言語、オブジェクト指向はどっちでもOK
静的型付け言語とかオブジェクト指向ってのがよくわからん人は無視してもらってよくて、要はJavaのが入門する頃はちょっと難しいということです。
プログラミング入門の頃は、言語自体の難易度が低いほうが当然楽だし挫折しにくいです。
あとたまにある誤解として「難しい言語をやったほうがいい!」ってのがあるんですけど、これは間違いだったりします。
難しい言語をやったからと言って技術力が爆上がりするわけでもないし、言語の習得は手段でしかないので、そこは忘れたくないところです。
ついでに、JavaScriptやってからJavaやるほうが理解もしやすいです。
理由2: ぶっちゃけJavaScriptだけで大体の仕事はイケる
後述する理由と重複するんですけど、大体の会社の仕事はJavaScriptでいけるケースが多いです。
もちろんバックエンドにPHPやGoやJavaを採用してる会社でバックエンドエンジニアをやるなら、その言語と周辺の開発知識が必要になりますが、JavaScript(Node.js)をバックエンドに使ってる会社も多かったりします。
フロントエンドはほぼほぼ、JavaScriptに型をつけたTypeScriptが使われるので、プログラミングで仕事をするって面で言うと、JavaScriptだけでいける求人はすごく多いです。
なので、仕事って面でもJavaScriptがいいのでは?というお話。
Javaだとバックエンドのみなのと、古めの会社が多い印象です。
一方でJavaScriptはフロントエンドとバックエンド両方いけて、モダンな会社が多い。
理由3: プログラミング初心者にはJavaが難しい
JavaScriptのが難易度が低いって話と重複しますが、Javaはプログラミング入門者〜初心者には難しいです。
具体的に何が難しいのかと言うと、ここらへん。
- オブジェクト指向
- 静的型付け言語
- コンパイル型言語
- ドキュメントなどのネット情報が全体的に古めでわかりにくい
- 環境構築がJavaScriptに比べるとめんどい
- JavaScriptはnpmでノリでコマンド打ち込んで実行すれば楽に動かせる
- Javaはコンパイルして実行するとか、コンパイルをせずに実行する(厳密にはされてるけど)ための用意などが別途必要
なんにせよ、最初の頃はJavaのが難しい確率は非常に高め。
JavaScriptはブラウザのconsoleタブですぐにコードを書けるし、Javaよりもいろいろゆるいので、入門しやすいですし理解できなくてもノリで動きます。
理由4: JavaScriptはバックエンドもフロントエンドもいける
これも上とやや重複しますが、JavaScriptはバックエンドもフロントエンドもいけるので、すごく便利というかコスパがいいです。
- バックエンド: Node.js
- フロントエンド: 素のJavaScriptでも動くし、フロントエンドフレームワークを入れてモダンな開発もできる
実際、ある程度の開発規模になるとJavaのほうがバグを少なくできるっぽいので、Javaのがバックエンド開発は良さげらしいんですけど、小規模〜中規模ぐらいの開発ならJavaScriptでバックエンドも全然OKって感じらしいです。
バックエンドが別の言語でフロントエンドがJavaScriptだと、プログラミング言語を2つ勉強しないといけないんですけど、JavaScriptなら両方いける。
Javaだとそもそもフロントエンドが無理ぽです。
厳密にはhtmlに変な専用の文法を書くことでフロントエンドもJavaでいけるんですけど、MPAっていう昔ながらのタイプになりがちで、リッチなUIがめちゃくちゃ作りにくいので、最近だとあんまり使われません。
理由5: リソースはもはやJavaScriptのが多い
一昔前はネットで調べて出てくる情報はJavaのが多かったみたいですけど、今だとJavaScriptのがリソースは全然多いなーって印象です。
何より、Javaに比べるとリソース自体も新しい傾向にあるので分かりやすいです。
ぼくは新卒で入った会社でJavaの研修を2ヶ月ぐらいやってた頃があったんですけど、ググって出てきた情報がすごい古くてめんどうだった記憶が強いです。
※ 最近はChatGPTなどのAIが優秀なので、AIを多く使うことにはなる
Javaからやるべきケース
もしJavaをやるなら、、、というケースです。
ケース1: 仕事や学校の課題とか何かしらでJavaが必ず必要
仕事で使う言語がJava、学校の課題でJavaが必須などのケースです。
この場合はJavaScriptがいいと言っていても無理ぽだと思うので、だるくてもJavaをやるしかなさそう。
ケース2: バックエンドしかやる予定がない
フロントエンドはやらないし、バックエンドエンジニアでいくぜ!って場合にはJavaでもいいかもしれません。
が、、、バックエンドのみならGoとかのがモダンだしいいのでは感はありますし、バックエンドだけしかやらない予定でもJavaScriptでいいかもしれません。
Javaをやるべきケースとか書いておいて他の言語を推奨してますけど、バックエンド開発だけするなら、、、Javaでもいいかもしれませんけど、個人的にはもうちょいモダンな言語でいいかもとは思う。
ケース3: Javaでしかできない何かをしたい
Javaでしかできない開発は、最近だとほぼないと思われます。
シンプルに「Javaを使ってる会社で開発するからJavaが必要」とかそれぐらいで、ウェブアプリとかデスクトップアプリとかそこらへんもろもろはJavaScriptで全部作れます。
ウェブアプリ
- Java: Springとか
- JavaScript: Next.jsとかExpressとか
デスクトップアプリ
- Java: JavaFX
- JavaScript: Electron
モバイルはJavaの場合そもそもKotlinにしないと無理そうなんですけど、JavaScriptならReact Nativeでできたり、、、という感じ。
ケース4: THE プログラミングっぽいほうをやりたい
オブジェクト指向ベースで静的型付け言語でコンパイル型言語のほうが、なんとなくTHEプログラミング感はあるので、そういう場合はJavaがいいと思います。
イメージ的には「Cをやってポインタとかをやることが本当のプログラミングになるための方法だ!」に近い感じ。
ただ、本当のプログラマーになる必要性はあるのかってのは多少あるのと、GAFAMとかのコンピューターサイエンス基礎力重視型の採用試験がある会社とかじゃない場合には、具体的なReact実務経験3年とかのほうが評価される印象です。
なので、THEプログラミングをやればいいのかってのは実際のところ分からないです。
JavaScriptだけやってりゃいいというお話
この記事のスタンス的に「JavaScriptだけやってりゃよくね?」という感じなんですけど、そこらへんを最後に書いて終わりたいと思います。
できることに関して
JavaScriptでできないことはほぼないです。
強いていうなら、大規模めなウェブアプリケーションのバックエンドはJavaScriptだと使われてないことが多いかなーという印象です。
- デスクトップアプリ: Electron
- ウェブアプリ: Next.jsなど含めいろいろナイスなフレームワークあり
- バックエンド開発: ExpressとかNestやら
- フロントエンド開発: React, Next.jsやらやら
- モバイル開発: React Native(実際、モバイルの開発ではそこまで使われないらしいけど)
- 業務システム系: Node.jsとかでスクリプトかく・・・?(業務システム系とは一体)
列挙したように、大体のユースケースはJavaScriptでできますし、実際多くの現場で使われてます。
「できるけど仕事で使われない」系は結構微妙なんですけど、、、JavaScriptなら多くの現場で使われているぞ・・・!てきな。
仕事に関して
JavaScriptで仕事する場合、厳密にはJavaScriptに型つけたTypeScriptで仕事することになるんですけど、求人はめちゃくちゃ多いです。
基本的に、ソフトウェア開発してるほぼ全ての会社がJavaScriptをフロントエンドに使っています。
なので、フロントエンドならJavaScriptとフロントエンドフレームワーク、バックエンドならバックエンド開発の知識(SQL, API, バッチやらアーキテクチャ)があれば、大体の求人に応募可能です。
プログラミング言語自体の勉強に関して
JavaScriptのが入門しやすいし、リソースも多いし新しいし、勉強もやりやすいです。
まとめ
JavaとJavaScriptどっちからやればいいんじゃ?っていうお話だったんですけど、どっちからというか、基本的にJavaがどうしても必要なケースを除けばJavaScriptがいいぜ!ってお話でした。
ということで終わりです〜。



