プログラミングのススメ
私は、MS-DOSのころからPCは触っていましたが、普通に操作できるというだけで、プログラミング言語なんてのはベーシックすらかじったこともありませんでした。 それでも、掲示板などをカスタマイズするために、CGIの中のHTML部分だけを適当にいじっていたりしたことはあって、Perlで書かれたソースを見て何となくこんなことをしているのかなくらいは想像できるようには自然になっていました。 あるとき社内的に掲示板を発展させたようなシステムがすぐに必要になったのですが、作成を外注しようとしたときに納期3ヶ月と言われてしまいました。 たいしたシステムでもないし、それなら自分で作ったほうが早いじゃんということで、1ヶ月ほど集中してPerlを勉強してみたのたことがあります。 それがやってみると実に面白かったんです。 新幹線や飛行機の移動時間などは昔は本を読んだり音楽を聴いたりして暇を潰していましたが、今はどうでもいいようなプログラムを作って過ごすことのほうが多くなっています。 ノートPCがあれば一番ですが、メモとぺンがあれば出来ますし、極端なことを言えば頭の中だけでも作ることができますから、時と場所を選びません。 この「作る」というのがミソで、プラモデルとか電子部品を組み合わせてラジオとか作るのにハマったことがある人なら、これ絶対ハマりますよ。 Perl言語は非常に簡単で、とりあえず動けばいいというのであれば、本を1冊読むだけですぐに役立つプログラムが作れちゃいます。 もっとも、この「とりあえず動いちゃう」というのが逆に問題になることもあって、知らないうちに他人に大迷惑をかけてしまうこともありますので、そこだけは注意しないといけません。 俗に言うプログラムの暴走とか、メモリーのリークというケースが多いのですが、下手をするとサーバーをハングアップさせてしまいますので、共用のレンタルサーバーなんかだと最悪、契約解除されたりすることもあります。 私の場合、契約解除まではやらかしたことはないのですが、ある巨大サイト内を検索するロボットを作ったときにプログラムが止まらなくなり、あたかもサーバー攻撃のような状態になってしまい、そのサイトからアクセス拒否されてしまったことはあります。 これは、リンクを辿っていって最後のページまで行ったら抜けるという動作で、最後のページにあるはずのキーワードを「見つけたらプログラム終了」という作りにしちゃったんですね。 これは逆にそのページ以外には存在するキーワードが見つかっている間は動作を続ける、つまり最後のページに来てキーワードが「見つからなかったら終了」という作りにしないといけなかったんです。 要するに、ループ(繰り返し作業)である動作が成功したらループを止めるというのでは、失敗しちゃったら無限ループに陥っちゃうわけですから、失敗したら止めるという作りを基本としなければいけないわけです。 こういうのって言われれば当たり前なことで、基本中の基本なんですが、入門書には書いてないんですよね。 とりあえず、自分のサーバー(PC)の中だけなら誰にも迷惑かけませんので、プログラミング始めてみては如何ですか。 by OZW |