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)
注目の投稿:
オンラインサービスH&Aプロトコル
オンラインサービスの会員情報が洩れる事件が相次いでいる。数万件ではもはや驚かないが、数百万とか数千万とかいう数字が連日のように飛び出していて、さすがにこれでは不安になってしまう。 この問題を回避するには、本質的には会員登録をしないことだ。だが会員登録をしないと個々の手続きは毎回...
人気の投稿:
-
日本の石油需給・財政・産業構造への影響分析(2026年9月版) に引き続き、10月版をお届けする。大雑把に言うと、以下のようになる。 8月の輸入量は予想を超えて多く、 枯渇危機は後ろ倒し になった。だがそれはカネにあかせてタンカーを借り漁った結果であり、このとばっちりを...
-
オンラインサービスの会員情報が洩れる事件が相次いでいる。数万件ではもはや驚かないが、数百万とか数千万とかいう数字が連日のように飛び出していて、さすがにこれでは不安になってしまう。 この問題を回避するには、本質的には会員登録をしないことだ。だが会員登録をしないと個々の手続きは毎回...
-
ハクキンカイロの発熱原理を調べていて、これを防災用(キャンプ用でも良いのだが)の湯沸しに使えないかと考えた。 普通、キャンプではガスコンロを持っていく。だがあれは裸火を使うから、熱効率は悪い。これに対してハクキンカイロの仕掛けは、白金触媒を適切な場所に配することで、極...
-
気になったので少し調べてみたら、あまり好ましい結果ではなかったことをご報告する。結論として、USB-C充電式単3電池を使うのは、現時点では推奨できない。自分としても使う積もりはない。 今回も生成AIを分析に使用した。使用したのはCopilotである。なお、Copilotの出力...
-
最近の洗濯機はほとんど乾燥機能付きだが、だいたいは60℃の高温で乾燥するため、縮むし、乾燥が使えない衣類も多い。もしこれが45℃で乾燥できるのなら、そういったデリケートな衣類も乾燥できるので、かなりの付加価値になるはずだ。 だが、ただ温度を下げるだけでは乾燥時間が伸びてしまう...
-
以前も何回かホームアシスタント(ホームアプライアンス)について書いたことがあったが、生成AIの進歩によって、実際に製品化することが可能な状況が近づいてきた。AIを前提とした新しいホームAIアシスタントの企画書を以下に提示する。 新たな特徴としては、AIを前提とすることできめ細かい...
-
Meta Quest 3の視野角は110°(横方向)らしい。だが人間の視野角は180~220°くらいはあるそうで、実際に見てみると周辺視野は確かに限られており、潜望鏡を覗いているような気分になる。 これは何とかならないものかと調べてみると、市販の相当高いモデルでは120~140...
-
空調服が世に出て久しいが、不格好なのは相変わらずで、着る気がしない。その理由は明らかに「ハリセンボンのように膨らんだ形状」である。 膨らむ理由は空気を「吸い込む」構造だからだ。ファンから吸い込んで、首や裾から吐き出している。であれば逆に「吸い出す」構造にしてはどうか、と考え...
-
8月版 に続き、9月版をお届けする。 大雑把に言うと、以下の通りになる。 原油の輸入量 は予想を遥かに上回る速度で回復し、 7月には2月とほぼ同等になった 。だがこれは3月4月に新たに調達したものが6月7月にたまたま重なって到着したためにそう見えているだけで、恒常的に見るとタ...
-
合計特殊出生率が1付近でウロウロしている時代が長く続いている。これは一世代で人口が半分になるという急速な少子高齢化を意味しており、現在の日本で既に数兆円規模で行われている少子化対策費をもっても止められていない。移民やAI・ロボットによる労働力支援は窮余の策ではあるが根本的解決...

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