2018年3月10日土曜日
曖昧なプログラミング言語
殆どの言語は英語ベースだが、英語ネイティブな人にとって、あの書き方は(少し変だけれども)英語として認識できるのだろうか、というのは興味あるところだ。今のコンピュータ言語は全て厳密な仕様に基づいている(書き方が曖昧だとしても曖昧さを許す範囲はあらかじめ固定されている)が、もっと自然言語に近づいてきたときにはどんな書き方になるのだろう。
何々を25回繰り返す、というとき、do something1 for 25 times. と書けるのなら、もっと英語表記に近い気がする。それで、subroutine somthing1 is to do something2 and something3 concurrently, if stacked, stop doing and send me the error message . くらいなら、今のパーサーでも何とか行けそうだ。
今のプログラミング言語の主流は、さまざまな新しいプログラミング概念を取り込みつつも記述がシンプルなものが多い。このため、コメント欄が欠かせない。だがコメントはプログラムの動きには関係がないから、修正し損ねたり説明し損ねたりしても問題ない。人間が常に適切に書き、修正しない限り、かえって邪魔になる。
この書き方では、従来のプログラミング言語レベルの記述をすると冗長になってしまい、たぶん膨大な量になってかえって読めなくなる。人間が読める仕様書と実言語の間の中間言語として、ある程度読め、抽象度もそこそこの言語があるのがよい。
どんなところを抽象化するのかというと、プログラムレベルで使う変数として人間が読む価値があるを残し、ロジックを厳密にするために内部で使うような変数を隠すのが第一だろう。上で言うなら、for a=1 to 25 ... next などと書くところだが、この a というのは人にとって価値がない。そこで 25 times と書くわけだ。
また、「全ての入力に関してSQLインジェクションチェックを行う」のような記述は、曖昧さを伴った記述だ。これは従来の言語で言う、アスペクト指向に類似している。違うのは、どこに適用するかを指示するかしないか、という点だ。
コードが冗長化する原因の多くは、こういったエラーチェックなどの「ネガティブロジック」だ。これを曖昧な記述で一手に引き受けることができれば、コードはずっと短くなる。これを適切に実行するのには、従来のプログラミング言語とは異なった仕掛けが必要になる。インタプリタでもコンパイラでもない、第三のスヌープエンジンのようなものだ。
プログラムの動きを見ていて、適用可能なところに達したら制御を奪ってチェックを実行する。このような仕掛けを前提にして、可能な曖昧記述を許すような文法を構築できれば、プログラミングはもっと簡単になるような気がする。それは既存の「コード自動生成」と似たようなものになるのかもしれないが、検討に値する概念だと思う。
登録:
コメントの投稿 (Atom)
注目の投稿:
シリカフュームを用いた超高性能コンクリート建築
前回の 太陽炉プラン 、その 定量的評価 に続き、副産物であるコンクリート建築の低コスト化について考察する。結論としては、 木造建築より安く建築でき、環境にも優しく、200年保つ 。なお、以下は生成AIに作らせたものを若干手動で手直ししただけのものである。 ...
人気の投稿:
-
カルビーがポテトチップスなどのパッケージを白黒にしたことに対し、政府がヒアリングを行った話。これについて少し調べてみたところ、けっこうとんでもないことが分かった。 パッケージ問題の本質は(ナフサそのものではなく、ナフサから作られる)エチレンの減産であり、その規模は平常時の四...
-
アメリカはなぜかサバイバル用のフリーズドライ市場が豊富だ。 Amazon.com を見ていると、実に様々な会社がフリーズドライの食品を出している。 日本のそれと大きく異なる特徴が、日本は食品として完成しているのに対し、アメリカのそれは素材であることだ。調理済みのものも無論...
-
有名な金持ち本「DIE WITH ZERO」における著者の主張について生成AIと議論していたら、いつの間にかそういう結論に達してしまった、というお話。 著者の主張は、必ずしも財産ゼロで死ぬようにしよう、というものではない。多くの人は使い切れずに溜め込んだまま死んでしまう、こ...
-
理想の政治家とは何だろうかと生成AIと議論していて、二つの軸を考えてみた。 X軸:【客観・形式論理一貫性(Formal Logic Consistency)】 左極(-100):結論ありきのロジック(論理の歪み)。 自身のイデオロギーや保身(結論)を正当化するために、都合の...
-
法曹界がIT化する、というのをニュースでやっていた。これは証拠のDB化や手続き等のオンライン化を含むもので、まあ真っ当な進化と言えるのだが、そもそも法律がデジタル化していないのは何なんだろう、さっさとプログラム化してしまえばよいのに、と思っていた。これは以前に、 法のプログ...
-
VRゴーグルを使った教育は、既にN高などで実用化されている。これを更に進め、スマートグラス前提の教育を考えてみる。 N高の時代と違うのは、 強力な生成AIの存在 である。つまり、 教科書と学習指導要領だけを与えることで、教育プログラムを生成AIが自動的に作ってくれる ようになれ...
-
ナフサ供給「年明け以降も確保」 高市首相表明、中東以外で代替調達 このニュースを受けて、石油備蓄は安泰かと思って調べてみたら、全然そんなことはなく、むしろミスリードに近いことが分かった。結果として500日で日本の石油消費量を半減する必要があることが分かったので、その概要とプラ...
-
アメリカかどこかで芸術家がやったアートで、白い部屋に様々な模様やアートを映し出す、というのがあった。また、プロジェクションマッピングは以前からあちこちで行われている。アートではなく常用として、室内にプロジェクションマッピングを行うようにしてみてはどうだろう。つまり、壁、家具...
-
よく、宝くじに当たったら何を買うか、という話は出るのだが、日本のそれで7~10億円、世界最高のものでも100億円単位であり、100兆円などというものはない。100億円でも十分気が遠くなる話だが、100兆円当たったら何に使うだろう、と夢想してみた。 しかし考えてみると意外と...
-
以前、「魂とは情報である」という仮説 https://spockshightech.blogspot.com/2017/01/blog-post_19.html を書いたことがある。そこから演繹していくことによって、この問題に挑んでみる。 魂とは、大雑把に言うと、脳という...

0 件のコメント:
コメントを投稿