食うためではなく食われないためのプログラミング学習
プログラマー35歳限界説なんていうことがまことしやかにささやかれる昨今ですが、只今絶賛勉強中のわたくし、35歳です。
JavaScript かわいいよ JavaScript…
JavaScript がプログラミング言語なのかという議論はさておき、今日のテーマはプログラミングです。
ぼく自身の状況を今更語ったところでどうしようもないというか、プログラミングに関してはもっと他の人のブログを見たほうがためになると思いますので、今日は別の視点で話をします。
それは、ぼくの二人の娘についてです。
最近あちこちですべての子供にプログラミング教育を、という話を目にします。ぼくもそれには賛成です。
なぜ賛成なのか。
それをぼくなりに考えたので、ここに記しておきます。
将来娘たちに伝えるときに忘れないように。最近忘れっぽいんです…
良くも悪くもコンピュータありきの社会
まあとにかく、なにをするにもコンピュータが絡んできます。電話だった今となってはコンピュータの中で動いてます。
「ダイヤル回す あの娘に伝えて まだ好きだよと」なんて今の20代に言ってもなんのことかわからないでしょうね。昔の電話にはダイヤル式の鍵がついてたんですよ(嘘
手紙の代わりにメールになって、書類作成は Microsft Office で行なって、FAX の代わりに PDF を添付、にはなりきってないか。まあ、そんなわけでやることなす事 PC がなければどうにもこうにもならないわけですね。
だんだんとそれぞれのツールも使いやすくなってきたので、もはやマニュアルすらいらない時代です。でも、そうだからこそ自分の使っている道具がどういうものかを知るということが大事だとも思います。
イチローがバットをものすごく大事にするように、我々も PC やスマートフォンを大事にし、どのように動いているかを理解することが重要なんではないかなと。使いこなすっていうのはそういうことではないですか?
シンプルな思考回路を持つために
もう一つはシンプルな思考回路を持つということです。
プログラミングは人間の感情コミコミな頭のなかに比べればだいぶ単純です。
条件分岐と繰り返し処理を行うことでプログラムが動きます。様々な動きをパターン化して組み立てることも必要です。
こうしたことに慣れておくことで、日常の複雑な物事の中からあるパターンを取り出して効率化したり、例外が起こった時の行動を予め決めておくといったこともできるようになるでしょう。また、ほしい結果がどういうものか、それに対して必要なインプットが何かを整理する脳力も身につきそうです。そうすると、考えが非常に論理的になります。
実際ぼく自身もプログラミングを勉強する前後で考え方がだいぶ変わったことを実感しています。
別に、複雑で混沌とした人間の思考自体を否定するものではありません。それこそが、人間の醍醐味でもあるわけですから。
しかし、論理的であることが求められる場面はたくさんありますので、そうした時に自然に論理的思考ができることが望ましいのかなと思っています。
機械に振り回されない生活を送る
最初のほうで書いたとおり、生活の殆どをコンピュータに依存している今、とかく機械に振り回されがちなのではないでしょうか。
無理やりコンピュータでやろうとしたら手作業でやるよりも時間がかかったという経験を持つ人は結構いるんではないかと思っています。
コンピュータが裏でなにをしているのかを知ることで、コンピュータに任せたほうがいいものと任せないほうがいいものの区別をできるようになればいいですね。なんでもコンピュータに任せればいいものではないことを知るために、プログラムとはなんぞや、ということを知っておくことは大きな手がかりとなるでしょう。
それとは逆に、せっかく PC を使っているのに紙の書類を処理するのと同じようにファイルを処理するのはもったいないことです。
例えば Excel なんかでは同じ作業を繰り返すときにはマクロという便利な機能があります。
それ以外でもあちこちからデータを拾って共通の処理をするといったようなことはプログラムが得意とすること。そういったことを自動化する手段を知ることで時間という貴重なリソースを無駄に消費しないことにもつながります。
まとめ
この先娘たちが生きる世界は今以上にコンピュータに支配されたものになっていくでしょう。そうした中で自分らしく、自分の意志で生きていくためにはコンピュータに振り回されるようなことではだめでしょう。
昔であれば自分が仕事や趣味で使う道具について熟知していればそれで良かったかもしれません。しかし、今となってはコミュニケーションのほとんどをコンピュータ越しに行う状況です。
こんな時代にコンピュータについて無知であることは本当に怖いことだと思います。