Bespoke: 「お願いします」と言う人のためのプログラミング言語
Bespoke: A Programming Language for People Who Say Please (blog.hofstede.it)
要約
「Bespoke」は、礼儀正しさを重視した新しいプログラミング言語です。この言語では、コンパイラは単なる命令実行者ではなく、共同作業者と見なされます。コードは、丁寧な挨拶、目的の説明、そして感謝の言葉で構成され、命令ではなく依頼の形を取ります。これにより、開発環境のトーンが改善され、コードの意図がより明確になると主張しています。
全文翻訳
Bespoke: 「お願いします」と言う人のためのプログラミング言語
[画像: 丁重に手書きのプログラムを、深く不機嫌そうな真鍮製コンピューターに提示するヴィクトリア朝時代のプログラマー]
プログラミングは残念な口調を身につけてしまいました。
私たちはプロセスを kill し、トランザクションを abort し、例外を throw し、ループを break し、命令を execute します。私たちは尋ねずにロックを取得し、謝罪せずに値を変更し、命令をあたかもラブラドール犬に命じるかのように return させます。たとえ穏やかな言語であっても、私たちは実行時に簡潔な命令の連続でランタイムに対処することを期待されています。
let carriageCount = 0;
carriageCount = 42;
console.log(carriageCount);
挨拶なし。説明なし。たとえ much obliged(大変感謝します)の一言すらないのです。
これは許容できません。
そこで私は、機械の実行が礼儀作法を犠牲にしてはならないと信じる開発者のために、静的型付けで妥協なく洗練されたプログラミング言語、Bespoke を提案します。非公式には The Queen’s Code(女王陛下のコード)として知られています。もちろんヴィクトリア女王の時代のものです。エチケット委員会はまだ20世紀を承認していません。ソースファイルは .charming 拡張子を使用し、コンパイラはあなたに失望する権利を留保します。
実装は、現時点ではエチケットマニュアルよりもやや進んでいません。これは完全に適切です。正式な紹介を急ぐものではありません。
(Josiah Winslow の Bespoke とは無関係です。これは単語の長さで命令をエンコードする、Poetic に基づいた2025年の esolang です。社会的なご不便をお詫び申し上げます。)
目次
- 目次
- コンパイラはあなたの召使いではない
- 品格ある型システム
- 変更には謝罪が必要
- 熟慮による制御フロー
- 外交的な提案としての関数
- 遺憾な状況
- 押し合いへし合いのない並行処理
- 傷ついた尊厳の診断
- 完全なプログラム
- 丁寧なコンピューティングの未来
- 万策尽きたとき
コンパイラはあなたの召使いではない
Bespoke は、コンパイラは有能な協力者であり、卑しい下僕ではないという単純な観察から始まります。コンパイラは飾り気のない命令を受け付けません。すべての要求は、適切な呼びかけで始まり、丁寧にその目的を述べ、承認された謝辞で締めくくる必要があります。制御フローブロックは、それ自身の儀式的な開始と終了を提供します。
割り当てと更新はコンパイラに宛てられ、端末出力(標準エラーを含む)は出力コンソールに、ファイルシステム操作とランタイムサービスはホスト環境に宛てられます。共有オブジェクトとワーカースレッドは、直接通信を受け取ります。庭師にゲストを知らせるよう頼むようなものではありません。
したがって、整数の宣言は次のようになります。
Dear Compiler,
Would you be so exceptionally kind as to allocate a slot for An Integer Number
known henceforth as carriageCount, initialised with the value 0?
Thank you ever so much.
これは int carriageCount = 0 よりも冗長ですが、敵対的な職場環境を作り出す可能性ははるかに低いです。
句読点は装飾的ではなく、文法的です。文はピリオドで終わり、問い合わせは疑問符で終わり、ブロックは適切な結びの言葉で終わります。セミコロンは、ドアをバタンと閉める会話上の同義語として拒否されます。
品格ある型システム
Bespoke は静的型付けです。なぜなら、値がそうでないものを装うことを許すのは不誠実だからです。また、名目型付けでもあります。なぜなら、紹介は重要だからです。型はフルネームで記述されます。int、char、bool のような切り詰められた卑しい俗語は、丁寧なソースコードには場違いです。
| Bespoke の型 | 洗練されていない同等物 | 例 |
|---|---|---|
An Integer Number | 64ビット符号付き整数 | 42 |
A Rational Fraction | 任意の精度の整数の正確な比率 | 355/113 |
A Textual Passage | UTF-8 文字列 | ` |