
2026/09/06 17:13
特別仕様:「お願いする人々のためのプログラミング言語」
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
本稿では、形式的なイギリスのマナーを技術的な効率性よりも優先する、風刺的に静的型付けプログラミング言語である「Bespoke」を紹介する。この言語はユーモラスに「クイーンズコード」と呼ばれている。ソースファイルは
.charming という拡張子を使用し、厳格な言語学的規則に従わねばならない:タイプには完全な英語名を要求する(例:int ではなく「An Integer Number」、「Colour」で 'u' を含めること)、真値リテラルは"Quite True"と"Patently False"に限定され、すべてのコードには公式の挨拶、丁寧な問い合わせ、および"Much obliged"や"Yours faithfully"のような特定の署名が必要となる。礼儀に反する構文(例:フルストップや疑問符ではなくセミコロンを使用すること、単命制的な変異 var = 42、低俗な綴り「Color」対"Colour")は、診断コード B-101(単命制的命令)、または B-204(低俗な綴り)のようなコンパイルエラーを引き起こす。変異には正式なリクエストによる謝罪が必要であり、例外処理は「Regrettable Circumstances」と称され、「throw」を使用する代わりに「gracious consideration」の問題を提起する。並行処理は「Request for Exclusive Audience」プロトコルに従い、標準的なデッドロックの代わりに「Exemplary Stalemate of Mutual Deference」をもたらす。致命傷(例:ゼロ除算)はクリーム紙に交付された「Formal Apolicy」を生成し、非ゼロのエグジットステータスを返すものの、システムを突然クラッシュさせることはなく、システムそのものは停止しない。「Hello World」の例では、1 つの変数、1 つの出力、合計 676 キャラクタでこれらの制約が示されており、簡潔な論理が広範な親愛の挨拶に置き換えられていることが強調される。将来の相互作用においても、基本的な操作であっても特定の形式的作法を要求し続けることが期待され、実質的に生の速度から社会的正しさへと焦点がシフトする。
Text to translate:
The article introduces Bespoke, a satirical statically typed programming language humorously dubbed "The Queen's Code," which prioritizes formal British etiquette over technical efficiency. Source files use the
.charming extension and must adhere to strict linguistic rules: types require full English names (e.g., "An Integer Number" instead of int, "Colour" with a 'u'), truth literals are limited to "Quite True" and "Patently False," and all code needs formal salutations, polite inquiries, and specific sign-offs like "Much obliged" or "Yours faithfully." Syntax that violates courtesy—such as using semicolons instead of full stops or question marks, blunt imperative mutations (var = 42), or vulgar orthography (e.g., "Color" vs. "Colour")—triggers compilation errors like Diagnostic B-101 (Blunt Imperative) or B-204 (Vulgar Orthography). Mutations require an apology via a formal request, and exception handling is termed "Regrettable Circumstances," raising issues for "gracious consideration" rather than using throw. Concurrency follows a "Request for Exclusive Audience" protocol, resulting in an "Exemplary Stalemate of Mutual Deference" instead of standard deadlocks. Fatal failures (e.g., division by zero) produce a "Formal Apology" delivered on cream paper and return a non-zero exit status, but do not crash the system abruptly. The "Hello World" example illustrates these constraints with one variable, one output, and a total of 676 characters, highlighting how concise logic is replaced by extensive pleasantries. Future interactions are expected to continue demanding specific formalities even for basic operations, effectively shifting focus from raw speed to social correctness.本文
Bespoke:徹底的に礼儀正しいプログラミング言語
**Bespoke(特注)**は、機械の動作において「礼儀正しさ」を犠牲にしてはならないという信念に基づき設計された、静的型付けを採用したプログラミング言語です。略称「女王様のコード」。ファイル拡張子は
.charming です。
※本言語は、1925 年の詩的言語「Poetic」に基づくエソラング(架空言語)であり、Josiah Winslow の『Bespoke』(2025 年発表)とは無関係です。
コンパイラと環境との正しい接遇
Bespoke は「コンパイラは下僕ではなく、崇められるべき協力者である」という原則に基づきます。リクエストには常に適切な敬称、目的の礼節ある説明、そして承認された感謝の言葉が必要です。
宣言と更新
割り当てや値の更新は、コンパイラ宛てに以下の形式で行います:
親愛なるコンパイラ様、 何とぞ誠に恐縮ながら、今後"carriageCount"という名で呼ばれし 整数型のスロットを一つ割らせて頂戴できませんでしょうか。 初期値は 0 でお願いいたします。 誠にありがとうございます。
- 句読点は文法的な装飾ではなく機能します(疑問には「?」、文末は「。」)。
- セミコロン(
)の使用は拒絶されます。;
型システムと命名規則
Bespoke は名指し型付けを採用し、値の偽装を許しません。
| Bespoke の型 | 説明 | 例 | 禁止事項 |
|---|---|---|---|
| An Integer Number | 整数 | | |
| A Rational Fraction | 有理数(正確な比率) | | |
| A Textual Passage | テキスト(UTF-8) | | |
| An Individual Character | 文字(ユニコードスカラー) | | |
| A Truth Value | 真偽値 | / | は許されません |
| A Distinguished Colour | 色 | | は不適切です |
- スペルは厳格に要求されます(例:
、Initialisation
)。centre - 最適化器による冗長性の削除は行われません。
メモリ管理
自動ガベージコレクションは機能しません。解放にはホスト環境への正式な依頼が必要です:
親愛なるホスト環境様、 ご迷惑をおかけして申し訳ありませんが、 プログラムからもう到達不能となった割り当てについては、 お時間があれば時折片付けて頂戴できませんでしょうか。 厚く感謝申し上げます。
制御フローと論理的思考
条件分岐(if)
if は「命令」ではなく、「裁判所への訴えかけ」として扱います:
もし裁判所のご裁示により、 "carriageCount" が 10 より厳密に大きいという事を検討されたいと願うなら、 親愛なる出力コンソール様、 標準ストリームへテキストパッセージ「Capital progress, indeed!」をご伝達ください。 誠にありがとうございます。 あるいは、正反対の事が真実であれば、 親愛なる出力コンソール様、 標準ストリームへテキストパッセージ「A modest showing, regrettably.」をご伝達ください。 誠にありがとうございます。 以上で件は了といたします。
ループ処理
コンピュータに同じ行為を繰り返させるのは耐性に挑戦します。ループ内の変更には追加の謝罪が必要です。
- 結び言葉(Closing):
- 通常:
、Much obligedEver grateful - 公開ライブラリ API:
(必須)Yours faithfully - ローカルスコープ:
(限定可)Cheers
- 通常:
関数の定義と契約
関数は権限の奪取ではなく、外交的な提案です。入力と出力の関係性が明示的に文書化されます。
- 冗長さの利点:レビューにおいて「契約が不明確」という批判を避けることが可能です(12 ページでも可)。
エラー処理と例外
throw an exception は攻撃的であり、Bespoke では許されません。代わりに「悲しむべき事態(A Regrettable Circumstance)」として報告します:
親愛なるホスト環境様、 行き詰った状況に関する報告をしなければならないのですが、 誠に遺憾です: "A Regrettable Circumstance"と名付けた、 LedgerMissingMisfortune が発生しました。 具体的には:「紙幣は文書館で発見できませんでした。」 この件を、寛大なご考慮のほどお願い申し上げます。
- 予期せぬ例外へのハンドリングも同様に、慎ましい試みから慈爱的な対応へと移行します。
- この構造は
/try
/catch
に等価ですが、ファイルシステムに敬意を保ちます。finally
並行処理と共有リソース
「スレッド」や「ロック」といった暴力的な用語は避けます。ミューテックスは「独占的聴衆を求めるリクエスト」として定義されます:
親愛なる共有台帳様、 もしあなたにとってわずかな不便さえも招かないのであれば、 暫くの間考えるための独占的な聴衆を願って頂戴することは、 恐縮ながら試みたいと思います。 我々の商談が終了した時点で即時退去することを誓います。
- デッドロック:双方が相手の進行を待つ「相互礼節の模範的膠着状態」として記録され、無期限に停止されます(プロセスクラッシュは回避)。
- スレッド終了:殺害ではなく、引退への形式的な招待(Cooperative Cancel)として行われます。
診断メッセージとコンパイラ警告
コンパイラは抑制された失望を表現します。エラーコード例:
- B-101(鈍感な命令):
などの無愛想な代入。x = 5; - B-204(下品な正綴り):
やColor
のような不適切なスペル。set_color - B-310(不足する感謝):文末に
が欠落している場合、リクエストは却下されます。Thank you
警告はクリーム色の紙面上に表示されます。
--quiet フラグは「称賛」を抑制しますが、「批判」には変わりません。
完全なプログラムの例
Hello World に相当するプログラム:
最敬愛なるコンパイラ様へ、 この度は Main Entry Point(メインエントリーポイント)を ご検討のほどよろしくお願い申し上げます。 ご裁示により: 親愛なるコンパイラ様、 "Good day, planet Earth."というテキストパッセージを "salutation"という名で割らせて頂戴することは、 ご迷惑をおかけしますがよろしいでしょうか? 誠にありがとうございます。 親愛なる出力コンソール様、 "salutation"の内容をご伝達ください。 常によりてん々。 このルーチンを敬意を持って終了いたします、整数型を 0 の Exit Status(終了ステータス)として提供します。 以上で件は了といたします。 なお、私はあなたの最も謙虚で忠実なる家来、 アーサー・ペンデルトン エスク。
結論:礼儀正しい計算の未来
Bespoke は実行速度の向上やバグの排除を約束するものではありませんが、開発者との機械間の関係性を改善します。
「我々が日々機械に対して不可能なことを要求するならば、少なくともそれについて好意的に接することはできませんか?」
参照コンパイラは意向状(LOI)を検討し、一等席で発送されます。失敗してもパニックを起こすことなく、「実行エンジンからの退職」が封書で届きます。
====================================================================== 正式な謝罪状
宛先:尊敬なるお客様 差出人:ランタイムサブシステム
ご主人様/ご婦人様、
84 行目での進行不能について、深き個人的恥辱をもって告白せざるを得ません。 ゼロ除算が要求されました。 私はこの要望を最大限の慈悲で解釈しようと試みましたが、 数学的適切性と王国の法律がそれを禁じております。
場面で混乱を引き起こすことにならないよう、 職務から退くことを自由に行いました。
なお、 悲しむべき家来、 破滅した執事より、 Bespoke 実行エンジン
終了ステータスは依然として非ゼロです。我々は礼儀正しい人間であり、妄想家ではありません。