プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

プログラミング初心者にJavaScriptは難しい【みんな難しく感じています】

更新日:

「プログラミング初心者にはJavaScriptをオススメします」という話を聞いたことがあります。
これは正しいですか?

記事の内容


この記事を読んでいる方は、プログラミングの初心者で、これから何のプログラミング言語を学ぶか迷っているはずです。
基本的には、どの言語から始めても悪いことはありません。
でも、JavaScriptは難しいので、私は初心者にはオススメしていません。
この記事では、その理由を説明します。

オススメされる理由

JavaScriptが、初心者にオススメされる理由は主に以下の2つです。

JavaScriptのここがオススメ!

  • 実行環境を作る必要がないので、すぐに触ることができる
  • プログラミングの動作をブラウザ(ChromeやIEなど)上でも行うことができるので、視覚的に見えやすい。
    つまり、初心者にとってはわかりやすく見える

確かに、これらは大きなメリットです。
プログラミング学習において、実行環境を作るハードルは高いですし、「C言語のように、何をやっているのかよくわからないプログラミング」というのは退屈なものです。
それだけを聞くと、「JavaScriptっていいかも?」と思うかもしれません。

でも、JavaScriptには初心者が学習するさいのデメリットもあります。

オススメしない理由

JavaScriptはわかりづらくて難しい側面があるので、私は初心者にはオススメしていません。
理由は以下の通りです。

jQueryという有名なライブラリも学習する必要があります

JavaScriptがそのまま使われることは少なく、jQueryというライブラリが使われることが一般的でした。
そのため、JavaScriptだけを覚えても何の意味もなく、jQueryも合わせて覚えなければいけません。

古い文法で書かれたjavaScriptと新しい文法(ES6)で書かれたJavaScriptの二つがあります

JavaScriptは歴史のある言語で、長らくオモチャのような言語として扱われてきました。
でも、その扱いが急激に変わったのが、2015年ぐらいの話で、それまではjQueryが幅広く使われてきました。

それが、ES5、ES6と呼ばれているもので、今、流行りのReactやVueといった人気のフレームワークは、これらの新しい文法で書かれています。

ただし、全てのIT企業が、このような新しいJavaScriptの文法を取り入れているわけではありません。
むしろ、JQueryを使っている企業の方が多いはずです。
ということは、これからJavaScriptを学ぶ人は、以下の3つを覚えて、初めて一人前として扱って貰えるということです。

JavaScriptでは、これが必要!

  • 古いJavaScriptの文法
  • jQueryの文法
  • 新しいJavaScriptの文法

プログラムが実行されるタイミングがわかりづらい

JavaScriptのプログラムは、実行されるタイミングがわかりづらいです。
JavaScriptのプログラムが実行されるタイミングを知るためには、プログラムが実行される(発火する)ためのイベントを覚える必要があります。
onChange、onSubmitといったものです。

ブラウザごとによって、挙動が異なることがあります

ブラウザには、Chrome、Firefox、IE、Safariを始めとして、その他にもいくつかのブラウザがあります。
現在のJavaScriptでは、ブラウザごとに挙動が違うので、その違いを考慮してプログラミングをする必要があります。
それらの対応は、かなり煩わしいものです。

ロジック的な操作とDOMの操作の2つを覚える必要があります

JavaScriptは、サーバーサイドで使われることもあれば、フロント・デザイン側で使われることもあります。
サーバーサイドで使うためには、ロジカルなプログラミング操作が必要になり、デザイン側を知るためにはDOM操作(デザインや動きをつける操作)が必要になります。
デザイン側では、HTMLとCSSの理解も必要になります。
つまり、JavaScriptを理解するためには、そのような両サイドのことを知っておく必要があります。

最初は他の言語をオススメします

ここまでで、JavaScriptを学習するさいの、メリットとデメリットを説明しました。

JavaScriptは、確かにすぐにさわれます。
言語のクセを理解した上で、一つ一つ、着実に学習していける人ならば問題ありません。
でも、そうでない人にはハードルが高いように思えます。
そのため、私は初心者向けのプログラミング学習には、PHPやRubyといった言語をオススメします。

