goбъектное-5
О прошлом:
Возникает естественный вопрос - могла ли эта модель быть реализована в начале 70-х. По сложности реализации она не сложнее классического Simula/C width classes-style ОО. По практичности она их сильно превосходит.
Один подводный камень в ней есть: при реализации интерфейса как просто таблички для лукапа методов возникает проблема преобразования значений типа интерфейс - которая требует потенциально динамического формирования новой таблицы по полученной старой.
И тут возникает Сборка Мусора™.
Можно ли выкрутиться - видимо да - но ценой некоторого усложнения VMT и некоторой потери в эффективности (хотя время доступа останется константой). Примерно по той модели, по которой аналогичная фича реализаована в O'Caml (см Didier Rémy. Efficient Representation of Extensible Records).
Как это на самом деле сделано в Go, я пока не разобрался.