知人の研究者がクラウド系のアプリ開発のプロセスを大きく変える研究をしていて、知り合いのソフト会社でディスカッション。 たまたま、話の流れから、昨年解散したルート(株)は、もともとソフト屋だったんだよって告ったら、相手が目点になってしまった。 でっ、それをTwitterでつぶやいたら、結構古いおつきあいの皆様も、????な反応。 そもそも、Root,Inc. は、"Real Object Oriented Technologies"で、名刺とかにもちゃんと書いてあるのに、皆スルーしてたのね...ショボン
というわけで、ちと悔しいので、ソフトな話題を書いてみる。 ちょうど、数ヶ月くらい前に、「ぐへへお姉ちゃんパンツ何色」から始めるクラス解説なんていうのが話題になったけど、この辺りの話は、僕がコードを書いていた20年くらい前と何も変っていない。
僕が最初にコードを書いたのは、高校の電子実験演習で、テレタイプ社のKSR-33(ペンギン)で、フォートランを書いて、穿孔テープをHITAC10-2に読ませて実行なんていうやつだった。 もっとも、当時はソフトに全く興味がなくて、リニアアンプばかり作っていた。 その後、大学では周りの仲間が、TK-80とかでアッセンブラをカリカリやっている横で、テクトロのグラフィック端末で、テクトロBASICなんていうのを使って卒研をしていた。 その後、仕事で組み込みソフトを書くようになって、CPM-80とかMPMとかの上で6809や8080,Z80のマクロアッセンブラを使ったり、頼まれ仕事でIBM5550でベーシックで資金繰り表作成ソフトなんてのを書いたりしてた。 当時、会社にいた東工大の数理出の御曹司から「プログラミング書法」や{プログラミグ作法」等をいただいて、これを読んだのがプロミング言語に対して、なんと無く拘りを持ち始めた切っ掛けだった。 その後、転職して営業職種にいた2年間は、業務改善のためにアシュトンテイトのRDBとかで、業務管理ソフトを、電車のなかで液晶が三行しかないEPSONのワードバンクノートでコードを書いたりしてた。 (もちろん、会社に戻ってからPCにソーステキストを送って処理)
この後、ルートの前進であるデザインハウスで、本格的にソフト開発を本業にして、民生家電やトランシーバー、ゲームウオッチ、自転車用のスピードメーターなどの組み込み系ファームを書いてた。 このころ、丁度Cで書いてROM化なんていうのが流行りだして、LSI-C80なんていう国産のコンパイラーにお世話になったり、AT&TのCコンパイラーベースの各社マイコン用コンパイラーのバグと戦ったりしてた。
こういう時代にも、ソフトウェア考現学みたいなのは、けっこう議論が盛んで、ちょうどC++とかAtomとかLISPとかの処理系のパッケージもいろいろ出始めて、オブジェクト指向が少しずつ認識されてきた。 しかし、残念ながらオブジェクト指向を、特定の処理言語とバインディングして捉える人も多く、オブジェクト指向そのものに向き合うというか理解は、あまり普及しなかった気がする。
僕は、当時、某社の8bitとかのワンチップマイコンとかでも、構造化アッセンブラーなどというプリブロセスをする処理系があって、そういうのを拡張して、自分で組み込み4/8biかマイコンでも、オブジェクト指向ライクなコードを書いたりしてた。 中には、全部割り込みのイベントドラリブンだけで、関数(メッソド)を呼び出す構造にして、メインループで何もしない構造のファームをセットトップボックス用に書いたりなんていう遊びもしていた。
そんなわけで、ルートという会社名は、仕事の本質というオプジェクトについては、細かい手続きや処理、実装なども含めて、全部お任せくださいな、お客様はメッセージだけいただければ、あとは私どもでというビジネススタイルを目指して名付けたのだ。
当然、ちゃんと仕事の上でのコンストラクタもデスコンストラクタも用意しますので、問題定義や要件定義から、お仕事の後始末までキッチリですぜというわけだ。
だから、昨年の九月末でRoot,Incを解散するにあたり、ちゃんとRoot,Inc オブジェクトに対しては、デスコンストラクタが綺麗に働いて、立つ鳥後を濁さずなわけだ。 と言いたいのだが、実は会社を作った時に、そんなものは実装してませんでした。 だから、いまはヌルポもらって、暫く迷走中なので、みなさん何があっても寛大にね。