Информация об изменениях

Сообщение Re[26]: Новости C#13. params от 24.10.2024 13:29

Изменено 24.10.2024 13:32 Serginio1

Re[26]: Новости C#13. params
Здравствуйте, Shmj, Вы писали:

S>>FFI это про функции, а COM это про классы! Чувствуешь разницу?

S>> СOM по сути это по сути абстрактный класс. Вернее ссылка на данные первым элементом которой это ссылка на VMT.
S>>Один объект может поддерживать несколько COM интерфейсов через QueryInterface. При этом передается ссылка на поле в котором содержится VMT с корректировкой this оносительно смещения этого поля.
S>>Так же и свой менеджер памяти. То есть FFI это огромный шаг назад.

S>Больше — не значит лучше. ООП — это особенность реализации конкретного языка. В другом языке ООП может вовсе не быть. Теряется универсальность.


S>Понятный для вас пример — WebAPI. WebAPI простой как двери — но стандарт и более-мене используется. Только это не подходит для библиотек — это сервер, медленный канал обмена, отдельный процесс и т.д.


Ну вот COM была поддержка всех языков на Windows. Это не проблема.
А вот те кто пишет кроссплатформенные библиотеки, они же как правило еще и предоставляют нормальный интерфейс для каждого языка. Например SkiaSharp
Никому не интересны голый FFI.
Re[26]: Новости C#13. params
Здравствуйте, Shmj, Вы писали:

S>>FFI это про функции, а COM это про классы! Чувствуешь разницу?

S>> СOM по сути это по сути абстрактный класс. Вернее ссылка на данные первым элементом которой это ссылка на VMT.
S>>Один объект может поддерживать несколько COM интерфейсов через QueryInterface. При этом передается ссылка на поле в котором содержится VMT с корректировкой this оносительно смещения этого поля.
S>>Так же и свой менеджер памяти. То есть FFI это огромный шаг назад.

S>Больше — не значит лучше. ООП — это особенность реализации конкретного языка. В другом языке ООП может вовсе не быть. Теряется универсальность.


S>Понятный для вас пример — WebAPI. WebAPI простой как двери — но стандарт и более-мене используется. Только это не подходит для библиотек — это сервер, медленный канал обмена, отдельный процесс и т.д.


Ну вот COM была поддержка всех языков на Windows. Это не проблема.
А вот те кто пишет кроссплатформенные библиотеки, они же как правило еще и предоставляют нормальный интерфейс для каждого языка. Например SkiaSharp это обертка над нативными SKIA библиотеками.
Никому не интересны голый FFI.