質問: プログラム全般に関する質問です。 今コンピューターでテキストファイルをいじるためのプログラミングについて勉強しているのですが “append”と“write”の違いが全然わかりません。 テキストファイルというものはあらゆるプログラミングのデータを文字列でテキストファイルに保存できるものであるならばファイルに「追加」できる“append”とファイルに「書く」“write”に大きな違いはないんじゃないんですか?
回答: 物理的な紙のノートを想像してみてください。文字を書き進めるうち、行やページもどんどん移動していきますが、いったん作業を終えてノートを閉じた後、また別のタイミングで開き直した時には、最後に書いたのはどこかとページをペラペラ探すことが多いと思います。 プログラムでテキストファイルを扱う際にも、開いていたファイルを一旦閉じた場合・既存のファイルを開き直した場合には、読み取り・書き取り位置がファイルの先頭にリセットされています。 紙のページをめくるように、テキストファイル中での位置を移動する `seek` などの関数もありますが、 **末尾に追記する**ような場合に "Append" のモードでファイルを開くことが多いです。