最近、YouTubeで「プログラミング学習がオススメです!」っていう広告が増えた気がします。
著名人を起用して、「お金も会社も財産も無くなるリスクがあるけど、知識は無くならない!」って声高に発言してくれて「うん、その通り!」と心の中で拍手喝采しています。
、、、が!!!
誰にもオススメできる分野ではないということは、かなり強く申し伝えたいと思い、このエントリに記録として残したいと思います。
そもそも「英語力」が必須
プログラミング言語を構成するのは機械的な文字の羅列ではなく、英単語の組み合わせによるものが大多数を占めています。
def create @micropost = Micropost.new(micropost_params) respond_to do |format| if @micropost.save format.html { redirect_to @micropost, notice: 'Micropost was successfully created.' } format.json { render :show, status: :created, location: @micropost } else format.html { render :new } format.json { render json: @micropost.errors, status: :unprocessable_entity } end end
上の例は、マイクロポストという小さなアプリケーションを作成する際に記述したコントローラー内のcreate定義に関する記述内容です。機械的な文字の羅列ではなく「英単語の組み合わせ+プログラミング的な要素」で構成されていることがわかるでしょうか。英語力があれば、プログラミング学習をしている最中でもこれから記述しようとしているコードがどのような意味を持つのか分かります。
また、自分がコードを記述しようとした際に英単語が分かっている状態と、機械的な文字の羅列としての認識では記述速度も理解力も応用力も段違いです。こうしたことから、英語力が皆無な場合、無機質な記号の羅列としか認識できず、学習を継続することは困難になります。
エラーを自力で解読・修繕できるか
パソコンを使用していると日々エラーに遭遇することがあります。最近では、日常使用でのエラーはだいぶ減りましたが、自分で記述したプログラミングコードはエラーやバグの温床です。英語で表示されたエラー画面と睨めっこして、原因と思しき箇所を特定してデバック(修正)する作業を自力でできる人は問題ありません。
【例】上のエラー画面は、「現場で使えるRuby on Rails5速習実践ガイド」でredisサーバーを立ち上げ忘れて発生したエラーです。突然エラー画面が表示されてしまっても、その原因が何であるか予測がつけば修正可能ですが、エラーの直し方をパソコン側が毎回教えてくれるとは限りません。
普段、パソコンを使用していてエラーが発生した場合に、自分でエラーを解消することができる人はプログラミング学習をしても大きくつまづくことは無いでしょうが、分からないことがあるとしょっちゅう誰かに尋ねるようなら、プログラミング学習はやめた方がいいです。
人に聞かないと問題解決ができない場合は、必ずどこかでつまづきます。
パソコン専門用語は習得済みか
「ググれば大丈夫!」と言う考えも確かにあります。発生したエラーの箇所をコピペして、Google検索でポチポチしたら、時折心優しい方がそのエラー解消の方法を新設丁寧に解説してくれている場合も多いです。
なお、「専門用語で!」ですけどね。
知らないパソコン関係の専門用語がバシバシ使われた上で、エラーの改善方法を説明されても、その専門用語が何を意味しているのかわからないと、再び調べ直す羽目に。そして、専門用語を調べるループに陥った結果、めんどくさくなって学習を止めてしまうことになるかもしれません。
普段からパソコンをいじり倒して、自然と専門用語を身につけていくことで、エラーが発生した場合もスムーズに対処可能ですが、いきなりパソコンを触り始めた場合は当たり前のように解説に使われる専門用語の読解に時間がかかって心が折れる可能性があります。
書籍を1冊でも制覇したか
プログラミングを始めようと思い立った際に、まずは本屋で書籍を手にとってパラパラとめくるところから始めることをお勧めします。プログラミングと一口に言っても、多数の言語があり、フロントサイド・サーバーサイドで必要となる知識も異なります。
自分の目で書籍に目を通し、自前のパソコン環境でプログラミングのための環境構築を行なって、購入した入門書に書かれたコードを写経しながら肌に合うか試すところから学習が始まります。
いきなりオンラインプログラミングスクールに加入しても間違いなくお金を無駄にするだけですので、最近流行りのプログラミング学習に関する広告に騙されないように一歩ずつ自分に合う分野か品定めしておきましょう。