ふと考えたことです。
英語を話す人は、英文をそのまま理解するのでしょう。
私は日本人であり、英語が得意ではありません。
”He”
と言われれば「彼」と日本語訳して意味をつかむのです。
おそらくネイティブの人ならば
"He"は"He"であり意味を考えるまでもない。
というかそのものが意味を成しているものになります。
それくらいネイティブと非ネイティブでは理解力の差があるのでしょう。
さてそこから少し話をデジタルな世界に持って行ってみます。
最近はデジタル教育が早い段階で実装され、小学校では必修になっています。
物心つくときからマインクラフトなどプログラムに近い部分に触れる機会も多いのでしょう。
そういったデジタルネイティブの人が今後生まれてくるでしょう。
(もしかしたらすでにいるかもしれませんし、超級のエンジニアはこの領域かと思われます。)
さてそういった人は、仕様書を見るよりもプログラム自体を見るほうが理解が早いのでしょうか?
何となくですが、そうではない気がします。
プログラムはあくまでコンピュータの動作について書いてあるものです。
仕様書はコンピュータに何をやらせたいかが書いてあります。
この何をやらせたいかというのは、プログラムで書くべき事柄ではありません。
一意の意味で分かるよう正確に記述する必要があるものでしょう。
そう考えると、仕様書はあくまでこういったものを作るという意思を書き込むものであり、それに従って実装されるのがプログラムなのでしょう。
実装されたものを読めば、その実態を知ることはできます。
しかしその意図は推測することはできても、確証を得ることはできません。
特に実装が間違っている場合は、仕様なのか?バグなのか?
また、修正する方向性についても目星がつかないでしょう。
そういった意味では仕様書って必要なのでしょう。