800x600

 この頃になると、モノクロ液晶画面のノートPCが発売されてきた。

ラップトップPCと言うべきだろうけど。

15インチから17インチの液晶パネルで使うため、ノートPCはその頃から大きさは変わらない。

 

パネルのサイズはそのままだけど、厚さは薄くなり、重さも軽くなった。

ただ、コーディングしてコンパイルするだけであれば、モノクロ液晶のノートPCでもいい。

また、使ってみたい気もする。

グラフィティ(graffiti)

 旧いコンピュータ言語ですが、私自身としては彩り鮮やかな多彩で多色な言語。

(言い過ぎか。モノクロの世界だ。)

世代が違うと旧い言語なので、「落書きそのもの」かもしれません。

 いくつか旧いコンピュータ言語が気になる文章があった。

Modula-2で、LilithコンピュータのOSをシステム記述したそうだ。

Lilithプロジェクトと言ったらしい。

(リリス・・あの白い巨体のことか。)

「Modula-2文法入門 CQ出版社」

 

BCPL言語でOS-6がシステム記述された。

そして、コンパイラ記述用の言語でもある。

(OS-6・・あのMark.6(カヲルとカシウスの槍の機体)のことか。)

 「BCPL言語とそのコンパイラ 共立出版」

BYTE誌の表紙を多用しているのは       Adaは、エヴァそのものに聞こえるし。

「表紙が楽しいから」が理由です。       これを機会に昔のコンピュータ言語を考えてみようと思った。

 

 モノクロの世界のコンピュータ言語をいくつか挙げてみる。

CAFA - COBOL,Algol,Fortran,Ada

あるいは、

BACA - BCPL,Algol,COBOL,Ada

 

 何だか、古典派という感じだ。

分類してみると

C,C++ 印象派

C#,Java ロマン派

Python 新ロマン派

この分け方に根拠はありません。

ユニコーン・ガンダムの時代で、ザクⅡに搭乗するようなものだ。

(おしゃれなスタート・アップ企業をユニコーンと言うのだろうか。)

得意とするMS(モビル・スーツ)・・でなく、コンピュータ言語は知っていて当然の世界。

新しいことは、新シリーズの登場人物にまかせよう。

 ヒラメキ!を感じる表紙絵なので      自分でもジェネレーションギャップどころでなく老外と思う。

 使いました。                    

 

 有名な画家の作品は何かと話題になる。

うまいのかヘタなのか。良いのか悪いのか興味もない。

ただし、これがコンピュータ言語ならば話しはかわる。

とある防潮堤。

「ただの落書きだ。消そう。」

「いや、待て。消すな。触るな。」

「これは、世界中で高名なA氏が書いた直書きのコーディングだ。」

「それも書かれているコンピュータ言語は、ユークリッド(Euclid)かピタゴラスか(うーむ)。」

「消しますよ。」「だから消すな。なぜこの作品の良さがわからないのか。」

 後日、バックアップを取っておけば良かった。

 自分が作成したコーディングの個展でも催すことができたらなあ。昔は思っていた。

GitHubとか出てきてつまらなくなった。回覧レビューの逆で見に来てもらう。

誰も声を発することなく静寂のなか作品を観る。

  

グラフィック特集の表紙です。

マルチスレッド

 そもそもスレッドセーフとかそういうのが、あること自体おかしいと思う。

スレッドでしていることは、切替・切替・排他・排他(でしょう)。

オーバーヘッドのことを含めると、普通にプロセス占有の方が、結果が安定して速いと思う。

自由主義アメリカとは逆で、稟議・稟議・会議・会議

妙な所で、日本の管理主義になっている。

スレッドレスで良いと思う。

タイヤみたいに滑りやすい路面をがっちり掴んでくれる。

(タイヤも季節が変わると交換しないといけない。腰が痛いと言っている人がいた。)

高クロックになって滑りまくっているんじゃないのか。

CPUにスレッドがあってもそういう機能は無視してもいいだろう。

スレッドより他にすることがあるだろう。

(野球ならば、走りまくって(後逸!)滑ってセーフでいいけど)

 

  

モトローラ ミニコンのMPUを踏襲とか、かっこよかったなあ

  スレッドは、100MHzぐらいのCPUならばうまくいく制御なのではないだろうか。

 マルチコア(メニーコア)とかで、小さいのに何でも詰め込みすぎて

 プログラマができることが却ってできなくなったと思う。

 最近(2019年)は見ることがなくなったが、マイクロプロセッサ内蔵のマイクロプログラム。

 CISC vs RISC論争の頃にあった雑誌の記事で見たのが最後だった。

 DECのミニコンとモトローラのマイクロプログラムを解説している書籍はあった。

 68kはマイクロプログラムが良すぎてクロックを上げることができなかったと聞いたことがある。

 現在のマルチコアで高クロックのCPUはマイクロプログラムなんてのはないだろう。

 マイクロプログラムでないとスレッドの制御はできる感じがしない。

 並列処理は夢のように感じる。コンカレントに順番に交互に切り替えるだけでも良しとする、そいうものだろうか。

 スレッドが多くなっても、それだけ回路も複雑になり、プログラマがコーディングできなければ、無用の長物だ。

A・Iは考えない。

 A・Iが話題になってインターネットではいつも何かの記事がある。これだけ耳目にすることも多い中で、A・Iを実装しているコンピュータ言語のことが書かれているのがない。興味がないので専門誌などに目を通していないことを前提として考えてみるとC言語で製作されていると仮定する。

 コンピュータ言語でしていることは、IF文で分けているだけだ。

判別でなく、分別になる。

判って別けているのではない。

