C++

2002年07月18日 木曜日

今日は所要のため札幌へ行く

今日は所要(戸籍謄本(うちの本籍地は札幌市)の取り寄せと父の車の処分の準備)のため、札幌に行った。札幌によく行っていたのはもう10年くらい前だけれども、あまりの変わりようにびっくりである。札幌ドームが出来たせいか、月寒あたりがすっかりでかい町並みになっていて、一体全体どうしたものかと思ってしまった。

バグを出さない?

北海道に戻ってくる時に暇つぶしに購入した 「日経ソフトウェア 2002年8月号」を時間が出来たのでつらつら読んでいるのだが、あまりにもつまらん。仙台空港で売っていた開発系の雑誌ってこれしかなかったので仕方なく買ったのだが、やっぱダメだ。僕の性に合わない。
特集は「バグを出さないプログラミング手法」と言う事なのだが、なんか違うような気がする。バグってなんですか?と言う問いをちゃんとしておかないと、禅問答のような物になってしまうのではないか?
僕は、バグって言うのは仕様と実装のずれと言う認識を持っているのだが、こう言うのは人間が考えて作っていくものだから良くあるものとして捕らえて、自分が書いたソースを見て、ひたすら可読性をあげるとか、再利用性をあげるとか、可搬性を高めるとかいった努力と副作用のない仕様をきちんと書く(考える)能力が必要なんでないのと思ったりしたわけだ。だから、「バグを出さない設計」ではなくて、「バグを直し易い設計」をどうするかと考え直すべきではないかと思うわけだ。あまいですかね。
Extreme Programming(XP)で言うところのRefactoring(プログラムの外部仕様を変更せずに、内部構造を安全に変更する事(でいいのかな))に関しては、方法論としては面白いと思うし、よくやる事なので体系的に勉強してみていいかもと思ったわけだけども、この手の雑誌で斜め読みじゃ駄目だな。ちゃんとXP関連の本を読みたいのう。
それにしても、Windows系の開発関連の記事でよく見かける「ハンガリー記法」(例えばint型の変数名には接頭辞iを付けるとか言う奴)なんですが、使っているものなのか? こんな物を使わなくても可読性の高いコードを掛けるような気がするのは僕だけなのかな? 誰か教えて! あとC++のSTLを使っている場合って、doubleのArray型とかが書けるんですが、この場合の接頭辞ってどう付けるのさ? と言う事で簡潔な物で良いんじゃないと思ったりしたわけだ。

2002年05月21日 火曜日

なぜに今更Pascal

某MLで、「教えて君」再登場な訳であるが、なぜ故執拗にGNU Pascalを使いたいんだろうか。Delphiとかじゃだめなんかい。Windowsを使っている時点で、狂信的GNU信者じゃなかろうしね。僕には彼が理解できない。と言うか、そもそも今のご時世にDelphiみたいな妙な環境以外でPascalを使うという事自体も理解できない。あらかたずっと教育内容を変えていない大学の先生あたりの策謀のような気がするけど、今時、教えるプログラミング言語はC(C++)もしくはJava(こういう言語って関数型言語にたいしてなんて言うんだっけか?)、適当なシェルってところじゃないの? あとピリリと引き締めるために、関数型言語の雄LISPかSchemeを教えると言うところはあると思う。でも、今更Pascalはないだろうに。大学の先生に言いたい、**もっとちゃんと仕事をしなさい。毎年レジメの使い回しはいけません。**と、最初の1年分の給料しか払う価値がないですよ。まったく。
ということで、目処を立てるところまで調べて、あとは放置。(絶対gpcをコンパイルできないよなぁ。)

2002年04月29日 月曜日

Java World 2002.06

JDK 1.4が付属すると言うことで購入した。JDK1.4のレビューも掲載されていたのでこれはよいと思って買ったのであるが、JDKの今回のリリースの見所はXML関係のライブラリ充実(JXAPの追加)と言うところか。JAXPをダウンロードせねばなぁと思っていただけに結構嬉しい。あと最近の興味で遊べそうなのはImage I/O APIでしょうか。
C++のtemplateに相当するJava Genericsの搭載はJDK 1.5に延びたらしいので、まだまだキャストの呪縛からは逃れられないのは残念。僕はC++が大好きな人ではなくなったけど、膨大なC++の余計な(笑)機能のうち、templateは珍しく評価している機能なだけに、Javaにまだ存在していないのは痛い。もっともtemplateを評価しているのはSTLの存在によるところが大きいのであるが。評価Java Genericsを使用したSTLみたいなライブラリが登場すると、非常に魅力なのだけどねぇ。

2002年04月25日 木曜日

Linux Japan 休刊?

Slashdot-jpの記事から。正式な発表を見いだしていないが、おそらく休刊であろう。休刊になりそうな理由はいくつも思いつくが、最近雑誌を買おうと思わないうえ、Linux Japanに魅力的な記事や連載がないと言う時点ですでに購入の対象から外れている。創刊された時期を覚えているだけに残念であるが、時代の流れのような気がする。
最近思うのであるが、PC系の雑誌、特に開発者向けな雑誌は資料的価値があるので、記事の電子データをすべて添付して欲しいと思うのは僕だけであろうか。雑誌を物理的に保管するスペースがない上、紙媒体だと検索性がないため、文書としての利用価値がどうしてもないのです。内容は玉石混合で、内容の新旧はあるけれどまだWebの方がマシ。どうにかして欲しいと思うけど、やっぱり無理なのかしらねぇ。

2002年03月12日 火曜日

オーム社 / Ruby Gem Box

Ruby256本の著者らによる本。最初ぱらぱらめくったときはRWikiとdrbが気になって購入してみたわけだが、読んでみると意外にBigFloat(可変長浮動小数点数ライブラリで良いのかな)の解説がなかなか楽しい。昔数値計算をしていた名残であるが、可変長の浮動小数点ライブラリはCで使ってみたりしたが、足し算や引き算と言った演算子を使って行うような計算をすべて関数呼び出しでやるという弊害があった。僕が学生の時にはC++の完成度は今のようではなかったし、JavaについてはAlpha版であったから、クラスライブラリを書いて演算子関数を使って多重定義なんてことはできなかった。Rubyのようなお手軽言語でこのような計算ができるようになったことは非常に有益であろう。むろんパフォーマンスを求めるならば、C++やJavaなどでやるべきであろうが、アイディアをそのまま計算するにはもってこいだ。
他にはGtk/RubyやSDLの解説もあっておもしろそうであるが、いかんせんそこまで話について行けてない。そのうち読みそうであるが…