未経験者はどのプログラミング言語を覚えたらよいのか?

kachinige.com IT業界

結論:まずExcel VBAをやってみよう

【推薦】未経験者向けプログラミング言語とは?

IT言語の未経験者がプログラム言語を習得するのに、どの言語が一番おすすめですか?

実は、ぼくは何年も前からこの質問の答えを温めています。

ぼくが未経験者におすすめするプログラミング言語は?

ずばり、「VBA」です。Excel マクロを操るあの言語です。

というわけで、「Excel VBAを始めさせてあげてください」と回答しました。

プログラムを書く能力より重要なアルゴリズム構築能力を養う

ぼくが「VBA」をおすすめするのには理由があります。それは「VBA」が、初心者でも短期間でアルゴリズム構築能力を成長させることができるからです。まず初心者に必要なのは、プログラムを書く能力よりもアルゴリズムを構築する能力の方が重要です 。アルゴリズムを構築する能力があれば、比較的短時間で新しいプログラム言語を習得することができます。

そのアルゴリズム構築能力を短期間で養うには、 VBA が一番時間的にも低コストだと考えています。

ITエンジニアを20年以上やってきたからたどり着いた答えなので、経験の浅い人や未経験の方には理解しにくいところですが、プログラミング言語は要望(機能)を実装するための道具であって、その背景には、それらを組み立てるロジック、いわゆるアルゴリズムがあります。このアルゴリズムを組み立てる能力さえあれば、別に言語なんて何だった良いし、ある程度の時間をもらえれば、次々と新しい言語が使いこなせるようになります。

もし、どうしてもExcel VBA に抵抗があるならば、「Go」か「Scala」「Python」あたりを始めて見て下さい。VBAと比較すると覚えるのは超大変だと思いますが、アルゴリズム構築能力さえつけばあまり関係ないので、エネルギーが冷え切らないうちに、プログラミングを始めて下さい。

ちなみに、書籍を買って書籍のみで学習するのはとても非効率です。プログラミングを学習するには、自分でコーディングするのが一番学習効率が高いです。書籍についている付録のサンプルコードを利用して、自分の手でプログラミングをすることで、プログラミング能力、アルゴリズム構築能力を効率よく習得することができます。書籍だけを眺めていても、プログラミングの文法は理解できたとしても、アルゴリズム構築能力が養われるわけではありません。自転車の乗り方の書籍を読んでも自転車に乗れないのと同じです。そういう意味で、書籍だけで学習することは時間効率が悪くモチベーションを下げてしまう要因になります。書籍を活用することは良いのですが、 自分の手でコーディングすることを心がけてください。

Excel VBAをはじめるメリット

とにかく初心者にもハードルが低い言語

どのパソコンにもインストールされているので、すぐに始めることが出来る点は大きなメリットですね。素人はプログラム言語の環境構築だけで萎えてしまうので、プログラミングを開始するステージにさえたどり着けないことがあります。そういった悩みが一切ないのが「VBA」です。Excelに付属してますからね。Excelを立ち上げるだけで実行環境が整うわけです。

また、お子さんがプログラミングを始めたいと言い出した時、親がIT詳しくなくても、 Excel 位は使ったことがあると思います。 そもそもプログラミング以前に Excel の使い方なら教えてあげることができるし、Excel は社会人には必須なスキルなので、覚えておいて損はありません。そういう意味でも、 Excel VBA は初心者が取り組みやすいハードルの低い言語だと思います。

インターネット上に情報が多い

Excelの情報は腐るほどネット上に転がっています。「VBA」を習得するのに書籍は不要です。ネットサーフィンで済ませて下さい。おつりが来るくらい情報転がってます。技術専門掲示板に行かなくてもヤフー知恵袋で解決します。この情報量は、他のどの言語よりも圧倒的だと思います。

もちろん、書籍の購入を否定しているわけではありません。ネット上を調査しながらいったりきたりするよりも、まとまった情報として手元に一冊の本を置いておくことで、非常に効率よくプログラミングスキルを身につけることができます。また、書籍にはサンプルプログラムが付いている本もあるので、初心者のうちはサンプルプログラムがついている書籍を選ぶのが良いと思います。サンプルプログラムに関しては、インターネット上にも転がっているので、無料にこだわるならそちらを参考にするのも良いと思います。 

インタプリタ言語である

経験が浅い人には聞きなれないかもしれませんが、インタプリタとは簡単に言うと、1行ごと命令を実行することが出来るわけです。「F8」ボタンを1回押せば、1行次のステップを実行します。開発者にわかりやすいように、実行中の行は黄色い蛍光色でラインの色がかわるので、デバッグするときなど、1行ずつ目視で確認することが出来ます。

プログラミングの習得を難しくさせている要因の一つに、デバッグの難しさがあります。自分が構築したプログラムの不具合を発見するアクションのことをデバッグと言います。要するにデバッグが難しいと不具合の発見が難しくなるということです。 不具合の原因発見に時間がかかれば、プログラミングのモチベーションは下がってしまいます。逆にプログラムに不具合があったとしても、短時間で解決できれば、プログラミングは楽しいと感じるわけで、プログラミングが楽しいか苦痛かを 分けるのが、デバッグ機能の使用難易度だと思ってます。Excel VBAのデバッグは1行ずつ目視で確認できるインタプリタ型なので、デバッグが非常に楽なのです。

具体的には、デバッグ中に変数にマウスでカーソルを合わせると、中身のデータが確認できる機能もあるので、ITエンジニアでなくてもプログラミング出来てしまうほどのハードルの低さだと思います。

簡易DBとして使える

ベースはエクセルで表計算ソフトなので、簡易的なデータベースとして活用できます。本来プログラムは、プログラムだけで機能することはなく、複数のファイルやデータベースと連携して機能するものです。その他の言語の場合、oracleなどのDBと連携させるなど、金銭的にも時間的にもコストがかかります。素人が興味本位で始めるにはあまりにもハードルが高すぎます。 しかしExcelはファイルであり簡易DBでもあるので、連携がとても楽です。

ITエンジニア以外でも使えるスキル

Excel VBAのスキルは、 ITエンジニア以外の領域でも使えます。現在日本の職場でExcelを使っていない会社を見つけるほうが大変だと思います。もし職場の方がマクロを使うことがないのであればなおさら、VBAが利用できることは大きなアドバンテージになります。 そういう意味でも、初心者がExcel VBAを習得することは、無駄にはならないと言い切れます。

まとめ

まずExcel VBAをやってみよう。(IT業界を志望しない学生にも向いています。)

コメント

タイトルとURLをコピーしました