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)
注目の投稿:
砂の船
免震構造については過去いくつか提案しているが、これの新しい版である。 以前、難燃性の油の上に浮かべた船の構造を提案したことがある。あれの砂版である。つまり、砂のプールを作っておいて、その上に浮かべるというものだ。砂が抵抗となって振動を軽減する。 ただし、油や水と違って砂の...

人気の投稿:
-
屋根に超音波振動装置を取り付けておく。これによって屋根と雪の間の結合が破壊され、雪が滑り落ちやすくなる。これが題記装置の原理だ。角度によっては放っておいても落ちるだろうし、そうでなくても楽に雪下ろしができる。 まあ超音波でなくて低周波でも良いのだろうが、超音波の方が簡単...
-
ディーン・ケーメン氏が発明した浄水器「 スリングショット 」の原理は、いわゆる蒸留である。つまり水を沸騰させて水蒸気にした後、冷やして水に戻す。汚水と蒸留水の間で熱交換を行うことで効率を上げている。 日本では、防災用の浄水器としては中空糸膜や逆浸透膜が殆どだ。これと蒸留式には...
-
自分の知る限りでは、VRChatのワールドで青空文庫が読める図書館があったのと、N高の教室メタバースくらいしかマトモな例がないのが、メタバース内で本を読む方法だ。本や書類がメタバース内で苦も無く読めるようになれば、電子書籍も含めて全部メタバース内に落としてしまいたい、とすら思っ...
-
近年の若年層からの近視の増加傾向は、生活スタイルの変化と関係があると言われている。つまり、外を出歩かず、窓も締め切り、外出してもスマホばかり見ているという、要するに近くばかり見ている生活がその一因である。これは学術的にも証明されていて、外に出歩く機会が多い人ほど軸性近視の確率は少...
-
VAPEとは、液体を使うタイプの電子タバコだ。日本でも既に購入可能だが、あまり普及しているようには見えない。 PG(プロピレングリコール)とVG(ベジタブルグリセリン)からなる液体にフレーバーを混ぜたものを電気で加熱してその蒸気を吸うのだが、この加熱のところがいい加減な...
-
以前の投稿「 AI寿司職人は美味い寿司を握れるか 」と関連して、「AIには絶対できないこと」、と Googleで検索 してみると、出るわ出るわ。無名有名入り乱れ、色々な説が唱えられている。 だがどれも、技術的に不可能であることを証明・説明できていると言えるものはなかっ...
-
映画と言えば、今でも娯楽のジャンルの一つとして確立したものではあるが、近年では衰退の兆しがある。そのたびに3DやCGなどのテコ入れが入ってきたわけであるが、ここにきて更に新しい提案ができるようになった。それがタイトルにあるインタラクティブ性の導入である。 とは言っても、...
-
ハクキンカイロの発熱原理を調べていて、これを防災用(キャンプ用でも良いのだが)の湯沸しに使えないかと考えた。 普通、キャンプではガスコンロを持っていく。だがあれは裸火を使うから、熱効率は悪い。これに対してハクキンカイロの仕掛けは、白金触媒を適切な場所に配することで、極...
-
AGIとは、 汎用人工知能 (Artificial General Intelligence)のことだ。今のところ、研究段階としてはまだ初期の初期だと思われる。一方で、限定的なAIは飛躍的な進歩を遂げている。そこで、AGIを実現するための一つの提案として、 弱いAI の弱い...
-
メタバースが主流の社会では、外出の機会が極端に少なくなる。これによって、大きなダメージを受ける業界が出てくる。それは大雑把に観光業と交通・運輸業、飲食業である。観光にはゲームセンターや映画館、大型ショッピングモール、スポーツ関係なども含まれる。また、雨具の需要も減るだろう。 ...
0 件のコメント:
コメントを投稿