プログラムってなんなのか


人からプログラム教えてほしいと言われたので、なんかそれらしいことしないといけないかなあと考えて書きました。

プログラムとは

プログラムとは、計算機が理解出来る言葉で記述された命令です。すべてのプログラムは入力と出力が必ず有ります。

入力→プログラム→出力

例えば、キーボードで入力された文字をファイルに保存するという機能があるとしてキーボードから文字を取得(入力)しファイルにそれを書き込み保存(出力)する命令を記述すれば計算機に機能を追加することが出来ます。

プログラマとはこの命令を記述し計算機に機能を追加する人です。この入力と出力はとても重要なことですがプログラミング言語の入門書とかではあまり説明されていません。なぜ重要なのかは後々説明します。

プログラミング言語を学ぶ意味

計算機とは人が使う物であり、人が使う機能を追加するための手段が用意されています。その手段の一つがプログラミング言語です。
プログラミング言語は一つではなく同じ事をするにしても様々な言語と手順があります。ですので、一つのやり方にこだわらず柔軟な対応が出来る事が重要になります。
計算機に機能を追加するのにベストな言語と手順をいくつかの中から選択する必要が有る訳です。選択するためには知識が必要です。だからその分学習しないとお話になりません。
ですが学習するにしても、学問ではないのですべて正確に知る必要はないんです。
科学とかの学問は、真理の追求が目的なのであらゆる事を正確に理解しなければならないという絶対の鉄の掟がありますがプログラミングはもっといい加減でいいんです。
正確な定義はどうとか言う技術オタクになる必要はありません。むしろ必要の無い知識を溜め込むのは非効率と言えるでしょう。

プログラミングで必要なのは、機能を追加するための手段さえ知っていればいいのです。じゃあ、実際に機能を追加する手段が分からなければ?その時に調べるなりして身につけても遅くはありません。それに時間は限られていますのでいろんな物の中から重要な物だけ選択する能力は必要です。実はこれが個人差が大きいと感じています。

短期間でプログラミングを物にするする人は、この勘にも似た能力が優れているんでしょう。重要な物はしっかりと理解し、それを次の知識につなげて行く事ができれば意外と速く上達出来ます。

次回へ続く