/* Page prose (ja) */
"SameJobRewritten" = "# 同じジョブを、上から下へ書く\n\nさあ、その見返りです。モダンモデルで書いた、まったく同じ三つのステップのジョブがこちらです。まっすぐ下へ読んでみましょう。";
"SameJobRewritten-2" = "**実行して確認:** 同じ結果 `✅ Ready: Booklet(12 pages)` が、同じ待機の後に得られます。しかし、二つのバージョンを並べて、その違いを感じてみましょう。\n\n* **上から下へと読めます。**  \n入れ子はありません。各ステップはただの一行で、一つの結果が普通のコードのように次へと流れていきます。ピラミッドは消えました。\n* **エラーは `throws` と一つの `catch` を使います。**  \n三つの別々の `.failure` 分岐が、一つの `do-try-catch` に集約されます。*どの*ステップのエラーも同じ場所に着地し、処理を忘れれば、コンパイラが教えてくれます。\n* **失われるコールバックがありません。**  \n忘れるべき completion handler がありません。各 `await` は値を生み出すか、throw するかのいずれかで、静かに取りこぼす経路はありません。\n* **チェーンの途中で `self` を手作業でやりくりする手間もありません。**  \nそして（後の章で見るように）キューを手作業で移動する代わりに、「これはメインスレッドに属する」と言うための言語レベルの方法があります。\n\n重い仕事をこなしている言葉は **`await`** です。これは、結果が準備できるまで関数が*一時停止*でき、その後次の行で続行する、しかも待っている間スレッドをブロックしない、という地点を示します。それがすべての仕掛けであり、次の章のテーマです。\n\n* callout(試してみよう): `renderProof` を `return 24` に変更してみましょう。チェーンは依然としてまっすぐ下へ読め、印刷されるページ数は他の編集なしに更新されます。一つの値が入り、一つの値が出る、というわけです。\n\n> どちらのバージョンも同じ実際の作業を行い、同じ実際の時間だけ待ちます。モダンな並行処理は印刷所を速くしたわけではありません。それを*調整するコード*を、あなたが読めるもの、そしてコンパイラが正しく書く手助けをしてくれるものにしたのです。\n\n[前へ](@previous)  |  5 / 6 ページ  |  [次へ: まとめ](@next)";
