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をイジメてみようと思い、会話してみた。 その疑問とは、いわゆるベジファーストへの反論である。 まずベジファー...
人気の投稿:
-
屋根に超音波振動装置を取り付けておく。これによって屋根と雪の間の結合が破壊され、雪が滑り落ちやすくなる。これが題記装置の原理だ。角度によっては放っておいても落ちるだろうし、そうでなくても楽に雪下ろしができる。 まあ超音波でなくて低周波でも良いのだろうが、超音波の方が簡単...
-
ハクキンカイロの発熱原理を調べていて、これを防災用(キャンプ用でも良いのだが)の湯沸しに使えないかと考えた。 普通、キャンプではガスコンロを持っていく。だがあれは裸火を使うから、熱効率は悪い。これに対してハクキンカイロの仕掛けは、白金触媒を適切な場所に配することで、極...
-
ディーン・ケーメン氏が発明した浄水器「 スリングショット 」の原理は、いわゆる蒸留である。つまり水を沸騰させて水蒸気にした後、冷やして水に戻す。汚水と蒸留水の間で熱交換を行うことで効率を上げている。 日本では、防災用の浄水器としては中空糸膜や逆浸透膜が殆どだ。これと蒸留式には...
-
骨梁とは、骨の内部に存在する網の目ないしはスポンジのような構造のことだ。この構造によって、骨は頑丈なのに軽量でいられる。類似の構造としてはアルミ発泡材があるが、あれはどちらかと言えば消音や軽量化が目的であり、骨のような(建築用語で言うところの)構造材としての用途とは少し違う...
-
あるいは家庭用自販機、とでも言おうか。自宅のすぐ脇にあって、品揃えが少数多種、単に飲み物だけでなく、生鮮品や惣菜などもラインナップに加え、複数台並べて簡易コンビニ的に使用する。 自販機コンビニと似ているが、大きく違うのは次の通りだ。 品揃えはカスタマイズできる。 ...
-
コンクリート住宅を3Dプリンタで作る、という試みは、世界中で行われている。しかし日本では、鉄筋なしのコンクリートだけの住宅は認可されない。地震が多い日本では、揺れで簡単に壊れてしまうからだ。コンクリートは圧縮に強いが引っ張りに弱い。鉄筋はその逆だ。鉄筋コンクリートが使われる...
-
不気味の谷というのは人間に似せようとするから起こるのであって、Pepperやaiboには存在しない概念だ。日本にはアニメキャラという秀逸な文化があるのだから、顔にしても動きにしても、そういった一つのカテゴリとして「抽象化ヒューマノイド」(言葉が適切かどうかは分からないが)と...
-
バカの壁 [ 養老孟司 ] 価格: 734円 (2016/10/26 18:15時点) 感想(72件) 養老孟司 氏の名書だ 。 いちばんキライなタイプが、以前も言った「中途半端な科学万能主義者」なのだが、この類の人の「バカの壁」が一番厚い。多くの場合...
-
生成AIを使って作成されたイラストに対する極端な非難が相次いでいる。そのどれもが、ちょっと行き過ぎに思える。例えば、事前にAIであることを知らせているもの、絵を描いている本人が確認し承諾したものまでも非難されている。なぜこんなに過剰な反応をするのだろう。単にノイジーマイノリティの...
-
以前にも https://spockshightech.blogspot.com/2017/10/blog-post_2.html という投稿をしたことがあるのだが、もう少し状況を詳しく知ることができないか、調べてみた。 首都圏の対策としては、『首都圏における広域降灰対策...

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