3章構造体

ビジネスや開発に役立つソフトウェアは、たいてい何千行、何万行ものソースコードで構成されています。その巨大な行数のテキストで書かれたプログラムを、ひと息で理解することは不可能です。そのため、たいていのプログラミング言語やフレームワークは、プログラムを小さな構成要素に分解し、人間が理解しやすくするための要素を提供しています。

20年ほど前に作られたプログラミング言語は、だいたいクラスを持っています。クラスはオブジェクト指向のための分析・設計の方法論や、デザインパターンのような設計のパターンランゲージ、テスト駆動開発など、さまざまな側面からプログラムを「統制可能」にしてくれました。

一方で、使う手法を間違えたり、継承の濫用、無理にオブジェクト指向風にしたことによるコード量の増加など、弊害も出てきました。近年では開発効率を上げるために関数型言語のスタイルを取り入れる言語が出てきたり、さまざまな工夫をしています。

Goの場合、オブジェクト指向のクラスから一歩シンプルにした 構造体 を提供しています。