IF文でできることは、(条件式A)4<5 (条件式B)9<10などで、コンピュータ言語は、その間にある6,7,8が何かを考えることはしない。人間の頭では、何故(それが)ないのかを考える。

 OSは、番地にある命令を実行するだけだ。

ここで、プログラマA氏は理由が不明でもelse節をコーディングする。

プログラマB氏は理由が不明なので、else節をコーディングしない。

 

 

 実行する結果は異なるだろう。

これだけの小さな積み重ねでも、結果が大きく違ってくる。

りんごを入力すると

 プログラマA氏は、赤りんご

 プログラマB氏は、青りんご

バラを入力すると

 プログラマA氏は、赤いバラ

 プログラマB氏は、あり得ない青いバラ(になるかもしれない)

 

本当は白いバラになるべきものがそうならないのは、アルゴリズムがそうなっているからで

あり得ない結果イコールバグでないと思う。

推論マシンPrologではできるのだろうか(できていたのだろうか)。

 アルゴリズムが、2つ以上あるとC言語ではプログラムできないと思う。

何も考えないコンピュータ言語は意味がないと思う。

 アルゴリズムを実装・コーディングできないプログラマが悪いのでなく、

アルゴリズムそのものを考えないプログラマが悪いのか。

SE・プログラマとあと1つ、アルゴリズムを専門に考える人(職業)が必要になるのか。

入力したデータに対して説明できる。でも、これぐらいだったら技術系のコンサルタントの範疇か。

 

 考えることをしないA・Iは、それはA・Iというのだろうか。

あくまでもC言語のアプリケーションとすればそう考える。

 私のレベルでは、代数とかフーリエ変換などの数式がコンピュータを使って結果を出せる。

それがA・Iでありシンギュラリティの到達と考える。

 数式エディタ

地球観測衛星とかその類の人工衛星は日本だけでもたくさん打ち上げられている。

ミサイルとか小さいのが視えるぐらいならば、津波は空から見ると一目瞭然なのに何をしていたのだろうと思います。見るものが違う。このことが奇怪に感じる。

 機械学習そのものは昔の数学の教科書にある数式なので新しくない。

おうち(自宅・個人)でプログラミングという意味になっている。

たくさんの人に機会を与えたこと、おうちでお勉強のことと思う。

 深層学習は広く浅くでなく、本当に真相を究明することを目的とする。

 

 

 

 

 

   

 

 ドキュメント

CPUの処理能力の向上があるためか。

システム開発の仕事が段々と、文系の仕事になっている感じがする。

ドキュメントの記述と整備に時間を割けるようになった。

開発・コンパイラ・実行までの時間感覚で、何とか動かす狭い思考で閉じていたと思う。

 時間をかけてゆっくりと考えることで広く物事が視えるようになった。

だんだんと文系よりの仕事になってきていると思う。

助動詞、接続詞とかこれくらいならば自分でもわかるが、ちゃんと文章を書くことを意識すれば母国語であっても本当は知らないことが多い。前置詞・後置詞(は日本語はなかったか?)などコンパイラがワーニングエラーをダサない日本語の文章にしないといけない。

 仕様書を書くウェイトが大きくなったと思う。

文系の修士・博士を持っている人たちのほうが適っているのではないだろうかと考える。

 

 

 仕様書を記述して、ダメと言われるイメージ

LISPについて、

LISPについて、少し思うことを書いておこう。

モノリスに書いてあったのは、LISPだったのか。

触ると、頭がかっこマンになるかもしれない。

 

式を内側から評価すること。

内側から外に向かって評価する言語構造。

論理式の評価順序をC言語で応用しました。自然な形で式の記述ができるようになりました。

 

A・I

この表現は、Artificial Intelligenceでなく、Application Intelligenceと思う。

少しかっこよいアプリケーション。

理由は、ずっと昔からあるもので内実は変化がない。変化がないと言い切るほど理解していませんが、ハードウェアの性能向上に依存していると思えるからです。

技術を実現するために処理能力を上げるのは必要なことです。このことは、"人工"の方に意識が向き"知能"でないと考えています。

表紙からは判りにくいが、この号は"1981年09月"で、当時のコンピュータ雑誌に記事が書かれている。(もっとも英語なので、何を書いているのはわかりません)

Pascal言語への想い

 大学でコンピュータサイエンスを勉強して、自分でコンパイラを製作して、会社を興す。GAFAみたいな派手さはないが、オーソドックス[orthodox](正統派)であり、何よりも地面に足がついている。

 そのようなボーランド社だったが、TurboPascalの開発者チームごと(?)、マイクロソフトに移動してC#となる。オブジェクト指向について語るときにModula-2など引っ張りださなくても良い。学習は普通にC#から始めればよい。ただ、少しはPascal言語が元になっていると思うと懐かしくなるだけだ。

技術本について

 昔は、技術誌でないと他に技術を知る術はなかった。

現在は、技術者が登録できるサイトもあり利便性が向上した。

それでも少し思うことがある。CMagazineとbit誌を足して2で割ったような月刊誌が発刊されたらなあと思うことがある。しかし、これは売れない。インターネットで技術情報を探すことができるから必要がないのでなく、技術そのものがなくなりつつあるからだ。

 

技術書の同人誌即売会

 どういう技術があるのか、インターネットの記事よりも直接、知る機会だ。熱気を肌で感じるイベントだ。(人によっては体臭(大衆性?)を感じるそうだ。)

そして、つい購入することになる。3000円ぐらいで考えていたのに7000円になったりすると後悔する。でも、自宅で読み始めるとそのような邪念はすぐ消える。よく書けていると思う。コンピュータ本の”芥川賞”、”直木賞”があればどうなるだろう。論文の査証でなく、本としての評価になる。