プログラミング入門としてバッチから学ぶのはアリか?

プログラミング入門としてバッチから学ぶのはアリか?

これからプログラマーを目指したり、趣味としてプログラミングを勉強したりしようとする人は、
一体何から手をつけるべきなのでしょうか?
書きやすそうなPython?よく聞くからJava?深く学べるC言語?
今回はバッチファイルからプログラミングの世界に入ることをオススメしてみようと思います。

バッチファイルとは?

バッチファイルとは、windowsのコマンドプロンプトに実行させたい命令を書き連ねたファイルです。
(Macの場合はshellファイル)
よく分からなければ、PCの操作を一度にまとめてできる魔法のプログラムとイメージしてください。
主にファイル操作目的で利用すると便利なもので、
よく使うアプリをまとめて起動したり、条件に従ってファイルを作成・削除したりが
パッと思いつく活用方法ですね。

バッチファイルから学ぶメリット

・PCの基本操作に慣れられる
プログラミングはできるけどPCの使い方は分からない、というプログラマーはいないでしょう。
環境構築が必要なプログラミング言語と比べて、
環境構築が不要なバッチ作成から学ぶことで最低限のPC知識を手早く身につけられます。

・コマンドプロンプトに触れられる
上とほぼ同じ話です。
バッチを学ぶにはコマンドプロンプトの理解が必要になるので、
初学者が黒い画面への抵抗を無くせる良いきっかけになります。

・調べる癖を付けやすい
暴論ですが、分からないことを全て調べて書けばプログラムは完成するでしょう。
ただ理解が難しい内容で詰まって書けないというのは学びたてあるあるだと思います。
その点バッチに書く命令は低難度で理解しやすいものが多いため、
調べて書く、という作業が気持ちよく進められると思います。

バッチファイルから学ぶデメリット

・プログラミング言語ではない
バッチファイルからもプログラミングの基礎をある程度学べますが、
バッチはプログラミング言語ではなく、プログラミング言語とはできることに差があります。
目的があってプログラミングを始めた人は、少し回り道になってしまうかもしれません。

・構文の形が独特
for文やif文などの書き方の話です。
プログラミング言語同士で比べると似たような書き方になるので一度学んだ知識が活きやすいのですが、
バッチの書き方はそれとは大きく異なります。
ロジック部分の組み立てという目線であればバッチで学んだforやifの考え方はちゃんと活かせますので、
バッチから他言語の勉強に移る場合は、書き方については勉強し直すくらいの心構えで臨みましょう。

まとめ

大きなメリット・デメリットはこんなところかと思います。
個人的には、試しに作るお題として実用的なものを思いつきやすく
モチベーションを保ちやすいことも利点の1つに思います。

これからプログラミングに触れる方だけでなく、
言語を勉強中の方も気分転換として、
バッチファイルの学習を取り入れてみてはいかがでしょうか。