バージョン管理は自然文の管理に向いてない
まとめ
自然言語がバージョン管理に向いてないのは以下理由による
コンテキストを含んだ数行以上の塊がコロコロ変わる(変えることができる)がゆえに、diffがただの before/after にしかならないから
もっと言うと「行単位でdiff見れる」という行志向の恩恵を享受しにくい
hr.icon
わからん
やっぱりわからん
プログラミングも「こっちの書き方が良いですね」「こっちの書き方が正しいですね」くらいでは
わからん
厳密なセマンティクスだからdiffによる差分チェックが可能、とあるが
別に自然言語でも差分管理できるくない?
https://gyazo.com/bdc798e7a5f500682a7bbbd568e26710
差分表示が英語(コード)か日本語かが違うだけで
やっぱりわからんなぁ……(僕が足りてないだけなんだろうが
あ、ちょっとわかったかも
コードも自然言語も、その文や行だけで完結することは稀で、「前後に書いてある文(コンテキスト)」とセットであることが多い
コードは厳密な文法に従って書くので、コンテキストはそのままに修正する ← こうなっていく
diff 取っても差分がわかりやすい
コンテキストを前提として良し悪しを判断できる(しやすい)
自然言語は厳密じゃないので、コンテキストもころころ変わる
例
「(コンテキストも含んだ数行以上の)塊」が丸々書き換わる
新しい塊を注入する
既存の塊を丸々削除する、移動する
……
厳密な文法があるわけじゃないので、なんでもできてしまう
するとdiffの結果もごみごみしてきて、「右の方が良い表現っすね」くらいしか言えない
ごみごみしたdiffの例
https://gyazo.com/753f48b7228be1fb2a6292a6b3e0c3b0
すぐにこんな感じで「赤と緑が雑多に混ざる」感じになる
こうなると「赤だけ見る」「緑だけ見る」くらいしかできない
その上で「緑の方でいいっすね」くらいしか言えない
あと自然言語は一文が長くなりがちなので、正直diffが見づらいってのもある?
よほど読みやすさを意識したなろう系でもない限り、折返しが複数回入るくらいの長さは普通に出る sta.iconが、いせむげでは例見つけられんかった(なろう系で一文短いからなぁ) いったんなしで