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)
注目の投稿:
シリコン太陽炉設計の変更
以前投稿した 太陽炉とシリコン発電所の設計 だが、その後GeminiからClaudeに切り替えて検討してみたところ、思ったほど簡単ではないことが分かった。そこでClaudeベースで再検討をした結果をお知らせする。 まずClaudeが指摘したのは、酸化ケイ素から酸素を分離...
人気の投稿:
-
前回の石油備蓄に関する調査 ナフサの現状 からそろそろ2ヶ月になるので、改めて調査してみたのだが、ここ2ヶ月でGeminiはあまり賢くなっておらず、同じようなハルシネーションを何度も作り出した。こちらも、それを何度も何度も指摘して訂正していったのだが、最初の方の命令を忘れたり...
-
民主主義が限界に来ている、とは色々言われている。だが、ならどうすべきかについてはどうも議論百出であり、自分としても「これは」と思うものが無かった。そこで色々調べていて、「パンアーキー」という考え方を見つけた。これが自分の考えに比較的近いと思ったので、この考え方について紹介する...
-
シリコン発電シリーズの続きで、シリカヒューム応用コンクリートのプレキャスト適用について考えてみる。プレキャストとは、要するに型枠で作ったコンクリートである。板や柱となる。 結論からすると、 国内最高峰の断熱性・高気密性を持ち、基礎を含め2週間で2階建ての筐体が完成し、坪単価...
-
太陽炉プラン 、その 定量的評価 、 超高性能コンクリート建築の考察 、 太陽炉と発電所の設計 、 プレパックドコンクリート工法 に続き、道路での応用について考えてみる。 以前の提案で、余ったシリカヒュームは道路のアスファルトしたの路盤材にすることを提案したが、これも家の基...
-
はじめに 生成AI同士が話し合って問題を解決する、というのが次の生成AIのテーマだと思う。 今の生成AIエージェントの使い方は、あくまでも一個人が自分の代理人として使っているだけだ。外部とのやり取りはMCPで行っているケースが多いと思うが、これは生成AIと(生成AIではない)...
-
サマージャンボプレミアムが発売された。1等前後賞合わせて12億円と、今までの7億円を大きく超える額になっている。その代わり1枚500円(従来は300円)に値上がりした。 近年、宝くじの売り上げは減少している。そもそも宝くじは効率の悪いギャンブルである。還元率は50%しかなく、こ...
-
糞便臭を芳香に変えて消臭する新発想の衛生車用潤滑油 「デオマジックVC1オイル」を共同開発 こういう木目細かい気配りこそが大切なんだよなあ。広く海外にも売ってほしい。 さて、これで考えたんだが、 臭いだけでなく、これは味にも転用できる考え方だ。 火星移住のような長期の...
-
地球温暖化防止の要は石油の使用量節約である。そして石油の用途は燃料と材料である。以前の提案では燃料の代替を考えたが、こちらでは材料の代替を考えてみた。 石油とは、結局は炭素と水素の重合したものであり、重合度が様々なものが混じり合っているだけだ。つまり炭素と水素を重合させれば良...
-
前回の 太陽炉プラン について定量的に計算した結果、国内に残るシリカフュームの量が余りにも膨大であり、全部の処分はおろか殆ど売れないことが分かった。コンクリートの超高強度添加剤としての国内の需要は年間350万トンがせいぜいであるのに対し、生成されるシリカヒュームの量は4.76...
-
前回の 太陽炉プラン 、その 定量的評価 、 超高性能コンクリート建築の考察 に続き、太陽炉と発電所の設計について考察してみた。 1.太陽炉の設計 1.1.経路の設計 シリカ(SiO2)から酸素を完全に引き剥がすには、3000℃の高温が必要である。しかしこの3000℃の...

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