Boost logo

Boost :

From: Ville Voutilainen (ville.voutilainen_at_[hidden])
Date: 2024-05-10 22:01:34


On Fri, 10 May 2024 at 18:59, Niall Douglas via Boost
<boost_at_[hidden]> wrote:
>
> On 10/05/2024 16:45, Peter Dimov via Boost wrote:
> > Niall Douglas wrote:
> >
> > Did you (as in, you, Ben Craig, or one of the others) ever write this up in some
> > form? I would certainly be interested in reading about it.
>
> My memory is that it was mostly written up in private email exchanges
> amongst a small group. I wasn't always included in the discussion,
> either, so I only saw parts of the debate and design.
>
> I do remember seeing at one point a private github repo with some code,
> and me writing an email saying something like "no no no that's all
> wrong, do X, Y and Z instead" :)
>
> In any case I'm the wrong person to ask about this, as I wasn't invited
> into the main group who did most of the running. Ben I think would be a
> much better bet. I'll CC him there now to this.
>
>
> > I remember your having a paper about Microsoft COM, but if memory serves,
> > I found it a bit difficult to understand. In particular, it wasn't quite clear what
> > exactly was being proposed; as in, what needs to change, in language or library,
> > and how.
>
> That was a very, very long time ago.
>
> That was the thing I built for BlackBerry while I was working there.
> Basically a modernised Microsoft COM. Fully working implementation.
> Would have solved lots of future C++ ABI upgrade problems in BB10.
>
> Unfortunately, my colleagues at BlackBerry at the time reacted very
> similarly to how COM was reacted to in Microsoft when it was presented.
> COM only became what it did because a senior manager in Office went
> ahead and adopted it anyway despite the negative reaction. And that
> forced everybody else to use it, and before you knew it, everything on
> Windows had to be COM. And then the COM designers were being showered
> with accolades and given cheques of cash bonuses in gratitude.
>
> But yes you're right, I do think Microsoft COM is underrated and if C++
> adopted it into the language, it would make a very substantial
> improvement to C++. Politically impossible, unfortunately. Gaby dos Reis

Well, you know.. that sort of a mechanism is not going to solve ABI
issues now and forever. I have
written one for another phone vendor, and they shipped it on a couple
hundred of million devices.
I didn't make it interface-only, it allowed you to get from an
interface to a concrete non-virtual API,
because that's an inevitable practical need for quite many users. And
for quite some other users,
it's an unbearable burden to have to go through interface indirections
for an API that you never
ended up needing to extend in ways that the purported ABI freedoms
provided by such a beast
allows.

Are you going to make std::string a COM type with interface
indirections? tuple? pair?

> tried to effectively propose a modernised COM for C++ Modules
> originally, and to say that went down like a lead balloon would be
> putting it mildly.

I have absolutely no idea what you're talking about there. I cannot
find a Modules proposal that does
anything of the sort. Please point to the proposal you think you're
talking about.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk