2017年04月18日

脚本とプログラミングは似ている

ついでにいうと、数学にも似ている。

どこがというと、
「一次元の論理構造で、
あることを表現すること」がだ。


細かくみていこう。

・あることを実現するのに、複数のやり方がある。
・あることを実現するのに、エレガントなやり方がある。
(エレガントというのは、すっきりしたスマートなやり方、
ということだ。
本質的な部分の工程数、言葉数が少ないほどエレガントだ)

・あることとあることが関係しているため、
ある部分を直しただけでは、他の部分が機能しなくなる可能性が高い。
・ある部分を逆に出来るときと、出来ないときがある。
(逆に出来るときは、論理構造が無関係な部分だ)
・あることの影響は、あとに来るすべてのことに影響している。
・したがって、前提を崩すと、あとのこと全てが台無しになる可能性が高い。

・また一次元的に全て一直線になっているわけでなく、
パーツパーツに別れていて、それらが結合して論理構造をなすこともある。
たとえば、A、Bと全く別のことが、Cというものの前提になっていることがある。
(全く別のことならば、上のことから、ABは入れ替え可能である)

・代入という方法がある。
すなわち、複雑なことを一つの簡単なものに圧縮する。
脚本の場合は、言葉や象徴で。
プログラミングや数学では定義で。
・このことで、最終的な結論をエレガントにする。
言葉を変えて言うと、シンプルにする。
脚本の場合、言葉も不要な一枚絵に圧縮する。
数学やプログラミングでは、本質的なものを簡単な式にする。
(例:E=mc2)


・一度組上がったエレガントなものは、
別の表現方法があることから、
別の表現に変えることも可能だ。
しかし前ほどエレガントに出来る保証はない。
これが、脚本でもプログラミングでも、
仕様変更をすることが著しく困難な理由である。
(恐らく同等にエレガントな解は見つからない。
以前の解がエレガントだと思ったからこそ、
製作を始めようと確信したはずで、
別のエレガントなことなど想定していなかったはずである)

・細かい部分の成功が、全体の成功に寄与するとは限らない。
しかし部分の失敗は、すぐ全体に影響する。

・度重なる方針変更をすると、
デブリが放置されたままになりがちで、
使わない伏線だらけになる。
全部一掃すると足りないものが出てくる。
この現象を防ぐには、結局一からやり直すのが早道だったりして、
以前のものをコピペするのは非効率である。

・これらのことを知らない人が大抵発注者で、
発注者は最終型を決定しないまま発注し、
従って必ず、途中や一回組上がってから方針変更をする。
ほとんど100%の確率で最初から組み上げ直したほうが早いのだが、
その勇気がないために、スパゲッティ状態は放置される。


数学や物理で言えば、
ニュートン力学からアインシュタイン力学までは、
うまく行っていたと思うが、
大統一理論に集約するには、
以前のものをリライト出来る範囲にない気がしている。
だからニュートン力学のような、
エレガントな全く別の方程式が生まれるまで、
大統一理論は不可能だろうね。
(M理論はそれの候補だっけか)


僕は昔人工知能研究者のはしくれだったので、
cとかパールとかtcltkを昔触っていた。
久しぶりにカタナ式でプログラミングを思い出した。

ああ、脚本と同じで、
リライトが効かねえなあ、
と、色々なことを思った次第だ。



人間の考える何かには、
共通した何かがあるかも知れない。

脚本とプログラミング両方やる人は、
あまりいないかな。
理系の人でTRPG好きぐらいか。
誰向けの記事か分からないが、
世の中では似たようなことの、全く別表現をやっているのだ、
という面白い見方として捉えてもらいたい。
雑談レベルにしては質が高いので、記してみた。
posted by おおおかとしひこ at 19:55| Comment(0) | TrackBack(0) | 脚本論 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック