今プログラミング未経験者が学ぶべき言語は、JavaScript一択

僕が今からプログラミングを勉強し始めるなら、学ぶ言語はJavaScript、これ一択です。JavaScriptを勉強するだけで、インターンだろうが中途入社だろうが、業務で必要なことはカバーできます。

もう一度言います。

JavaScriptさえやっておけば(正確には、それに付随するHTML/CSSも)、大丈夫だと太鼓判を押せます。僕はプログラミングを勉強し始めてから2年間、お給料をもらいながらコードを書いてきて1.5年経つので、それなりに説得力があるかと。

なぜJavaScriptなのか、理由は何個もあります。

  1. フロントエンドもバックエンドも対応できる
  2. 学習コストが圧倒的に低い
  3. 環境構築の手間が劇的に少ない(ブラウザさえあればJavaScriptは実行できてしまう)
  4. 世界的にJavaScriptが伸びている
  5. フロントエンドはビジネスロジックと密接に関わっていることが多いが、その領域は基本的にエンジニアが苦手な部分のため(プログラミングを始めたのが遅くても差別化できる)
  6. できることの幅がめちゃめちゃ広い。楽しい。

他にも理由はいくらでもあるんですが、重要なところはこれぐらいですね。順に解説していきます。

フロントエンドもバックエンドも対応できる、AndroidもiOSアプリも作れちゃう

まずはじめに言いたいのは、JavaScriptってなんでもできすぎてやばいよっていう話です。

フロントエンドはもちろん、最近だとNode.jsという、JavaScriptでバックエンドのコードもかけるような技術が生み出されており、やろうと思えば、フロントエンドもバックエンドもJavaScriptで対応できちゃうんですよ。

実際、今の僕がインターンで働いている企業は、フロントエンド・バックエンド両方JavaScriptです。

そしてさらに、JavaScriptを使うと、アプリ開発もできちゃうんですよ。正確にいうと、JavaScriptでできているReactというライブラリがありまして、そのReactからできているReact-Nativeというやつを使うと、アプリがiOS/Android両対応でできちゃうんですね。

このReactとか、React-Nativeというのは、Facebookが開発したテクノロジーで、特に英語圏では猛烈な勢いで伸びているので、おすすめです。僕もReactを使っていますし、最近では個人的にアプリ開発をしているので、そのためにReact-Nativeを使ってます。

やっぱりね、JavaScriptで全てが完結するというのは、めっちゃめちゃでかいです。楽すぎます。特に、小規模、中規模のチームだと、バックエンド、フロントエンド、iOSアプリ、Androidアプリ、のために別々の言語を使って、違う人がコードを書く、というのは難しいんですよね。

JavaScriptを使えば、そこらへんの領域を全て一気通貫でどーんと丸ごとできちゃうんです。超魅力的ですよね。

学習コストが圧倒的に低い

JavaScriptはとにかく簡単。わかりやすいです。

言語にクセがないので、JavaScriptさえやっておけば、大体ほかの言語もわかるよね、と言えちゃうぐらいの懐の広さがありますし。

もちろん、そんなJavaScriptの中にも、難しい概念とか処理がいくつかあるんですが(非同期処理とか)、それって結局、どのプログラミング言語でも学ぶことになるものなので、それならJavaScript勉強しようよっていう話。

環境構築の手間が劇的に少ない(ブラウザさえあればJavaScriptは実行できてしまう)

JavaScriptは、ブラウザさえあれば実行できてしまうんです。

例えばChromeでは、デベロッパーツールというのが開けます(開き方はググってください)

そのデベロッパーツールの中に、コンソールというのがあるんですが、そこにJavaScriptのコードを打ち込むと実行できるんですね。

もちろん、長い処理になるとちょっと厳しいですが、「プログラミングを始める」、だけで言えば、JavaScriptは5秒でできます。

プログラミングを実行できる環境を整えることを、「環境構築」と言うんですが、この環境構築がプログラミング初心者にとっては鬼門なんです。

色々なやり方があるし、ネット上に落ちている記事を参考にしても、すでに情報が古くなってしまっていたり、そもそも記事自体が間違っている可能性もあり、地雷が埋まりまくってるんですね。

特に、プログラミングを勉強し始めの頃は、どれが正しくてどれが間違っているのかなんてわからないし、ましてやどの方法を使えばいいのかもわからない。

そして、環境構築の記事を読むためにも、色々な前提知識が必要とされ、とにかく難易度が高いんです。

いやぁ、僕も最初は苦労しました。最初のインターン先で、「はい、じゃあ環境構築やってね〜」と言われたときは、もう泣きそうでした(笑)

