プログラム言語は何が良いか迷ってませんか?
プログラム言語はたくさんあります。
C、Java、VBA、Python。他にもPowerShell、バッチ、Power Automait Desktop(PAD)なんてものもあります。
種類は大きく2つに分けられます。
- インタープリタ方式:
プログラムを1行ずつ解釈していく。作成したプログラムを実行するには実行環境が必要。つまり、実行する人も少しそのプログラムを実行するための知識が必要。VBA、Python - コンパイル方式:
プログラムをexeなどの実行形式に変換する必要がある。実行するときにプログラムを作った人が想定しているOS(Windows、Mac)であれば良い。C、Java
どちらのタイプを選ぶべきか。プログラマーを目指さない私達は、インタープリタ方式一択です。挫折しないプログラミングには、ちょこっと書いて、動かして試す(いわゆるトライ&エラー)のがどれだけ容易かがとても大事です。
では、インタープリタ方式の内で何を選べばいいか。
おじさんは初めはExcelVBAをお勧めします。
業務PCには大概Officeが入ってますし、会社でVBA組まれてるエクセルを引き継がれるなんてシーンも多いのではないでしょうか。追加アプリのインストールが不要なので、業務ならVBAがお勧めです。ネットにも情報がたくさんありますし、やって損はないです。
VBAのもったり感に我慢できなくなったら、Pythonに手を出すのもいいと思います。おじさん的にはVBAとPythonはプログラムの書き方が似てるイメージを持ってます。だからVBAからの乗り換えはほとんど苦を感じないはずです。それでいてスピードが全然違うイメージです。VBAと同じ処理をさせると分かります、Pythonめちゃくちゃ早いです。
なお、インタープリタ方式のデメリットである実行するためにアプリのインストールが必要な点ですが、VBAは業務PCにはほとんどOfficeはインストールされていると思いますので、マクロを記載したファイルに実行ボタンをつけて、実行ボタンにマクロを紐づければ、誰でも実行できるようになります。Pythonはコンパイルもできますので、Pythonをインストールしないユーザにも提供することができます。
PADはグラフィカルな分、とっつきやすいイメージがありますが、機能がメニューとして見えてしまい、逆にどれを使って良いか迷ってしまい、わかりにくいと感じています。
C、Javaはコンパイルが必要でさっと確認取れないイメージです。プログラムの書き方も難しい印象です。難しいことは職業プログラマーに任せましょう。
プログラム言語とまで言えませんが、Widowsでちょっとした、ファイルの操作などコマンドプロンプトでできるような内容を自動化したいときはPowerShell、バッチで十分です。これらはスクリプトといって、コマンドをテキストファイルに1行ごとに記載して、上から順番に実行するというものです。
おじさんはリストからフォルダを作成してその中に同じファイルをコピーするなんてものはPowerShellでやっちゃいます。
どの言語を選ぶにせよ業務改善では習得する必要は一切ありません。高いお金を払って、セミナーを受講するのはプログラマーになりたい訳でなければ、不要です。プログラムがきれいでも汚くても目的通り動けばいいんです。
下記の記事の考え方通り、無料で嫌にならないところまで勉強して、あとはコピペしながら理解していけばいいんです。
考え方を少し変えると、プログラムに挫折というものはなくなります。