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)
注目の投稿:
努力は報われるのか
努力しても報われない場合はある、というのは一般論として正しいと思うが、成功者は「いや、それは努力が足りないだけだ」と反論する。この構図は昔から存在する。 有名なところでは王貞治の「努力は必ず報われる。もし報われない努力があるのならば、それはまだ努力と呼べない」というもので、同じよ...
人気の投稿:
-
高市新総理がかつて主張していた「スパイ防止法」。巷でもスパイ防止法の制定を望む声は強いのだが、調べてみるとそんなに単純な話ではない。特に、世間のイメージと実態はかなり異なっていることが分かったので、ここでメモしておく。 まず、「スパイ防止法がないのは日本だけ」とよく言われて...
-
たつき諒氏の予言が話題になっているので、私も一つ予言をしてやろうかと思う。 2025年7月5日を中心とした前後1週間(計2週間+1日)の間に、日本の太平洋岸を震源とする、最大震度6強以上の地震は、起きない。 地震予知三原則である①地域の特定②時期の特定③強度の特定、何れも満...
-
一時期流行したベーシックインカムもいったん廃れたが、完全に潰れた訳ではなく、一部の市民や政治家は諦めていない。また何度も復活するだろう。そしてまた萎むだろう。 世間がベーシックインカムに反対する理由は主に財源と配分であろう。MMT信者のおバカ提案は論外だが、そうではない真面目な提...
-
クルド人と地元の人たちとのトラブルに見られるように、日本で外国人排斥運動が起きている。 世の中は近年、融和より対立を好んでいるように見える。その代表は右翼対左翼で、トランプや安倍のような対立を煽る風潮の流れを汲んでいる。生活保護者への批判、女性女系天皇、憲法改正などでも同様の...
-
ハクキンカイロの発熱原理を調べていて、これを防災用(キャンプ用でも良いのだが)の湯沸しに使えないかと考えた。 普通、キャンプではガスコンロを持っていく。だがあれは裸火を使うから、熱効率は悪い。これに対してハクキンカイロの仕掛けは、白金触媒を適切な場所に配することで、極...
-
古くは仮面ライダースナックやビックリマンチョコ、最近では万博パビリオンの時間指定チケットやマクドナルドのちいかわグッズなど、何かと話題になっている転売の是非について考察してみた。これももちろん生成AIを使って、なかなか面白い結論が出た。 最初は万博場ビリオンについて議論したのだ...
-
世の中の話題はAGIを通り過ぎてASIに進んでいる。AGIがGeneral IntelligenceならASIはSuper Intelligence、即ち人類を遥かに超えた知性ということらしい。 2045年にシンギュラリティが起きると予測したのは、人工知能研究の世界的権威であ...
-
高市首相は安倍氏と同じ積極財政論者で、就任直後からその方向に舵を切っている。プライマリバランスゼロ目標を事実上反故にし、戦争でもコロナでもないのにいきなり17兆円もの補正予算を組んだ。ちなみに安倍総理が初年度に打ち出した補正予算は10兆円であり、それと比べても突出している。 こ...
-
骨梁とは、骨の内部に存在する網の目ないしはスポンジのような構造のことだ。この構造によって、骨は頑丈なのに軽量でいられる。類似の構造としてはアルミ発泡材があるが、あれはどちらかと言えば消音や軽量化が目的であり、骨のような(建築用語で言うところの)構造材としての用途とは少し違う...
-
生成AIを使って作成されたイラストに対する極端な非難が相次いでいる。そのどれもが、ちょっと行き過ぎに思える。例えば、事前にAIであることを知らせているもの、絵を描いている本人が確認し承諾したものまでも非難されている。なぜこんなに過剰な反応をするのだろう。単にノイジーマイノリティの...

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