こちらの記事でコンピュータのハードウェア中心に触れてきました。進化の一端が伺えます。
今回はコンピュータ言語を遡ってみて、その時代の流行言語に触れてみます。
初めて携わったのはミニコンピュータを使ったロボットの制御です。
![](https://stat.ameba.jp/user_images/20240414/06/black-catch/66/41/j/o0576026815425543386.jpg?caw=800)
![](https://stat.ameba.jp/user_images/20240414/06/black-catch/1a/95/j/o0440058715425543387.jpg?caw=800)
使用言語は、ロボットの軌道計算に向いた FORTRAN Ⅳ とインタフェース経由で機械を制御するアセンブリ言語です。
学校で習った制御理論や、物理の位置・速度・加速度・距離の公式がふんだんに出てきていた。
防塵対策された専用の部屋が必要で持ち運びできる代物ではなかったが、基盤にOSが組み込まれた製品が発売されると総取換えした。
趣味では、富士通の FM7 と周辺機器、BASICやアセンブラ(アセンブリ言語を機械語に変換プログラム)を購入して遊んでいた。
マイクロプロセッサー全盛となるとボードコンピュータでロボットを制御することになっていく。
![](https://stat.ameba.jp/user_images/20240414/07/black-catch/2c/d4/j/o0600045015425555299.jpg?caw=800)
上記はイン・サーキット・エミュレータと呼ばれる装置で、特定のマイコンを代替し、ブレークポイントの設定やステップ実行ができる一種のデバグ装置です。
消去可能な EEPROM にプログラムを格納し、紫外線を照射すれば消すことができた。
使用言語は C言語とアセンブリ言語です。
![](https://stat.ameba.jp/user_images/20240414/07/black-catch/69/ed/p/o1080094115425555304.png?caw=800)
構造化された言語体系や、同じ処理(ルーチン)をサブルーチンとして記述(FORTRANでも可)する以外に、値を返すファンクション(関数)が使えて便利だった。
低級言語と呼ばれ、軽いが高度な事はコーディング量を増やさないと記述できない。
ロボットにカメラを取りつけて視覚センサーとする場合は、軽さ故に高速に処理速度できる利点もあった。
![](https://stat.ameba.jp/user_images/20240414/08/black-catch/e3/71/p/o1000080015425563868.png?caw=800)
画像処理と認識技術を活かせる職場に異動してからは、人工知能の一種であるエキスパートシステムの開発に従事した。
そこで触れたのが、LISP 言語と OPS5 です。
コンピュータ言語でメモリ記憶を表現するために、配列や構造体などが使われます。これらはあらかじめ容量を定義しなくてはならない。
人工知能の場合は動的に可変する必要があり、リストと呼ばれる記憶方法がある。LISPはリストプロセッサの略でリストを扱うために開発された。
![](https://stat.ameba.jp/user_images/20240414/08/black-catch/ac/83/p/o1024076815425572683.png?caw=800)
万能の LISP だが唯一欠点があった。メモリを動的に確保と開放を繰返すと、メモリが虫食い状態になり処理速度が低下する。
ハードディスクのデフラグ同様に、定期的にガベージコレクション(ゴミ掃除)がプログラム実行中に行われ、処理が中断してしまう。
![](https://stat.ameba.jp/user_images/20240414/08/black-catch/dd/b5/j/o0800095615425578283.jpg?caw=800)
装置にボードコンピュータを組み込んで機器を制御するには、リアルタイム性や計算式、入出力や通信制御、時間概念の導入が不可欠となります。
![](https://stat.ameba.jp/user_images/20240414/09/black-catch/a2/8c/j/o0480036015425585704.jpg?caw=800)
OPS5 を C言語風に読みやすく上記機能を含んだ新しい言語を開発することになった。記述は全てC言語とし、ガベージコレクションが発生しない工夫も必要だった。
設計した言語とそのコンパイラ、デバッガと、生成したコードで動く推論エンジンは自身の最高傑作であった。
転職しても組み込みソフト開発に従事していたが、パソコンユーザ向けにグラフィック・ユーザ・インタフェースが要望された。