Типы программного обеспечения: обзор и примеры