一年前、私はプログラミングのキャリアを中断し、私の新しい活動は以前の活動とは非常に異なっていると考えて小説を書き始めました。多くの単語が書かれた後、しかしより頻繁に書き直された後、私はほぼ反対のことを確信しています。大規模なシステムのプログラミングと小説の執筆には多くの類似点と類似のプロセスがあります。
2つの間の最も明白な類似点は、両方で何かを書くことです。コードは自然言語で書かれた散文ではありませんが、一連の固定ルール(文法)があり、ほとんどのプログラマーが自然と感じる特定の形式や、形式的には正しいものの理解しにくい他の形式があります。
ただし、これら2つのアクティビティの間には、はるかに深い関係があります。優れたプログラムと優れたロマンスは、適切に機能するローカル要素とグローバル要素の合計です。優れたコードは、適切に記述された読み取り可能な個別の要素で構成されている必要がありますが、一般に、プログラムのさまざまな部分は直交し、一貫性があり、相互に明確に相互作用する必要があります。小説も同じ2つのレベル(ミクロとマクロ)で優れている必要があります。文章はよく書かれている必要がありますが、全体的な構造と部分間の関係も重要です。
プログラミングとライティングの間の構造化されていない関係は、どちらかに近づくために必要なエンジンです。成功するには、進歩を遂げる必要があり、進歩を遂げるには、一貫性を保つ必要があります。プログラムや小説はまだ自分たちで書かれていないことに誰もが同意します。 20年間のコーディングは、この面で私を大いに助けてくれました。毎日座って書くだけですべてが動くことはわかっていました。今日は百語、翌日は二千語ですが、私が一言も書かない日はめったにありません。また、大規模なシステムの「フィラー」であるだけでなく、独自に作成したコードを作成した場合は、プログラミングでも書き込みの危機が発生することがわかります。唯一の違いは、ほとんどの人にとってあなたはエンジニアであるということです。したがって、あなたが働いていない場合は、その後、あなたは怠惰です。アーティストの同じ怠惰は、創造的なプロセスの魅力的な部分の形をとります。
違い。
執筆とプログラミングの最も明らかな違いは、一度書かれ、編集され、そして作り直された後、小説はほとんど変わっていないということだと思います。作家が数年後に小説に戻って改訂版を出版するケースがいくつかありますが、これはまれであり、多くの場合、孤立したケースです。コードは時間の経過とともに進化し、多くの場合複数の人によって実行される、無限の変化の流れを経験します。この単純な事実は、両方のプロセスに大きな影響を及ぼします。プログラマーは、システムの最初のバージョンが非常に不完全である可能性があると考えることがよくありますが、改善する時間はまだあります。一方、作家は、小説ごとに1つの別々のバージョンがあることを知っており、散文を書くことは基本的に書き直しのプロセスであるという点までです。文章の書き直し、章全体、対話、その音は調子が悪い。時々2、3、あるいは10回書き直します。
この点でのプログラミングは、書くことから何かを学ぶことができると私は信じています。新しいシステムの最初のコアを書くとき、元の作成者がまだ一人で孤立しているときは、何でもできます。システムの初期の頃は、可能な限り最良の設計を見つけるために、このプリミティブカーネルを何度も書き直す必要があります。私の仮説は、この最初の開発により、後で何が起こるかがほぼ明らかになるということです。最初の作成から数年後でも、元のコアがシステムが最終的に受け入れる将来の質量のほんの一部です。
興味があれば、私のサイエンスフィクション小説について簡単に説明します。多くの内省の後、私は原稿を編集者のジュリオ・モッツィに送りました。彼は数週間以内に改訂の提案を送ってくれます。彼のメモに基づいて新しいレビュープロセスを開始し、できれば1、2か月で小説を完成させます。そしてついに私はイタリア語版を出版する準備ができました。その間、改訂された小説は米国の私の翻訳者に送られ、彼女が翻訳を終えると、英語版も出版されます。長い旅ですが、とても気に入りました。