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)
注目の投稿:
分散下水処理モデル
下水道が腐食し、道路で穴が空くという事例が全国で頻発している。それに落ちて人が死ぬという悲惨な事故も起きた。下水道の復旧にも多大なコストが掛かるということも分かってきた。 下水道の多くは高度成長期に敷設され、寿命を迎えている。この保守コストが酷く嵩み、自治体の予算を圧迫してい...
人気の投稿:
-
努力しても報われない場合はある、というのは一般論として正しいと思うが、成功者は「いや、それは努力が足りないだけだ」と反論する。この構図は昔から存在する。 有名なところでは王貞治の「努力は必ず報われる。もし報われない努力があるのならば、それはまだ努力と呼べない」というもので、同じよ...
-
屋根に超音波振動装置を取り付けておく。これによって屋根と雪の間の結合が破壊され、雪が滑り落ちやすくなる。これが題記装置の原理だ。角度によっては放っておいても落ちるだろうし、そうでなくても楽に雪下ろしができる。 まあ超音波でなくて低周波でも良いのだろうが、超音波の方が簡単...
-
ハクキンカイロの発熱原理を調べていて、これを防災用(キャンプ用でも良いのだが)の湯沸しに使えないかと考えた。 普通、キャンプではガスコンロを持っていく。だがあれは裸火を使うから、熱効率は悪い。これに対してハクキンカイロの仕掛けは、白金触媒を適切な場所に配することで、極...
-
近い将来、AIやロボットが発達することで、労働者の仕事が奪われる事態が起きる。頭脳労働では一部業界に既に起きている(イラスト、音楽等)が、これが肉体労働にまで進んでいく。例えばレストランのフロアスタッフは既にタッチパネル注文や配膳ロボットにより侵食されており、他にも徐々に複雑な仕...
-
https://gigazine.net/news/20251223-santa-quantum-physics/ こちらで紹介されていた、サンタクロースの量子論的解釈が面白かった。 量子とは、電子やクォークなどを差す。これら量子は、物質としての側面と波動としての側面を持...
-
と、ひとことに言っても色々あるのだが、ここでは「新規事業における法への適合性審査」について考えてみる。 よく聞く話だが、日本は新しいことに対する許認可が通りづらいとされている。例えば、日本では新建材(3Dプリンタ建築など)に対する認可やAIを使った医療機器の認可などが進んで...
-
過去、 https://spockshightech.blogspot.com/2025/04/blog-post.html https://spockshightech.blogspot.com/2025/04/blog-post_26.html https://spock...
-
度々著名人が不用意に発言しては炎上するこの問題だが、それが正しいのか(真っ当な主張なのか)。またそれ以前の問題として、そもそも外国人犯罪者は本当に多いのか。今回はこれを調べてみた。これも生成AIを使ったのだが、なかなか面白い結果が出た。 まず単純に犯罪率を比較してみると、 ...
-
今の法律では、税率は一定の計算式で表されるが、そのパラメータは固定である。需要と供給のバランスによって商品の価格を変えるダイナミックプライシングというのがあるが、あれを租税にも適用してはどうかと考えてみた。 納税者の声をベースにして様々な租税や補助金を自動調節して、どこか一箇所...
-
日本共産党が消費税減税案についてのサンデーモーニングの批判的なコメント(財源を示せ)に対し「財源を示した上で提言している」という反論をしている。そこで同じく、Grok3に計算してもらった。 日本共産党の提言は、2025年4月16日のものの他、幾つか出ている。そのおおよその方向性...

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