プログラミングを難しく考えている人はまずスクリプティングをしてみよう

独学法

プログラミング 簡単

おはようございます。継続の錬金術士なおキーヌです。

プログラミングを学びたいという人はここ最近増えてきているようですね。

人気のプログラミング言語と言えばはRubyやPythonでしょうか。
Webサイトを作る人はJavaScriptやPHPがメインになると思います。

ガチプログラマからするとそれらはWeb系の言語はプログラミング言語じゃにぃ!って否定しますが
Web系言語も洗礼され出来る幅はかなり広がっていますし世界的需要もあります。

私としてはいきなり人気言語に飛びつくのではなく
直ぐに実行できるスクリプト言語(javascriptやエクセルのVBA等)から覚えるべきだと思います。

プログラミングと言うと難しい話に聞こえますが
今回紹介するスクリプティングについては簡単な話なので何か飲み物片手に読んでください。

この記事の内容
スクリプト言語の簡単な解説
スクリプトティングを覚えると時間が余るワケ
スクリプティングとプログラミングの違い

スクリプト言語とはなんなのか

スクリプト言語とは

プログラミング言語とは違うの?と思われる方もいらっしゃいますが
スクリプティングとプログラミング違いはこの記事の最後に軽く説明しています。

スクリプト言語とは、簡単に言うとコードを書いてすぐに実行できる言語です。

プログラミングってコードをいっぱい書いて動かすイメージがあると思いますが
スクリプティングは1行書いて実行することも出来るので何が起こってるのかわかりやすいのです。

スクリプトとはエクセルのSUM関数IF関数を組み合わせて作るモノといえば分かりやすいでしょうか。

コードを書くとアレルギー反応が出そうな人のために日本語で書きます。

例えばSUM関数は範囲セルの数値の合計を表示する関数ですね。

他にもよく使いそうな平均を出すAVERAGE関数。

そしてIFはもし~ならば(THEN)~そうでなければ(ELSE)という風に条件によって何をするかを決める関数です。

実はこれらを組み合わせるのがスクリプトなのです。

実際に組み合わせてみましょう。

もし(IF)、特定のセル(A-1とします)に123という数値があれば(THEN)、B1-B10の「SUM関数を実行」。
そうでなければ(ELSE)、B1-B10の「AVERAGE関数を実行」。

私はあまりエクセルのコードを書かないので正しい記述化はわかりませんが
うろ覚えで書くと以下のような感じになるのではないでしょうか?

=IF(A1=123, SUM(B1:B10), AVERAGE(B1:B10))

IF、SUM、AVERAGE、1つ1つでは関数ですが、その関数同士を組み合わせて作る行為をスクリプティングと言います。

もっと言ってしまえば、スクリプティングをして何か1つのソフトを作ることをプログラミングと言います。

なので、プログラミングを覚えるならまずスクリプトから覚えるべきなんですね。

今の学校のIT事情が分からないので何とも言えませんが
学校の情報技術の授業でC言語かBASIC言語を触るかと思います。

あの時にやった黒い画面に文字を表示するだけの行為もプログラミングではなくスクリプト(関数)の実行をしているだけです。

スクリプトを覚えると数時間かかる単純作業が一瞬で終わった

単純作業

私はスクリプトを覚えるまでは10万行あったテキストを1つ1つ手作業で精査していました。

エクセルで処理しようにも当時使っていたPCのスペックがゴミすぎて10万行あるテキストの処理は固まってしまうため作業になりません。

そこでどうにかできないと調べていたところにスクリプト言語に出会ったのです。

特定のワードが含まれているものだけ抜き出してあとは削除するという
簡単な命令を与えただけで一瞬にして作業が終わりました。

私はこれにすごく感動して、前々からやりたいとは思っていたけど
難しいから覚えるのが億劫だったプログラミングの勉強を始めるきっかけになったのです。

当時はバイトだったので余った時間はすぐさま別の仕事をあてはめられましたが
その仕事も単純作業だったので、スクリプトを組んで一瞬で終わらせられました。

その時は申告せずに時間をかかる振りをして密かにプログラミングの勉強を進めていました。

仕事場によってはスクリプト言語を使えばこのように
無駄に時間のかかる作業を一瞬で終わらせられ時間が余りまくってしまうのです。
`
その時の私は自堕落な人間でしたので余った時間にまとめブログを読んだりサボっていました。
今思えばもったいない時間を過ごしていましたね。

スクリプティングとプログラミングの違い

単純作業

既に最初の方にもチラっといってしまったのですがもう一度言います。

関数や制御文を組み合わせる行為がスクリプティング。

組み合わせたものを1つの関数にまとめるのが関数化(自作関数という)。

そして関数を組み合わせてスクリプティングをして1つのプログラムにすることをプログラミングと言います。

厳密に言うと違うかもしれませんが、大枠はこういう風に考えてもらっても大丈夫です。

大抵の人はプログラミングを覚えるぞ!って言って
やっていることはただのスクリプティングだったりします。

個人的にコードを書くのはスクリプティングで
プログラミングはそれに対してコメントを記載したり、エラーを取り除くことだと思っています。

仕事で言えばスクリプティングは作業者で、関数は道具。
プログラミングはそれらの管理者ってところでしょうか。

一般的にはこれらを全部まとめてプログラミングと総称していますが
そういうのがプログラミング=難しいと考えてしまう原因なのではないでしょうか?

なのでプログラミングを覚えたい人はまず作業者(スクリプター)になってから
プログラマーを目指していくべきだと思います。

プログラミングスクールなんかは、こんなに細かく言わないですが自然とそういう風に指導していると思います。

ブログ毎日更新は59日目。
2月も毎日更新完了です……

最近がっつりプログラミングしていない気がします。
おかしいな、私SEでシステム開発しなきゃいけないのになんでデザイン業務ばっかりしてるんだろうか。

それでは。