プログラムを書くときに、どうやって処理しようかと考えます。
正解は一つではないし、簡単な方法もあれば、考えすぎて難しくしてしまうこともありえます。
書き方によって、いろんなことに応用がきくこともあれば、応用がきかないこともあります。
これがクイズみたいで私は面白くてしょうがないのです。
で、さらにうれしいことは、無駄のない美しいプログラムを書かなくても、ほしい処理を手に入れることができるところです。
プログラムの場合、上級プログラマーが書くような短くて美しいプログラムであっても、初心者のプログラマーが書いたプログラムよりも処理結果が優れているわけではない、というのがいいところだと思います。
私たちにも同じ結果を得られるプログラムはかけます。
私たちのようなプログラミング学習者は、泥臭く、一歩一歩無駄もあるかもしれないけど、抜けがないように考えればいいと思っています。
そこが、マクロの面白いところなんですね。
先日、中学時代の友人と飲んでいたときに、プログラミングの話になりました。
彼は、中学校時代からプログラムを作っており、現在は名古屋でITの会社を経営しています。
筋金入りのプログラマー。ウェブデザイナーでもあり、なんでもやっている人です。
で、彼も言っていたんですが、「プロのプログラマーは、同じ処理をすごく短いプログラムとして表現することができるよ。」と。そして、もう一つ付け加えたことが重要です。
「ただ、初心者のプログラマーが書いた長いプログラムであっても、処理速度は大して変わらない。」なんです。
私は、これがうれしさと思ってプログラミングしています。
今のパソコンって、性能が抜群にいいんです。
なので、ワードで検索や置換をするような簡単なプログラムであれば、処理時間なんて一瞬です。
私が書いたプログラムでも、パソコンの性能のおかげで、一瞬で処理してくれます。
だからこそ、間違いがないステップをひとつひとつ踏んでいけば、プログラムとしては上出来なんですね。
で、そのステップは、実際にプログラムを動かして確認すればできます。
事前にどれだけのケースを想定できるかは、プログラムを実際に動かしながら失敗しないとわかりませんね。あとは、想像力。
そういうプログラムを一緒に目指しましょう。(一緒に試運転してください)
あと、わかりやすくて、無駄のない考え方やコードを知っている方がいたら、その都度、ご指摘ください。みんなの学びのために。
コメント
-
2. Re:無題
>yumihenさん
勇気でましたか。これ、自分のプログラムの回りくどさのいいわけも少しあって書いたんですが、ありがとうございます。
私は、よく、かつて作った自分のマクロをブラッシュアップします。
最初のころのマクロってやたら書き方がまわりくどいものです。
でも、それでも動くんですよね。
今なら、見た目はつくろうことができるんですが、考え方自体は全く進歩しないというか、すでにその時点で完成していたというか。
結局、化粧直ししたものの、処理速度があがるわけでもないし、結局自己満足でおわる、ってことありますよ(笑)。
自分のために作るものですからねぇ。ひとまずは動けばいいと思います。
そうやってうれしさを蓄積していくと、プログラミングが楽しくなります。
ミスがあったら、そのときに直せばいいし。
最初から完璧を目指したくなりますが、そうするとなかなか先に進めなくなっちゃいますよね。