それぐらい重要であり、かつ挫折する人が多い環境構築ですが、JavaScriptはこの「環境構築」が死ぬほど楽なんです。

JavaScriptを実行するだけなら、前述したように、ブラウザ上で実行できますし、自分のパソコン上で環境構築を構築しようとなったら、公式サイトに従っていればOKというお手軽さ。

単純に楽しい。わかりやすい面白さがある

JavaScriptは元々フロントエンドの言語です。フロントエンドとはすなわち見た目のことです。JavaScriptを使うと、そこを色々操作できるので、テキストの色を変えたりとか、動かしたりとか、そういう「視覚的にわかりやすいこと」ができます。

わかりやすさって非常に大事ですよね。うわ、こんな簡単に色が変えられた、たのしいぃいいいってなってしまえば、あとは簡単なんですよ。

プログラミングを0から始めた人が、その面白さを実感するためにJavaScriptは最適。

世界的にJavaScriptが伸びている

プログラミングというのは世界的に共通なんですが、色々な流行り廃りがあったり、トレンドがあるんですね。で、そのトレンドの中心に乗っかるのが、最初のうちは死ぬほど大切です。

なぜか。トレンドから外れたものは、人が集まりにくくなります。ライブラリがメンテナンスされにくくなります。そうすると、バグが多発するようになり、そうするとさらに人が集まりにくくなり、、、という負のスパイラルに陥るからです。

そしてJavaScriptなら、世界のトレンドのど真ん中ですし、JavaScriptが使われなくなることは、まあ、当分起こり得ないので(第三次世界大戦が起こるぐらいの確率ですかね)、最初のプログラミング言語にJavaScriptを選ぶことは、絶対に価格が上がる株を買うようなものです。

プログラミングの世界は、常に戦国時代といいますか、色々なツールやら、ライブラリやら、プログラミング言語やらが毎日のように生み出されているんですが、その中でも世界的に使われるようになるのはほんの一部。

そして、そのほんの一部の中でも、流行り廃りがありますし、新しい技術の台頭によって、それいらないよね、となってしまったものもあるわけです。

ということはですよ、もしかすると、今までに自分がやってきたプログラミング言語がトレンドから外れ、使われなくなってしまう可能性があるんですね

めちゃめちゃ怖くないですかね。今まで自分がやってきたことが水の泡になってしまうというのは。

だからこそ、特に最初のうちは、どのプログラミング言語を勉強するかが大事なんです。世界的に落ち目の技術を習得しても、しんどいだけです。

その観点からいうと、JavaScriptはもう超安心です。なぜか。HTMLとCSSを除いた、ありとあらゆる言語の中で、唯一JavaScriptだけが、フロントエンドに使えるからなんですね。

だから、JavaScriptがなくなるということは、すなわち人類の滅亡と言っても過言ではないぐらいです。

JavaScriptをより改良した、フロントエンドのための言語が生み出されることもあるんじゃない?とお考えの皆さん、ご安心ください。すでに、TypeScriptという、JavaScriptの進化系みたいな言語がありまして、最近のフロントエンド開発はほぼTypeScriptです。

とはいっても、TypeScriptはJavaScriptを型付けした、みたいなやつなんで、要はJavaScriptができれば、TypeScriptもできるよってことです。

JavaScriptの拡張言語であるTypeScriptが最強だから

このTypeScriptが最強なんです。TypeScriptはMicrosoftが生み出した言語でして、要はJavaScriptに型(Typeがついたので、TypeScriptというネーミングの安直さw)がついた静的言語ってやつなんですが、これがもう全世界でどんどん使われるようになってるんですね。

TypeScriptは設定次第で、ほぼJavaScriptみたいな書き方から、ガッチガチに縛っていく書き方まで、自由度があるので、既存のJavaScriptを徐々にTypeScriptに置き換えていく、なんてことも割と簡単にできるんですね。

プログラミングの世界では、とりあえず長いものに巻かれておくといいです。すなわち、多くの人が使っている言語であったり、ライブラリであったり、ということですね。

TypeScriptも恐ろしく伸びている、ということは、その元であるJavaScriptをやっておけば、とりあえずいいんじゃないの、という安直な考えで、意外と全てうまくいくという。

できることの幅がめちゃめちゃ広い。楽しい。

JavaScriptをやっておけば、フロントエンド・バックエンド・モバイル開発、などがまるっとできるようになりますし、よし、じゃあ自分の専門分野を学ぼう、となったときにも、今までの知識を生かすことができます。

どうですかねJavaScript、やってみたくなりませんかね。

カテゴリー