ここでは、プログラミングにおける3つの心得をお伝えできればなと思います。プログラミングを始めたいと考えている人の中には、現在お仕事をされている方であれば、仕事の自動化を模索している人もいるかと思います。はたまた、小規模・大規模であれ何かしらのwebサービスやツールの作成を思案している方もおられるでしょう。
業務を行なっている方であれば、プログラミング技術を習得することによって、「こんなことも自動化できるんだ!!」と気づくことができるでしょう。もちろん、業務に限らずプログラミングに関わる方であれば、「業務効率化」「コスト削減」「生産性向上」を達成したいと思う人もいるかもしれません。
このような作業を達成するためにも、単純な繰り返し作業を自動化及びサービス化するに越したことはありません。上記の内容をクリアするために、pythonという武器は非常に役立つわけです。
当ブログでは、pythonを主言語としていますが、今回お伝えする心得は、プログラミングに共通する思考のため、プログラミングをこれから実施していくあなたに必要なものとなります。
プログラミングとは何か?
プログラマーといえば、ドラマや映画などで不可解な0と1の羅列をものすごい勢いで画面いっぱいに入力または出力しているイメージであったり、それを眺めながらコマンドやコードを記述しているイメージがあるかもしれません。
しかし、現実世界でのプログラマーは全く持ってそんなことはなく、ドラマや映画のキャラクターのような変な生き物ではありません笑
プログラミングとは、コンピュータに処理をさせるための命令を入力する行為に過ぎません。
この命令によって数字を高速に処理させたり、テキストを変換したり、ファイルの中の情報を検索したり、インターネットを通じて別の端末にアクセスしたりするわけです。
つまりプログラムは、構成要素として基本的な命令群を用いるだけなのです。
下記に、一般的な構成要素を言語化したモノを記載します。
「これを実行せよ。」
「あれを実行せよ。」
「これとあれを実行した後にそれを実行せよ。」
「もしこの条件を満たした場合、これを実行せよ。そうでなければ、あれを実行せよ。」
「指定した回数分だけ、これを実行せよ。」
「この条件が成り立つまで、あれとそれを繰り返せ。」
などなど、基本的な構成要素となる命令群を組み合わせているだけに過ぎないのです。
もちろん、組み合わせ次第で、複雑な処理を実装することになっていくだけです。
これらをソースコードと呼びますが、このソースコードの先頭から末尾までをコンピュータが読み込んでいくわけですね。
そのため、構成要素はとてもシンプルな作りになっているので、ルールさえ覚えてしまえば、
自由に組み立てるパズルのように取り組むことができることを覚えておいてください。
プログラマーは数学にそれほど詳しくなくてよい
さて、プログラミングを習得する上で、よく耳にする懸念点として挙げられるのが、数学を多用するのではないかということです。
学業でも、文系や理系のように得意分野に別れて知識を蓄えていく期間があったりしますが、理系の人が携わるものと固定観念を持っている方も多くいるのかもしれません。
しかし、決してそのようなことはありません。
実際のところ、ほとんどのプログラミングにおいては、四則演算レベルの簡単な算数及び数学で十分だと思います。
事実、数学が苦手なプログラマーを何人も見てきています笑
つまり、プログラミングが得意なことと、数学が得意なことはイコールにはならないということです。
例えば、、、数独パズル
一度はあなたも目にしたことや聞いたこと、取り組んだことがあるかもしれません。
この数独パズルは、9×9のマスを1から9の数字で埋めるパズルです。
ルールとして、各行と各列に対して3×3のマスには同じ数字を使用してはいけません。
最初に与えられた数字から推論を重ねて解いていきます。
数独には数字が使用されますが、数字が使われているからといって、数独を解くのに数学が得意でなければならないということは決してありませんよね。
プログラミングも同じです。
プログラミングも数独を解くのと同じように、プログラムを記述するときには問題を細かな1つずつのステップに分解していきます。
すなわち、プログラムをデバッグするとき、つまりはプログラムの間違い(バグ)を見つけて直す時も、プログラムが何を実行しているか一つずつそして辛抱強く観察に観察を繰り返し、バグの原因を発見するわけです。
プログラミングに関わらず、どんなスキルであってもそうですが、練習をすればするほどそれだけ上達することができるわけです。
端的に言い換えれば、プログラムを組むことが許される人はエラーと試行錯誤と戦う覚悟がある人ということです。
この2つと戦っていかなければならないことを覚えておいてください。
プログラミングは創造的な活動
あなたは小さい頃にレゴブロックで遊んだ経験がありますか?
プログラミングは、レゴブロックでお城や車といった様々なモノを作るクリエイティブな活動です。
どんなお城や車といったモノを作り出したいか基本構想を抱きながら、手持ちのレゴブロックを確認します。
確認後に制作に取り掛かります。プログラムを作り上げた後にはおしゃれなデザインなども加えることもあるでしょう。
プログラミングが様々なクリエイティブな活動と異なる点をあげるとするならば、それはプログラミングに必要な材料がコンピュータの中に全て用意されている点です。
画家であればキャンバスや絵の具、カメラマンならフィルムやレンズ、当然レゴブロックを買いに行く必要もありません。
さらに素晴らしい点として、オンラインで世界中に共有することだってできるわけです。
プログラミングにエラーと試行錯誤はつきものですが、とても楽しい活動だと思います。
つまり、あなたの頭の中で繰り広げられている出来事を投影することのできる仮想現実が広がっているわけです。
新しい取り組みや組み合わせによる新製品などは、あなたの発想から作ることが可能ということです。
創造力を活かせば、あらゆるモノを生み出すことができることを覚えておいてください。
ぜひ今からプログラミングに取り組もうというあなたはこの心得を覚えて頂けたらと思います!