一昨日、学生が2名、部屋を訪れてきてこういいました。「先生、Prologってわかります?ちょっと課題教えて欲しいんですけど」。答えに3秒くらい迷ったが「やったことないなぁ〜」と答えました。とかく先生という職業をやっているせいか「わからない」ということが言えなくなっている自分に気づいたりするわけです(苦笑)
コンピュータに関する仕事は、お仕事全体から見れば小さな存在なんですが、それでも一人で勉強するにはあまりにも広い世界。。。です。コンパイラ、オペレーティングシステム、ネットワーク、セキュリティ、ソフトウェア設計方法、数学。。。まだまだまだ。深さ方向に対しては、あるところで限界がありますが、ちょっと横を見渡せば、勉強しても勉強しても追いつかない世界が延々と広がっています。勉強すればするほど「わかっていない世界が大きくなっていく」と感じるのはどういうこと?って思ったりするわけです。もう少し肯定的に書けば自分の理解が曖昧であることに気づき「知りたいと思うことが増える」わけです。
そんなソフトウェア業界でも、Webの世界は本当に進化(というより新陳代謝)が激しい業界のようです。2,3年前に発行されたWebサービスの書籍などは、そのサービスがリニューアルして使えなかったりします。私も実際に経験がありますが、その書籍を買って、自分で独学しようにも、その環境が既に使えない状況になっていることが多々あるのです。
昨夜、ちょっと思いついてPythonでGoogle Search APIを利用するアプリケーションを作っていたのですが、ハマリマシタ。夜中の3時くらいまでウンウンうなりながらやっていました。何度やっても認証エラーが出るのです。
結局、Google CodeのFAQにあった以下の文章で原因がわかりました。まさに、灯台もと暗しです。
Q. Can I use the AJAX Search API in my non-Web application?
A. No. The Google AJAX Search API is currently available only for websites.
ある書籍ではうまく動作していたのでうまくいくだろうと思い、そのコードを参考に作っていたのですが。色々調べてみると昨年の12月にGoogle Search APIのサービスが変わったようなのです。Googleで検索すると、古い実現方法が掲載されたフログがたくさんヒットし、どれが生きた情報なのか探すのに苦労しました。
手が空いたらProlog勉強してみたいなぁ〜(笑)。時間がないよなぁ。Pythonもちゃんと勉強してみたいし。Haskellもやってみたいし。。。。
誰か忘れましたが有名な方のブログに「毎年新しい言語を身につける」という文句がありました。1年かけて(使い倒して)身につけるくらいの余裕があってもいいのかも知れませんね。新しいプログラミング言語を習得するための15の方法なんかを参考にしならが。
Codezineの Rubyで作るProlog処理系 あたりをやってみると色々わかるかも知れません。やりたいことがたくさんあって体がいくつあっても足りません。。。