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)
注目の投稿:
ポジティブ無敵の人
何もかも失ってしまいもう失うものがない人、という文脈で使われる「無敵の人」という表現だが、別の意味で無敵な人というのを考えてみた。それは、社会からのあらゆるしがらみからいつでも脱却できるために誰にも媚びる必要のない人、というものだ。これを「ポジティブ無敵の人」と命名してみた。...
人気の投稿:
-
震災などで交通が途絶しインフラが破壊された時でも生き延びるため、一軒家程度の空間で食料を再生産する方法について考えてみた。その結果、難民などへの技術輸出も可能な方法が提案可能となったので、その内容を公開する。なお、結論としては、ウキクサを植物工場にて生産する、というものになる...
-
実業家の河原由次氏が、豚まんを新幹線内で食べたところ注意された、という呟きをしたことに対して論争が起こっているが、それを科学的・定量的な視点で考察する。 まず、原典を以下に提示しておく。 https://x.com/i_am_kawa_chan/status/202903...
-
非常用トイレの構想 は過去に何回か書いているが、ここで考えるのはもっと現実的なもので、極端な話、明日大震災が起きても使えるものだ。知恵として覚えておいて欲しい。 非常用トイレとして、高分子吸収剤によるものが市販されている。これは赤ちゃんのおむつや生理用品などと同じく、水分を吸収...
-
一日あたり(一食あたりではない!) 530円で済む、超低価格の非常食を考えてみた。 いきなりだが以下がレシピである。 コンポーネント 具体的な製品例 1日の使用量 1日あたりのコスト 役割 主食(糖質) ケンミン 業務用はるさめ 400g 約40...
-
日本と世界の右傾化とその理由 の続き。世界的な国粋主義、自国第一主義、覇権主義、暴力肯定、秩序破壊の傾向に関し、その原因について考えてみる。なお、けっこう重い話ではあるのだが、あくまでも『根拠なき自説』であるので、気軽に聞いて頂きたい。 世界的な右傾化の原因は、経済格差や...
-
あいかわらず生成AIをいじめて遊んでいるのだが、その中で出てきた「自説」を披露する。 結論からすると、陰謀論とスピリチュアルは、現代の宗教と同じ役割を持っており、宗教のネガティブな部分を陰謀論が、ポジティブな部分をスピリチュアルが担っている、そして既存の宗教を信じる者が減っ...
-
ウキクサについて前回説明 をしたが、さすがに食べるのに抵抗のあると思う。これは完全にサバイバルを前提とした計算だったが、もし「日常の足しになる+非常時にも何とか持続生産」という仮定であれば、少しは魅力的な生産が可能だ。今回はジャガイモについて計算してみた結果を披露する。 基...
-
以前も https://spockshightech.blogspot.com/2025/08/blog-post_05.html のようなことを考えてみたが、また別の視点から労働生産性について考えてみた。 日本の労働生産性はOECDの中でも低位にある。何が労働生産性向上の足を引...
-
以前、その可能性はないという記事を書いたのだが、最近になってそれを思い直している。もしかしたら可能性が出てきたかもしれない。 以前の考察で想定していたのは、AIが世界中の軍事を乗っ取り、人類がAIに明示的に支配されるディストピアだった。だからあり得ないと言ったのだが、AIを戦争...
-
過去、 https://spockshightech.blogspot.com/2025/04/blog-post.html https://spockshightech.blogspot.com/2025/04/blog-post_26.html https://spock...

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