まずはPHPやRubyといった言語を勉強して、成功体験を積み上げましょう。
それから、プログラミングに慣れた頃にJavaScriptに戻ってきても、遅くはないはずです。
JavaScriptは、プログラミング経験者でも苦手とする人がいるぐらいです。
そこから一度、離れたとしても決して恥ではありません。

でも、それでもどうしても勉強したいという方は、まずはProgateを始めとした学習サイトでJavaScriptを勉強してみるといいかもしれません。
Progateをやれば、自分なりの手応えが掴めるはずです。

また、私がオススメするJavaScriptの本も下に紹介しておきます。
それらをやり終えた後に、改めてJavaScriptが自分に合っているかを考えてみましょう。

また、転職サイトなどで、JavaScriptにどれぐらいの需要があるかを、自分の目で確かめてみるのもいいかもしれません。
JavaScriptだけで採用される求人は、ほぼありません。
大体は、RubyやPHPといった他の言語とのセットです。

Good luck for your engineer life!

JavaScriptの学習でオススメの本と動画を紹介しています

JavaScriptの学習でオススメの本と動画【2019年最新】

Webエンジニアになりたい人は、こちらの記事を読んで下さい

Web系のエンジニアを目指す人が勉強すべき言語【RubyかPHP】

プログラミング言語のRubyで、できることを知りたい人は、こちらの記事を読んで下さい

プログラミング言語のRubyでできること

ブログの内容を復習をしたい人は、動画を見て下さい

IT業界について詳しく知りたい人は、この記事を読んで下さい

IT業界にいる人にオススメの本【2019年最新】

IT技術を使った会社の生存戦略 ソフトウェア・ファースト Sierを使った開発には限界がきており、これからは事業会社がエンジニアを雇用することで、ITの手の内化が必要だと、筆者は述べています。 現在のSierを使った開発方法の問題点と、事業 ...

続きを見る


30代からプログラミングを始めようか迷っている人は、この記事を読んで下さい

30代からプログラミングを始めることは可能なのか?【頑張ればギリギリセーフ】

エンジニアは人気の職種だと聞いていますが、若い人達が多い印象です。 30代から始めても間にあいますか? 2030年には79万人のエンジニアが不足 まずは、今後、10年間以上に渡るエンジニアの需給について確認しましょう。 自分の身を預けたいと ...

続きを見る


プログラミングスクールに行くか迷っている人は、この記事を読んで下さい

なんとなく、エンジニアになりたい人が無料のプログラミングスクールに行くべき理由【2019年12月の最新】

有料や無料のプログラミングスクールが多すぎて、どこにしようか迷っています。 無料のプログラミングスクールは、お得そうに見えますが、実際の所はどうですか? メリットやデメリットなどがあれば教えて下さい。 無料のスクールを推す理由 まずは、私が ...

続きを見る


自分がプログラミングスクールに行っても大丈夫か知りたい人は、この記事を読んで下さい

プログラミングスクールに通って挫折する人と上手くいく人の違い

スクールに通っている人の3パターン プログラミングスクールに通っている人のパターンを整理すると、以下の3パターンに分かれます。 それぞれのタイプの特徴を、もう少し詳細に説明していきます。 それぞれのタイプの特徴 大した努力をせずに文句ばかり ...

続きを見る


プログラミング学習で時間を無駄にしたくない人は、この記事を読んで下さい

プログラミング学習で時間を無駄にしない方法【実行あるのみ!】

今からWeb系のエンジニアになりたいのですが、経験は全くありません。 プログラミング学習を始めるにあたって、時間を無駄にしたくないのですが、どのように、勉強を始めたらよいのでしょうか? スタート地点に立つまで、ダラダラと勉強を続けない 周り ...

続きを見る


独学で実務っぽい経験を積みたい人は、この記事を読んで下さい

エンジニアが独学で実務経験っぽいことを学ぶ方法

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? スクールの理想と現実 これからプログラミングを学ぼうとしている人が描 ...

続きを見る



関連コンテンツ

-初心者向け

Copyright© プログラミング道場 , 2019 All Rights Reserved Powered by AFFINGER4.