プログラミング学習の最初の一歩にはJavaScriptが有力な選択肢である4つの理由
2021年01月03日
JavaScriptContents
プログラミング未経験のあなたに。「プログラミング言語、どれを学べばいいの?」という疑問の解決にはJavaScript(JSと略されることもあります)を学習すると今後の選択肢が大きく広がる理由を解説します。
自分がフロントエンドエンジニアとしてJavaScript / TypeScriptを普段から書いているので「ポジショントークだ!」と思われる方もいるかもしれませんが、そんなことはありません。事実最初の一歩はJavaScriptを選択するのが最良だと実感しています。
そもそもJavaScriptって何?
JavaScript はウェブページにて複雑な機能をできるようにするプログラミング言語です —ウェブページが読み込まれるたびに、単にあなたが見ている静的な情報を表示する以上のことをしています— 更新されたコンテンツの定期表示や、インタラクティブな地図や、2D/3D グラフィックのアニメーションや、ビデオジュークボックスのスクロールなど — たぶん JavaScript が組み込まれています。
MDNより引用
JavaScriptはGoogle ChromeやSafariのようなWebブラウザ上で動かすことのできる(ほぼ)唯一のプログラミング言語です。
(HTML 、CSSはマークアップ言語という見解なのでここではプログラミング言語として取り扱いません。)
「ブラウザ上」で動くことから、サーバーを介すことなくHTMLやCSSを動的に操作することが可能です。
この特徴はRuby, Java, PHPなど他のサーバーサイド言語とは一線を画しています。
Javaというワードが出たので少し補足をすると、JavaとJavaScriptは全くの別物です!!メロンとメロンパン、ハムとハムスターくらい違うようなものです。JavaScriptを勉強したのに略して「Javaができます!」なんて宣言しようものなら全く見当違いなプロジェクトに入ってしまうことでしょう。
初学者にJavaScriptを勧める4つの理由
実行結果が目に見えやすいから
先述の通り、JavaScriptはブラウザ上で実行ができるプログラミング言語です。
Google Chromeの開発者ツール(キーボードのF12ボタンで開きます)のコンソールタブでも記述・操作が可能で、JavaScriptがどんなものかはすぐに体験することができます。
JavaScriptの主な用途としてHTML・CSSを操作するため、書いたプログラムによって操作されたHTML・CSSが目に見える形で変更されることが確認できます。
これはプログラミングの楽しさを知る上で重要なことだと思っています。結果が目に見えるのはやりがいを非常に感じやすいです。
フロントエンド開発のほぼ唯一の選択肢だから
ブラウザ上で動かすことのできる言語はJavaScriptのみであるという点が他言語との明確な違いになります。
かつてはPHPやRubyなどのサーバーサイド言語でHTMLを生成してSafariなどのブラウザで表示できる形態にして、ブラウザ側のJavaScriptで動きを少しつけてあげることが主流でした。
近年は、バックエンドとフロントエンドの境界線を引く潮流であり、バックエンドではデータを処理した上でフロントエンドに必要なデータを送り、フロントエンドで受け取ったデータに基づいたHTMLの組み立てを行うことが主流です。
2010年代のフロントエンド開発の技術革新の動きは目まぐるしく、React、VueなどのJSフレームワーク・ライブラリの躍進、Node Package ManagerのようなOSSライブラリ管理の発達、コードフォーマッティングやテストライブラリの拡充など、フロントエンド開発が効率的になり、かつ動きが大きくレスポンスも速いリッチな画面を作ることが容易になってきています。
これまではバックエンド言語を主に書くエンジニアが片手間にJavaScriptを書くことが多かったのですが、アプリケーションにリッチな画面を求めたいビジネスは年々増えており、フロントエンド専任のエンジニア(モダンフロントエンドエンジニア)の需要が右肩上がりになってきています。
面白いユーザー体験(UX)を作るためにはリッチなフロントエンド、つまりJavaScriptの活用が欠かせないことになってきています。
すなわちJavaScriptを確りと身に付けられれば需要増のモダンフロントエンドエンジニアの入り口に立つことが可能ということです。
プログラミング言語学習において、教材ではView部分もサーバーサイド言語で行っていることがありますが、ViewはReactやVueなどのJSフレームワークに任せてしまう時流になっているので注意が必要です。
汎用性が高いから
JavaScriptがブラウザ上で動くことは前述しましたが、JavaScriptはNode.jsというサーバーサイドのJavaScript実行環境でも動かすことができます。
また、React NativeというiOS/Androidアプリを開発するためのフレームワークが存在し、JavaScriptを書くことができればスマートフォンアプリまで開発することができるのです。
つまり、バックエンドもフロントエンドも、スマホアプリでさえも全てJavaScriptで大筋作ることができるというわけです。
これはスタートアップなど人数のあまり多くないチームや個人開発で非常に有用です。言語間のスイッチングコスト(プログラムの書き方の作法の違い)がほぼ無いからです。
広く開発に使うことのできる言語ということで、将来性も抜群です。
Node.jsの伸び代はかなり有ると思っており、今後も注目しています。
JavaScriptユーザー/開発者が多いから
Webアプリケーション開発においてJavaScriptは必須であることから、JavaScriptを使う開発者は非常に多いです。
PHPとJavaScript、RubyとJavaScriptなど併用して使っていたエンジニアも大勢います。
ユーザーが多いということはそれだけ知見が集まりやすいことに繋がります。初学者が困ったときに他のエンジニアに質問をした際に解決できる可能性も高いということです。
JavaScriptのユーザーコミュニティは活発であり、例えばQiitaの投稿数ランキングでも常にJavaScriptは上位にランクインしています。
また、JavaScriptのOSSライブラリも積極的に開発が進められています。
Node Package Managerを活用してライブラリを使うことができるため、自身が使いたい機能を探せばそれに見合うライブラリが存在することも多いです。
ライブラリの活用で車輪の再発明をする必要がないのです。(車輪のチューニングは必要だったりしますけどね)
一方、少し注意が必要なのはJavaScriptの言語改定のところです。
2015年にJavaScriptの構文に大きく変更がかかり、より安全で便利に、そして効率的にプログラムを書くことができるようになりました。
インターネット上では未だに非推奨となったvar
を変数宣言に使うような記事もあったりするので、情報源が古くなっていないかは注意しましょう。
まとめ
JavaScriptは「実行結果が見えやすいため学習モチベーションが高めやすく」、「フロントエンド開発の唯一の選択肢のため専門性も高く」、「バックエンドやスマホアプリ開発にも応用の効く汎用性の高い言語であり」、「開発ユーザーも多くて情報を得やすい」パワフルなプログラミング言語であることをご紹介しました。
新たなライブラリやフレームワークも次々開発されて活発であるため、将来性も高く進化し続けている言語であると言えるでしょう。
ぜひ最初の一歩にJavaScriptを選んでみてはいかがでしょうか。
JavaScriptから派生したTypeScriptの紹介は今回は留めておきます。昨今のデファクトスタンダードはTypeScriptなので、最初からTypeScriptを学ぶことも非常に有用な選択肢です。
ProgateのNode.jsコースは学ぶ順序としては理にかなっているなと思ったのでこちらも覗いてみてください。
https://prog-8.com/paths/node
\ Share! /