HN 日本語サマリー

← 一覧へ戻る
プログラミング

Bespoke: 「お願いします」と言う人のためのプログラミング言語

Bespoke: A Programming Language for People Who Say Please (blog.hofstede.it)

15 pointsby birdculture5 コメント

要約

「Bespoke」は、礼儀正しさを重視した新しいプログラミング言語です。この言語では、コンパイラは単なる命令実行者ではなく、共同作業者と見なされます。コードは、丁寧な挨拶、目的の説明、そして感謝の言葉で構成され、命令ではなく依頼の形を取ります。これにより、開発環境のトーンが改善され、コードの意図がより明確になると主張しています。

全文翻訳

プログラミングには残念ながら不快なトーンが生まれてしまいました。私たちはプロセスをキルし、トランザクションをアボートし、例外をスローし、ループをブレークし、命令を実行します。私たちは尋ねずにロックを取得し、謝罪せずに値をミューテートし、ラブラドール犬に命令するようにマシンに指示します。穏やかな言語でさえ、一連の簡潔な命令でランタイムに対処することを期待しています。挨拶なし。説明なし。感謝の言葉さえありません。これではいけません。そこで私は、機械の実行が決して良いマナーを犠牲にしてはならないと信じる開発者のために、静的に型付けされ、妥協なく洗練されたプログラミング言語であるBespokeを提案します。非公式には「クイーンズコード」として知られています。もちろんヴィクトリア女王のコードです。エチケット委員会はまだ20世紀を承認していません。ソースファイルは.charming拡張子を使用し、コンパイラはあなたに失望する権利を留保します。現在の実装は、エチケットマニュアルよりもやや進んでいません。これは完全に適切です。正式な紹介を急ぐものではありません。(Josiah WinslowのBespokeとは無関係です。2025年のエソロングで、Poeticに基づき単語の長さで命令をエンコードします。社会的な不便をお詫び申し上げます。)目次目次コンパイラはあなたの召使いではありません適切な素養を持つ型システムミューテーションには謝罪が必要です熟慮による制御フロー関数は外交的な提案です遺憾な状況邪魔のない並行処理傷ついた尊厳の診断完全なプログラム礼儀正しいコンピューティングの未来万策尽きたときコンパイラはあなたの召使いではありませんBespokeは一つの単純な観察から始まります。コンパイラは、卑劣な機能係ではなく、尊敬される共同作業者です。それは飾り気のないコマンドを受け付けません。すべての要求は、適切な呼びかけで始まり、丁寧にその目的を述べ、承認された確認で終わる必要があります。制御フローブロックは、独自の儀式的な開始と終了を提供します。割り当てと更新はコンパイラに宛てられ、標準エラーを含む端末出力は出力コンソールに、ファイルシステム操作とランタイムサービスはホスト環境に宛てられます。共有オブジェクトとワーカー・スレッドは直接通信を受け取ります。庭師にゲストを発表するように頼むものではありません。したがって、整数を宣言することは次のようになります。親愛なるコンパイラ様、キャリッジカウントとして今後知られる整数用のスロットを、初期値0で割り当てることを、この上なくご親切にお願いできませんでしょうか?大変ありがとうございます。これはint carriageCount = 0よりも冗長ですが、敵対的な作業環境を作成する可能性ははるかに低いです。句読点は装飾的ではなく文法的です。文はピリオドで終わり、問い合わせは疑問符で終わり、ブロックは適切な結びで終わります。セミコロンは、ドアを閉めるような会話の同義語として拒否されます。適切な素養を持つ型システムBespokeは静的に型付けされています。なぜなら、値がそれ自身のものではないふりをさせることは不正だからです。また、名目型付けされています。なぜなら、紹介は重要だからです。型はフルで書かれます。int、char、boolのような切り詰められた下品な言葉は、礼儀正しいソースコードには場所がありません。Bespoke型より洗練されていない同等物例整数64ビット符号付き整数42有理分数任意の精度整数の正確な比率355/113テキストの通路UTF-8文字列「ごきげんよう。」個々の文字Unicodeスカラー値「£」真理値ブーリアン全く真実区別された色第一級の色Colour.BritishRacingGreen遺憾な状況例外LedgerMissingMisfortune英国の綴りが字句解析中に強制されます。Colourは、区別された色の値の名前空間です。Colorは、ソースが適切な教育なしに到着した証拠です。初期化にはsがあり、centreは正しく綴られ、オプティマイザーは冗長な作業を削除するかもしれませんが、決して最適化することはありません。真理値リテラルは正確に2つあります。全く真実と明白に偽です。3番目の、実装定義の状態である「おそらく、ただし私は推測したくない」は、データベース作業のために検討されましたが、十分に決定的ではないため却下されました。ミューテーションには謝罪が必要です関数型プログラマーは、ミュータブルな状態が厄介であるという点で正しいですが、禁止はかなり厳しいように思えます。Bespokeは、プログラマーが不便を認める限り、ミューテーションを許可します。親愛なるコンパイラ様、もしそれがあなたに過度の負担をかけないのであれば、キャリッジカウントの値を42に更新するという迷惑をおかけしてもよろしいでしょうか?大変感謝しております。コンパイラは、命令として表現されたミューテーションを受け入れる義務はありません。carriageCount = 42は、診断B-101「ぶっきらぼうな命令」を生成し、開発者が自身の行動を反省するまでコンパイルは中断されます。メモリ管理も同じ原則に従います。自動ガベージコレクションは想定されていません。庭師を正式に雇います。親愛なるホスト環境様、お邪魔して申し訳ありませんが、庭師は、プログラムから到達できなくなった割り当てを、あなたの都合の良い時に、時々片付けてくれるでしょうか?感謝いたします。パフォーマンスに敏感な通信のために手動での解放も利用可能ですが、誠実な謝罪なしに割り当てを破棄することは未定義の動作であり、さらに悪いことに一般的です。熟慮による制御フローif文は非難です。この条件は真であり、今すぐ私の言うことを実行しろ、と。Bespokeは代わりに裁判所に仮説的な質問を提示します。裁判所がキャリッジカウントが10より厳密に大きいかどうかを検討することを許可するなら、親愛なる出力コンソール様、標準ストリームに「資本の進歩、実に!」というテキストの通路を伝えることを、親切にお願いします。大変親切にありがとうございます。あるいは、反対が真実であることが証明された場合、親愛なる出力コンソール様、標準ストリームに「残念ながら、控えめな成果。」というテキストの通路を伝えることを、親切にお願いします。大変親切にありがとうございます。これで一件落着です。与えられた真理値に対して、ブランチの選択は決定的です。裁判所は儀式的なものであり、どちらの側からもロビー活動を受けることはできません。結びはレジスタに従います。通常の要求は、大変感謝しておりますや、常に感謝しておりますなど、承認された感謝の表現を使用できます。Cheersはローカルスコープでのみ受け入れられますが、パブリックライブラリAPIはYours faithfullyを要求します。コンパイラフラグは、--deference=white-tieの下でこれを厳格にすることができます。不幸の報告と引退への招待には、独自の承認された結びがあります。ループは許可されていますが、コンピューターに同じことを繰り返し尋ねることは、その忍耐力を試す可能性があります。キャリッジカウントを0に戻すには、別の謝罪が必要です。その後、ループは明示的に繰り返しの負担を認識します。親愛なるコンパイラ様、もしそれがあなたに過度の負担をかけないのであれば、キャリッジカウントの値を0に更新するという迷惑をおかけしてもよろしいでしょうか?大変感謝しております。親愛なるコンパイラ様、キャリッジカウントが3未満であることが全く真実である間、あなたの忍耐を借りて以下を実行してもよろしいでしょうか?親愛なる出力コンソール様、キャリッジカウントの値を標準ストリームに伝えることをお願いします。ありがとうございます。親愛なるコンパイラ様、キャリッジカウントを1ずつ進めるという迷惑をおかけしてもよろしいでしょうか?Cheers。あなたの忍耐に深く感謝いたします。関数は外交的な提案です関数は制御を奪って値を返しません。それは小さな、境界のある協力を提案します。関係者各位、私はここに、distanceInMilesとして知られる整数値、isFirstClassとして知られる真理値を受け入れ、最終的に整数値を返す、calculateFareという外交手続きを提案します。私たちは敬意をもって以下のことを行うことができますでしょうか?裁判所がisFirstClassが全く真実かどうかを検討することを許可するなら、私は謙虚に、適切な戻り値はdistanceInMilesに4を掛けたものであると提出します。あるいは、反対が真実であることが証明された場合、私は謙虚に、適切な戻り値はdistanceInMilesに2を掛けたものであると提出します。これで一件落着です。これで終了です。敬具。冗長性には実用的な利点があります。Bespokeのコードレビューを開いて、関数の契約が不明確だと不平を言う人はいません。彼らは