2003年10月29日 水曜日

ハリー・ポッターと賢者の石(携帯版)

前から読もうと思っていてハードカバー版を買うのが筋のような気がするが、今日本屋に行ったら携帯版なる文庫よりもちょっと大きなサイズで出版されたものが発売されていたので購入してみた。まぁ単純に我が家の書棚にはハードカバーの本をしまう場所がもう存在しないのであるが…
ぱらぱら眺めてみた感じでは、ハードカバー版より読みやすいように思うのだが、読後の感想は忙しいのでいつになることか。2巻目もこのサイズでとなると、そのまま原書ですか。

2003年10月28日 火曜日

今日は送別会

今日は一昨年から一緒に仕事をしてきた方の送別会でした。本社のWebページの先輩の言葉というところで、「インターナショナルに活躍したい」といっていたのが印象的なので、来週からは東京で、いや上海で頑張ってください。なかなか楽しい飲み会でした。

2003年10月27日 月曜日

.NETの呼び声

最近、VBAでのプログラムにほとほと嫌気がさしてきたのであるが、お仕事関係ではMicrosoft WindowsというかMicrosoft Officeの呪縛を逃れることは出来ない。それ故プログラム環境としてVisual Basic for Application(VBA)を使うことになるのであるが、不満は多いので使っていてなんだかだめだめだなぁと思うことを列挙してみよう。

  • _必ずExcelやWord文書の付録_みたいなものになる。文書を開くときに何となく厭な気分になる。(回避法はあるけれど。)
  • 当然コードの_履歴管理をするのが大変_。(何が楽しくてVisual Source Safeを使わねばならないのか。頼むからCVSSubversionを使わせてくださいな。)
  • 正規表現が使えない。(がーん。 かなり不便。)
  • 正規表現を差し引いてもテキスト処理がいまいち。(変形CVSなテキストを読むのがもう大変。)
  • しょっちゅう関数の名前がだぶる。(名前空間をサポートしてくださいよ。僕のボキャブラリが寂しいだけ?)
  • 使えるデータ型が_恐ろしいくらい貧弱_。(未だに基本な型と構造体と配列くらいしかなく、ハッシュやリストのような現代的な言語でサポートされているデータ型は_当然ない_。)
  • クラスは作れるが、継承は出来ない。(勘違いしている人は多いけれど継承はOOPの必須事項ではない。)
  • スレッドって何だっけ?
    という具合で、結構痛いところが満載なのである。そこまで使い込んでいるんだったらVisual Source Safeというか、OfficeのDeveloper Editionを買えばいいじゃんと言う意見もあろうが、僕はお仕事のためにわざわざOffice Developer版を買うほど酔狂な人間ではありません。 ちなみに家のPCにはOfficeをインストールしてません。家に帰って_Excelのアイコンを見るのも厭です_。ということで、会社で買ってくれないものを使う気にはならんのです。
    かといって、Windows Scriptの上で動く現代的なスクリプト言語であるActivePerlActiveRubyは、_デフォルトでインストールされない_ということもあって、プログラムを使ってもらうという前提の開発では、管理が発生するためにメインの言語として選べない。(ExcelはどのPCでもバージョンは同じであることを前提に出来るが、PerlやRubyのバージョンなどの管理は職場で誰がするの?)
    ひょっとしたらVBA自身は、Office2003でVB.netのような言語の現代化が行われるのではないかと多少期待したのだけど、VBA自身はVBA 6.3から6.4にアップデートで余り変化はないみたい。(がっかり。 まぁ無論会社ではOffice2000までしか使ったら駄目ということになっているので、Office2003は使えないのだが。)
    という状況で、なんだか良い解法は無いなぁと思っていたのだが、先日のTCP/IP勉強会で、PostgreSQL方面の高橋さんより、「そういう話なら、.NETが良いよ。」という話を聞いたので、早速試すことにした。
    よく.NETのページを眺めていると、.NET Framework SDKには、コマンドライン版のC++とC#とVBのコンパイラが付属してくるのね! てっきり、C#やVB.netで遊ぶにはVisual Studio .NETを買わねばならないのかと思っていたのであるが、僕が組むプログラムの規模ではVisual Studioには手を出さなくてよさそう。
    ダウンロード・インストールをしている間にWebをさまよえば、_フリーの統合環境は転がっている_もので、Javaの開発環境から進化して、C++やC#やPerlやRubyやXMLなどの編集が行えるJavaで書かれているEclipse(エクリプス)や、C#の開発環境に特化しつつVBの開発環境にも使えそうなC#で書かれているSharpDevelop(SharpDevelop-JP)といったオープンソースな環境が出回っているので、なんだか簡便な開発環境が整いそうである。
    今日はつらつら.NETのドキュメントとC#やVBのサンプルソースを眺めているわけだが、眺めているだけでも上記の問題は解決しそうである。例えば順に並べるとこんな感じ。
  • ソースコードは_ただのテキストファイルになる_(当然)
  • 当然コードの管理にCVSSubversionを使える。
  • Microsoft .NET Framework ではPerl5のような正規表現がサポートされている。
  • テキスト処理はようわからんが、コンソールアプリを書けるからたぶん大丈夫でしょう。(調査中)
  • 名前空間をサポートしている。(僕のボキャブラリが寂しくても_安心だ_。)
  • コレクションクラスが_充実している_。(ハッシュもリストも_当然ありますよ_。)
  • VBでも継承ができるようになった。(VB7からは継承が出来るようになりました。)
  • スレッドを考慮したプログラムも当然書ける。
    という具合。ガベージコレクションもしてくれるのですか。メモリ管理関係も結構楽になるのかしら… しばらく眺めて勉強してみることにするが、MSと仲良く付き合うには、_過度の期待はしない_ことと_仕様はどうせすぐに変わるもの_と思って、_適当に勉強すること_と言うのが重用である。どうせ勉強しても長く持たないバッドノウハウだらけになるに決まっているのだから。
    今日の日記はリンクをいっぱい付けてみた。疲れたなぁ。

2003年10月26日 日曜日

なんだか風邪気味

なんだか風邪気味なので、仕事をしていても何となく喉が痛い。今日は定時に上がって、明日以降のために早く寝ることにした。今週と来週は山なので、何とか乗り切りたい。

2003年10月25日 土曜日

上野 宣 / ネットワーク初心者のためのTCP/IP入門

表紙がちょっとアレゲだけども、中身はしっかりと書かれているTCP/IPの入門書である。東北Linuxユーザー連合会(TLUC)の「TCP/IP勉強会」の指定教科書になっているので買ってみました。なかなか本屋で見かけなくて今日も3件回ってしまった。仙台の本屋さんもなかなか品揃えが悪くて使い物にならないなぁと思う今日この頃である。
内容はTCP/IPの階層構造でネットワーク層(IP/ICMP/IGMP/ARP)、トランスポート層(TCP/UDP)、アプリケーション層(各種プロトコル)の順に概要をわかりやすく説明していると思う。このあとにリンク層とIPv6の説明が続くので、一通りの理解をするにはこの本を読めば十分ではないかと思う。TCP/IPを理解していないネットワーク管理をこれからやる人は読んでおくべき、勧められる本の一冊だと思う。
この本を読みつつ、telnetを使いこなして各種プロトコルの振る舞いを学んで、簡単なPerl/Rubyスクリプトでサーバとかクライアントを書くことで理解が深まるものと思う。ちょっと昔までは内容がいい感じにすっ飛んでいたが、「インターネットを256倍使う本」が良い線だったのだが、いかんせん古くなってしまった巻はあるなぁ。誰か似たような本書かないかなぁ。(僕が書けと言われるかも知れない。)