kouzdra (kouzdra) wrote,
kouzdra
kouzdra

Category:

goбъектное-5

О прошлом:

Возникает естественный вопрос - могла ли эта модель быть реализована в начале 70-х. По сложности реализации она не сложнее классического Simula/C width classes-style ОО. По практичности она их сильно превосходит.

Один подводный камень в ней есть: при реализации интерфейса как просто таблички для лукапа методов возникает проблема преобразования значений типа интерфейс - которая требует потенциально динамического формирования новой таблицы по полученной старой.

И тут возникает Сборка Мусора™.

Можно ли выкрутиться - видимо да - но ценой некоторого усложнения VMT и некоторой потери в эффективности (хотя время доступа останется константой). Примерно по той модели, по которой аналогичная фича реализаована в O'Caml (см Didier Rémy. Efficient Representation of Extensible Records).

Как это на самом деле сделано в Go, я пока не разобрался.
Tags: go, goбьектное, Компутерщина
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 3 comments