お世話になっております。 A.中村です。

On Thu, 27 May 1999 23:48:33 +0900
Kenji Horikoshi <k-horix / s.email.ne.jp> wrote:

> それは分かっているんですが,BlackBoxの中をのぞきたくなるというか.
> で,それを他人にほらほらって見せたいっていうか.(^^;
> # ちょっとアブナイかも.(^^;;;

#あぶなさなら負けません<競ってどうする俺

逆も言えてますね。TaoOfObjectのあの話題の逆で、
従来計算機どっぷりな人にとっては、たとえば
ooな考え方それ自体が、ここでいうBlackBoxと
にたようなものなのでしょう。
なので当然のように俺としては、そーゆー人たちに
ほらほらって見せたくなるわけですよ(^^;

> 自分もすでに,高次でしか作業する気力はありませんが,どこかで
> 低レベルの事を気にしてるっていうか.

いやーどうでしょうねえ。

ただ、高次も低次も相対的って面もありますから、
各々のモジュールは「高次である」とかなんとかとは別に
「問題の次数を少し上げるモノである」と捉えることができます。
高次の奴もそうでない奴も、それぞれが「少し」次数を上げるわけ。
#それをちまたではシゴトと呼ぶ(^^;

「少し」であるかどうか?は、実際にヤルときに問題になりますよね。
「少し」でないと、作るのも大変ですし、使う側から見ても
重宝は不便の権化になってしまって使いまわしが利かないと。

少なくとも、下から上まで一直線に連なってる、というような
「少し」路線でないモノの見方をすると、ハマリやすいように
思います。

MSX basic(^^;のファン(の多く)の発想が俺にとって気に入らないのは
ソコですね。
気楽にプログラムできるといっても、そりゃ問題の対象(計算機)が
小さいだけじゃん、というのを失念すると、つまらないです。
逆にいえば、ooだと、でかい対象を、仮想計算機としてのオブジェクトに
分割することで、個々のオブジェクトなら俺でも面倒見れるべやな状態に
持ち込めるわけで、そういう事がしにくい言語である古典行番号basicは
やっぱり嫌いです。

#ほら、オブジェクト一個づつの要するメモリ(属性およびメソッド)
#なんて、せいぜい数百バイトしかないことなんてザラでしょ。
#だったら無数のポケコン(笑)を接続したようなもんだと
#考えても、なんらおかしくないわけで。


あ。履歴書(^^;

数歳年上のイトコに色々科学クサイものを見せてもらう機会が
本当に幼少の頃から多かった。幼稚園児が見よう見まねで
食塩水を電気分解する(勿論塩素出ます。危険(笑))なんてねえ…。
無論、それがナニなのかは理解できてませんでしたが、
なにかよぉわからんなにかを掴みはしたんでしょう。

中学冒頭に稚内市のマイコンクラブ。
ここでも理解は出来ませんでしたが。
機種はよく知りませんがTK80とかいうんでしょうか。
勿論自分のもんじゃないです。

中学途中で転校して、なんかワケワカな面白い奴に会う。
お陰で、モノを作ることは楽しい!と知った。
授業でイヤイヤ書く作文が、積極的に遊ぶ作文に、なった。

高校で科学と論理(今にして思えば)に聡い友人に出会う。
お陰で、論理的に考えるってこと「を」知った。
ちなみにそいつとは未だに付き合い続いてる(笑)

大学でポケコン(笑)。ちなみにSharpPC1480という機種名で
俺の年齢は確定しますね(笑)。
さすがにもう「理解できない」ことはなかった。
最初の頃から抽象化とかは意識してたなあ。
ほんの10行くらいのコードでもマジックナンバーを排する
ように書いて、「なんでそんな面倒を?」と尋ねられたら
「宗教的理由です」と答えていました(笑)。
マジックナンバーって言葉も知りませんでしたけど。

basicは一番長いソースで5kbyteくらい書いて、挫折しましたね。
それ以上は、「覚えて」いられないタチなもので。
無論ダンプ打ち込みなんて出来やしない。

Cとゆーのが有るのを知って、その頃入手したMSXで(笑)
やってみる。なんて楽なんだ!と驚嘆。
もちろんK&R2(あのころ出たばかりだったよね)も読む。
言語の定義をおろそかにしたらハマルのは見えてたから。
で、MSXのCってANSIじゃないし標準ライブラリも欠けてるんで
「これは標準じゃない処理系なんだ」と常時意識しながら
使ってました。環境依存という概念を覚えるきっかけ。

でも暫く使ってて、ルーチンはいいけどデータは
どうしようもねーなと困った。
static変数を関数の「中」に作ったら、その関数を呼ばない限り
変数にアクセスする手段がなくなってしまうし、かといって
グローバル変数は外から見えまくりなんでウンザリしてたし。
勿論それを悩んだのは、「関数の実行単位より長く生存する変数」を
作りたいからであって。スコープと寿命の違いを覚えたのはこの辺。

CQ出版の怪しげなoo解説ムックを見つけて読む。
一番目についたのは「oop言語の自作」記事だったかな(^^;
なにせMSXなんで既存処理系なんて望めないし。
言語はさすがに作れなかったけどm(__)m、構造体を
使いまくるっていう逃げ技は覚えた。でもMSXCって
関数名が6文字だから(笑)、構造体型名_アクション()
なんていう名前が付けられないんで挫折。

まだ続くけど…いいかげんにせーって。