OberonCore
https://forum.oberoncore.ru/

Почему ББ завязан на COM?
https://forum.oberoncore.ru/viewtopic.php?f=2&t=3288
Страница 1 из 1

Автор:  Илья Ермаков [ Воскресенье, 27 Февраль, 2011 12:54 ]
Заголовок сообщения:  Почему ББ завязан на COM?

http://oberon.talk4fun.net/index.php?topic=21.0
igor писал(а):
Скажем Блэкбокс, по моему убеждению, совершенно напрасно замешан на COM. Для этого не было никаких веских оснований, зато должно было усложнить портирование на Линукс. По поводу оснований даже страшно предположить (неужели "прогиб" под Microsoft? :( Не, не верится...)


Дело, думаю, в том, что Шиперски и Ко. были в первой половине девяностых "авангардом компонентного программирования" и как бы... непосредственно строили свою деятельность в рамках "гонки компонентных технологий". И сочли, видимо, оправданным поддержать COM, показать, как легко они его поддержат, ну и захватить долю рынка. Ну и результат-то был - награда CeBiT как лучшего средства разработки под COM. Только вот COM-то умер.. как архитектура, а не как набор библиотек и межпроцессных связей в Винде.

В итоге можно говорить, что поддержка эта обошлась совсем "малой кровью". Никаких проблем COM не создаёт, он достаточно локализован в коде, тем более, находится преимущественно в подсистеме платформенной реализации (Host), да в ядре. ББ, если Вы не вставляете OLE-объекты и не используете интерфейсы автоматизации к другим приложениям, работает вообще без задействования средств COM (т.е. COM-овский код лежит в памяти "мёртвым грузом" и ничего не делает). Что очевидно подтверждается при эксплуатации ББ под Wine.

Автор:  igor [ Воскресенье, 27 Февраль, 2011 13:25 ]
Заголовок сообщения:  Re: Почему ББ завязан на COM?

Илья Ермаков писал(а):
И сочли, видимо, оправданным поддержать COM, показать, как легко они его поддержат, ну и захватить долю рынка.
В то время конечно трудно было строить какие-либо прогнозы по поводу будущего COM.
Илья, как Вы оцениваете это решение сегодня, с высоты лет, так сказать. Было ли оно ошибочным? Про "малую кровь" я услышал, но и "мёртвый груз" тоже, вроде как, ни к чему. А если мы захотим запускать Блэкбокс в Линукс не под wine'ом?

Автор:  Евгений Темиргалеев [ Воскресенье, 27 Февраль, 2011 13:29 ]
Заголовок сообщения:  Re: Почему ББ завязан на COM?

По-моему, COM нахрен не нужен. Проблема только в том, что его выковыривание --- сложная задача. Легко м.быть только Оминку, т.к. они знают, чего и где "вковыряли", т.е. как безболезненно обратить процесс...

Автор:  Илья Ермаков [ Воскресенье, 27 Февраль, 2011 13:34 ]
Заголовок сообщения:  Re: Почему ББ завязан на COM?

igor писал(а):
Илья, как Вы оцениваете это решение сегодня, с высоты лет, так сказать. Было ли оно ошибочным? Про "малую кровь" я услышал, но и "мёртвый груз" тоже, вроде как, ни к чему. А если мы захотим запускать Блэкбокс в Линукс не под wine'ом?


Как неграфическое приложение мы и так его запускаем. А для портирования графики COM мешает в последнюю очередь - при переписывании Host он исчезает сам собой, как призрак прошлого :) От него ничего не зависит в платформенно-независимой части :) Это такая же завязка на платформу, как и WinApi. Внутренняя.

Автор:  Илья Ермаков [ Воскресенье, 27 Февраль, 2011 13:35 ]
Заголовок сообщения:  Re: Почему ББ завязан на COM?

А вот взять и "выковырять" COM из текущей виндовой реализации (т.е. оставить тот же Host, но без COM) - и правда задача нереальная, о чём и говорит Евгений. Можно только переписать Host целиком.

Автор:  Иван Кузьмицкий [ Воскресенье, 27 Февраль, 2011 13:39 ]
Заголовок сообщения:  Re: Почему ББ завязан на COM?

Илья Ермаков писал(а):
Можно только переписать Host целиком.
Звучит как приговор :)

Автор:  igor [ Воскресенье, 27 Февраль, 2011 13:54 ]
Заголовок сообщения:  Re: Почему ББ завязан на COM?

Илья Ермаков писал(а):
Можно только переписать Host целиком.
К сожалению, не только Host, но и Dev (частично) и модуль Kernel. Короче, можно вырвать только с мясом :)

Автор:  Info21 [ Воскресенье, 27 Февраль, 2011 14:56 ]
Заголовок сообщения:  Re: Почему ББ завязан на COM?

Да ладно страшилки разводить.
Не так оно там страшно.
Да и под Wine же не мешает -- значит, особой проблемы нет.

Автор:  QWERTYProgrammer [ Воскресенье, 27 Февраль, 2011 14:59 ]
Заголовок сообщения:  Re: Почему ББ завязан на COM?

Насколько я понимаю COM необходим для организации интерфейса с MS-Office (например CtlExcel, CtlOffice импортируют COM). Поэтому выбрасывать COM из виндоусовской реализации ради чистоты реализации под линукс было бы просто глупо.

Автор:  Иван Денисов [ Воскресенье, 27 Февраль, 2011 18:46 ]
Заголовок сообщения:  Re: Почему ББ завязан на COM?

Info21 писал(а):
Да ладно страшилки разводить.
Не так оно там страшно.
Да и под Wine же не мешает -- значит, особой проблемы нет.
Ох, вайн нонича умный :) у меня такое впечатление, что и опен офис умеет COM, поскольку я вчера копировал свои графики из BB в OpenOffice с примочкой от Омника для BMP COM, все прекрасно вставило. НО честно признаюсь, что в COM дилетант, даже хуже - невежда :)

Автор:  Евгений Темиргалеев [ Понедельник, 28 Февраль, 2011 09:33 ]
Заголовок сообщения:  Re: Почему ББ завязан на COM?

divan писал(а):
НО честно признаюсь, что в COM дилетант, даже хуже - невежда :)
Не велика потеря :) А то и вообще --- повезло...

Автор:  Валерий Лаптев [ Понедельник, 28 Февраль, 2011 10:47 ]
Заголовок сообщения:  Re: Почему ББ завязан на COM?

divan писал(а):
Info21 писал(а):
Да ладно страшилки разводить.
Не так оно там страшно.
Да и под Wine же не мешает -- значит, особой проблемы нет.
Ох, вайн нонича умный :) у меня такое впечатление, что и опен офис умеет COM, поскольку я вчера копировал свои графики из BB в OpenOffice с примочкой от Омника для BMP COM, все прекрасно вставило. НО честно признаюсь, что в COM дилетант, даже хуже - невежда :)

Я в свое время теоретически пытался "подковаться". Две книжки - очень хорошие. Одна из них Д.Бокс Сущность COM-технологии. Первые две главы написаны очень просто и понятно. А потом "такое началось"... :)
По признанию некоторых С++профи, на освоение "мутности" COM у ниж уходило до полугода...

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/