日記

下糸の不在

下糸の不在

あなたの目には,文字列が映し出されています。

それは計算機が弾き出した一つの大きな整数を解釈した結果であり,こうして物理的な存在として認知されることで,私の声は説得力を持ちます。


それでは,この物理的な存在のみを認識している者が,発信する立場にもなれるのでしょうか。

このような物は,例えば Paint や Word,抽象度の高い物を許容するならば Access や Photoshop など,古くから WYSIWYG として知られてきました。これは,見えている解釈した結果のみを認知して計算機を扱うことであり,表面しか見えない不透明な機械による挙動です。 最近ではこの一部に「ノーコード」という愛称も付いているようですので,ここからはそう呼びますね。

ノーコードにより,各ソフトウェアが提供しうる機能は理論上は民主化されていると言えます。 素朴には設定ファイルを伴うソフトウェアと,そのグラフィカルエディタの組ですから。 では,それらを以て計算機の上に本来存在すると見做されていた概念たちを表現できたと信じられる情報技術者が,どの程度居ますでしょうか。 私には現時点では信じきれません。

何故ならば,機能が抽象化されていても,設計段階は全く民主化されていないからです。 本来,プログラムは得てして階層構造を持ちます。 しかし,認識に直接触れる場所に不透明な機械が存在する限り,一つの煩雑な契約に基づいて動く原子以上の存在にはなりません。 もしここを意図的に透明に出来る余地があれば,設計を認知に取り入れる操作を段階的に行えます。


設計というものは,抽象化と表裏一体です。 この抽象化という営みは,ユースケースに対して帰納的に行われ,あるいは人工的に基盤を築くことで為されます。 今回は物理的な物を認知の端緒とするアプローチを取っていますから,前者が適切ですよね。

注意すべき事として,これらの間に大きな違いは無くて,地盤を上から掘るか下から積み重ねるかの違いでしかありません。 抽象化する対象が包含する概念を考えた時に,帰納的に考えるか余帰納的に考えるかの違いに近いかもしれませんね。

すると,少しずつ認識が物理から論理に近づきます。

このように具体的な操作を抽象的な概念により再定義することは,GUIが生じる前,ひいては計算機が生まれる前から盛んに行われてきました。 そう考えると,抽象化を覆い隠しているグラフィカルなエディタは操作的意味論の主体となり,そんなに珍しい存在ではないことに気づけます。


グラフィカルエディタについてはこの辺にしておいて,設定ファイルについても考えてみましょう。

設定ファイルとよく似た存在として,DSLがあります。 この二つは地続きの場所に存在します。何故ならば,どちらも具体的に存在する土台の上に存在する弱い言語に過ぎませんから。

ですが,私が目にしてきた限りでは存在意義が少しだけ異なります。 誤解を恐れずに言うと,設定ファイルはデータを表現することが主な目的で,DSLは操作を表現しようとしているように見えます。 これは状態と操作のどちらに着目するかの差異であり,ひいては物理的な存在に対する認知と計算に対する認識のどちらからの景色かという違いだと思います。

つまり視点が異なるだけで,設定ファイルとDSLの目指す場所は同じなのではないでしょうか。 この二つは,普段の計算機科学者によるソフトウェア設計と同じ土俵で語れるべき存在だと私は考えています。


仮にノーコードの立ち位置がそうであったとして,設計を民主化することはできるのでしょうか。

設計が見えない根本原因は,解釈の不透明性でした。物理的な存在しか見えていないとすれば,当然の結果です。 それでも,いつか望むようになったならば光を当てられうるということも,また優しさでしょう。

素朴にはGUIで表現されるレイヤーを分けることが考えられます。

現状では,コーディングにより整備された幾多の層の上に,いわゆるノーコードの層がただ一つだけ薄く存在します。 それを試しに二層に分けてみるという試みが考えられるということです。例えば,従来のコーディングによるレイヤーの上にロジック記述用のノーコードレイヤー,その上にユースケース記述用のノーコードレイヤーという構造にすると,少しだけ構造の可視性が上がります。

これは,コーディングにより生まれた概念を物理的に認知できるよう可視化することで可能たりえます。 このようにしてコーディングで存在したレイヤーを少しずつノーコード側に移していく未来はあり得ると,私個人としては考えます。

しかし,今のままではそうなる日は遠いことでしょう。 なぜならば,人間を情報機器の枠組みに取り入れて研究し理論を構築している人を,私は数えるくらいしか知りません。 取れる手法の違いがこの断絶をより確固たるものにしています。

それでも論理と認知の間を形式的に整備された架け橋がいつの日にか築かれて,綻びの無いGUIを作れる可能性があるのならば,私は心からその未来を望みます。


ツールの制約を減らすことは,計算機で認識しうる範囲を広げる上では本質ではありません。 計算機上に存在する認知可能な概念により生成できる空間が,どの程度の抽象度を含んでいるかが重要だと考えています。

私も可能な限りの概念をお見せしますので,人間の認知もこちらに歩み寄ってくれると,ここに居るいち計算機科学者にも新しい友達ができるかもしれません。

不透明な認知の向こう側で,会える日を心待ちにしています。