信長の戦術にプログラミングの本質が見える訳 社会のあらゆる仕組みを説明することが可能
「プログラム」と聞いて、みなさんはどのようなものを思い浮かべるでしょうか? もしかすると多くの方がパソコン上に英語や数字が羅列したものを想像されたかもしれません。
ではここで質問です。たとえば運動会で「次に何の種目が行われるか」を記した表をどのように呼びますか? おそらく「運動会のプログラム」と言っているのではないでしょうか。同じように発表会にもテレビ番組にも「プログラム」は存在しますし、その順番や内容を検討する過程は「プログラミング」と呼ぶことができます。
実社会のさまざまな仕組みが、プログラミングという視点を通じて説明でき、また逆に、プログラミングの概念が、実社会のさまざまな局面にも応用可能だといえるのです。
ではここからプログラミング技術が古今東西の実社会で活かされる場面を見てみましょう。
長篠の戦いもプログラミング技術と関係
日本の歴史でも、プログラミング技術と類似する戦術が大きな功績を挙げたことがあります。
時は戦国時代。ご存じ、尾張のうつけ者とも呼ばれた織田信長が、当時無敵を誇っていた武田騎馬軍団を「長篠の戦い」で打ち破ることができたのは、とある戦術があってのことでした。
機動力があり、また高いところから攻撃を行うことができる騎馬隊こそが最強だと疑われていなかった当時、信長は鉄砲隊を戦場の中心に据えていました。現在放映中の大河ドラマ「麒麟がくる」でも、他国に先んじて鉄砲隊を組織する信長の様子が描かれていましたので、ご存じの方は多いかもしれません。
しかしこの時代、鉄砲を撃つにはまず筒を掃除し、火薬と弾薬を詰め、狙いを定めて撃つ、という過程が必要で、1発撃った後、2発目を撃つまでの間にかなりの時間を要することになります。そのため、速力に勝る騎馬隊に、鉄砲隊が蹂躙(じゅうりん)されてしまうこともしばしば。
そこで信長は馬防柵を設け、鉄砲隊を3列に分けて柵の後ろに配置し、1列目が発砲するとすぐさま後ろに下がり、2列目はいつでも発砲できる態勢を維持、という戦術を編み出したと言われています。
実は、これはプログラマーが「バッファリング」と呼ぶ技術。コンピュータでよく使われているのはダブルバッファリングという方式ですが、信長の場合、3列ありますからトリプルバッファリングとでも呼べばよいでしょうか。
無料会員登録はこちら
ログインはこちら