« ご来光(1/20) | トップページ | 今週のマラソン(館山2013/1/27) »

プログラマー

12月の初め、タイに行く途中で若い友人から不幸のメールを受けとった。ちょっとしたプログラムを書いて欲しいと。彼は、私が30年前にPCを触ったことがある、ということを覚えていた。当時はソフトなどと言う代物は無かった。PCに仕事をさせたい場合は、自分でプログラムを書くしか無かった。

 あるデーターを、仕分けして欲しいというもの。分類基準が決まっていれば、10〜20行の小さなプログラムで済む。簡単に引き受けた。実際にもらったデーターは120万件で、分類基準も3万種類。当然エクセルでは無理。だから頼んで来たわけ。単純な分類だし。
 とりあえず作って、動かしてみた。2.5GhzのPCでも、一種類を選び出すのに、1時間以上かかる。これは何かの工夫が必要だ。
 しかも与えられた分類基準の書式が統一されていない。先ずは、それを整理しながら読み込むプログラムを、ここで200行費やした。
 一方で、読み込むデーターは世界中から、しかも江戸時代からの物が含まれる。これも整理しながら読み込む。分類にはちょっと知恵を働かせた。この部分で100行。
 動かしてみると、全作業20分ほどで全データーの処理が完了する、我ながら気持ちの良いプログラムが仕上がった。これが年末。

 一件落着だが、それが出来るなら、3万個に分類されたデーターの各々がどの県に分布しているのかの表を作ってもらいたいと欲を言って来た。
 ここで、ファイルの合体とかの操作が必要になるのだが、DOS時代のコマンドを使うと一括処理出来る。これもWindows以前は常識の技だった。彼は、このコマンドの使い方を当然知らない。そこで、コマンドを書き出すプログラムも作った。

 データーには県名も記されているはずだった。が、8万件は、江戸時代の物で、IdzuとかHigoとか書かれている。Idzuの国って伊豆諸島も含まれる?ということで町名まで調べて、県名を割り出す機能を加えた。

 1時間のプログラム作成の予定が、年末年始の10日間ほどをほぼ全部を潰して、一カ月ほどかかってしまった。データーの処理よりも、元データーの揺らぎを吸収するのが難物でした。

 私の使えるプログラムはBASICという代物。もうこんな物は売っていない。手持ちのものはWindows95対応と書かれていて、20年近く前の物。ふしぎな物で、WindowsXPよりもWindows7の方が問題なく動く。出来上がったプログラムは単独で動作し、Windows7で問題なく動く。こんな便利な物を売っていない、というのも不思議な話だが。
 われながら、まさに老人パワーが役に立ったと自賛しています。


|

« ご来光(1/20) | トップページ | 今週のマラソン(館山2013/1/27) »

コメント

【いいね、何時でも通用する技術を持ってるとは】

僕が最初に取り組んだのは「アセンブラー」という機械語です
メモリは16kバイトの磁気コアマシンです、デスプレイなどはなく
最初のブート作業は4x4のボタンを押して2進数で押して起動するものでした

(こんな技術知識は全く不要かえって知ってると次の理解の妨げになるのです)

大容量データを簡単に扱える人は凄いと思います

投稿: しいたけ | 2013年1月25日 (金) 08時02分

しいたけさん。最初にPC(8ビット)を買って、図書館に行き、優しいパソコンの使い方という本を借りました。機械語の書き方の本でした。全く解りませんでした。しいたけさんは凄い。
BASICは20年ほど前に既に死語になってしまったようですが、まだ十分つかえます。が中々使う場面がないですね。巨大な量のデーターを取り扱うのには、プログラムを書くのが手っ取り早いのですけどね。

投稿: 城ヶ崎-見習い2号 | 2013年1月25日 (金) 21時44分

コメントを書く



(ウェブ上には掲載しません)




« ご来光(1/20) | トップページ | 今週のマラソン(館山2013/1/27) »