新・闘わないプログラマ No.442

たまにはプログラミングなどしてみる


「闘わないプログラマ」などというタイトルを掲げていながら、ここのところ、仕事でもそれ以外でもさっぱり「プログラマ」してなかった私なのですが、内職(=原稿書き)の空き時間ができたので、久しぶりに、家のサーバで動かすプログラムなどをしこしこと作っているところです。
まあ、世間にある汎用的なプログラムを組み合わせてもできるようなもの……簡単に言ってしまえば、ウェブの巡回をして、あれこれデータを取ってきて、それをいろいろと処理して、っていう感じのものです。状況や条件に応じてウェブのアクセスがいろいろ発生するところがややこしいので、「出来合いのプログラムを使うよりは自分で作っちゃえ」ということで作り始めました。
で、問題は言語です。たぶんご存知だと思いますが、私はいまのところCが一番得意なわけですが、この種のプログラムをCで作るのもなあ、とまず思いました。私自身としてはCでの文字列操作は特に苦にはならないとは言え、やっぱり文字列型のないCで文字列操作主体のプログラムを作るのはなんか間違っているよなあ、と。
そんんわけで、今回は、JavaとPerlを組み合わせて作ることにしました。処理の主要部分はJavaで書いて、それをPerlから呼び出すような形態です。いままで、JavaもPerlも多少かじった程度で、いまいちまじめにやったことがなかったので、時間の空いている(はず)のこの時期にちゃんとやっておこうか、ということにしました(←「JavaやPerlなんか、もう百万年くらい前にやっとくべきだろうが」とかいう突っ込みは禁止)。

そんなわけで作り始めて早1ヶ月。まだまともに動いていません。時間があるはずだったのに、結局プログラミングに取れる時間は週末の2〜3時間。慣れないJavaでプログラミングしているので、「○○を××するのはどーするんだ?」ってのを調べるのでかなり時間が取られてしまいますね。この間は、文字列を整数型に変換する(Cでいうatoiみたいな)のを、Javaではどうやるのか一所懸命捜してしまいました。私はてっきりStringクラスにそういう機能のメソッドがあるんじゃないか、とそっちばかり調べていたのですが、あれこれ調べてみたところIntegerクラスのperseIntというクラスメソッド(でいいんでしたっけ?)を使うことがわかりました(←これだけで1時間もかかった)。
いまいち、このJava APIの全貌というか設計思想がわかっていないせいなのかも知れませんが、こんな感じで結構時間が取られてしまいますね。とはいえ、文字列の操作などが、Cに比べて非常にラクなのがいいですね。まあ、文字列操作に関してCと比べちゃいけないのかも知れませんが。

ちなみに、いまのところ開発環境は、vi + javacです。そこはそれ、一応キホンということで。「いまさらviでコード書くのかよ」とかいう突っ込みも禁止しておきます……いいじゃん、別に。今回は趣味でプログラミングしているだけなんだから(←って、誰に反論してるんだ?)。
参考書としては、ちょっと古めの本でなぜか家にあった……確かブックオフで出所の怪しい新古本を安く売っていたのを見かけて、それを買ったのだったと思う「コアJava2 Vol.1 基礎編」と、あとは前橋さんの「Java 謎+落とし穴 徹底解明」をざっと目を通しておきました。この「Java 謎+落とし穴 徹底解明」は、Cプログラマ(=私)にとってJavaとはどんなものかを概観するのに非常に役に立ちました。

まあ、そんな感じでしこしことJava初心者の私がJavaプログラミングなどをやっているわけですが、気づいたら今週末も、もう日曜の夜です。外は真っ暗です。1時間くらいしかコーディングしている時間が取れなそうです。そんなわけなので、今週は短いですがこれで終わりにします。ではまた来週。

[前へ] [次へ]

[Home] [戻る]


mailto:lepton@amy.hi-ho.ne.jp