Pull to refresh

Comments 2

А что, SOM еще где то применяется? Мне казалось, что уже и COM при смерти, а уж SOM совсем некромантия.
Предполагается, что, натренировавшись, можно сделать что-то лучше, и то, что SOM не применяется — это в какой-то степени благо, можно сбросить балласт архаичных решений. А вместо совместимости с SOM на бинарном уровне я бы предпочёл частичную совместимость с Objective-C на уровне исходных кодов. Чтоб был специальный компилятор с модифицированной семантикой для портирования на новую модель.

Кстати, я пишу вам сейчас из Comodo IceDragon, который почти Mozilla Firefox, а там XPCOM, и в некотором смысле COM себя замечательно чувствует. А ещё достаточно популярен VirtualBox со своей разновидностью XPCOM. Если вам нужно написать офисный документ, возьмёте, скорее всего, для этого вы либо Microsoft Word с понятно, какой начинкой, либо один из клонов бывшего StarOffice, в котором UNO. Ранее упомянутый Objective-C сейчас сложно заподозрить в недостатке внимания. А в Windows Metro есть такая штука, как Windows Runtime, и она, кроме поддержки .NET и JavaScript, пошла обратно в натив, и происходит это через COM. Как следствие, в супер-пупер новой Windows Runtime можно прочитать про такие ограничения, как «A ref class that has a public constructor must be declared as sealed, to prevent further derivation.» или, ещё раз, «You must declare as sealed any classes that are publicly exposed by your Windows Runtime Component.». Qt разрабатывается на обычном C++, и чтобы там не прекращалась совместимость, приходится плясать вот так. Другие разработчики под Linux этим правилам не следовали, и как результат, фрагментация дистрибутивов Linux. Если не нашёлся ноулайфер, который пересоберёт программу под очередной выпуск очередного дистрибутива Linux, оно там, если просто скопировать, имеет все шансы не запуститься, и о магазинах приложений под Linux остаётся только мечтать. А старый SOM эти проблемы решал и делал лучше всех других существующих решений.
Sign up to leave a comment.

Articles