Re: Proposed Modules, My Take



On Thu, 2005-01-20 at 15:16 +0000, Mike Hearn wrote:
> I think you're assuming that to improve an API you have to break the
> interface then make it parallel installable. That's not right, you can
> evolve and improve an API without doing that: see the new file chooser API
> in GTK+ 2.6 for instance.

That is not true for all programming languages. One very simple example:
in GTK+ you can add a new "interface" base class without breaking ABI.
You can't do that in C++.

And I would think that you'd be against adding whole new APIs and
deprecated the old ones, as was done with FileSelector and FileChooser.
Isn't that incredibly similar to doing a break-and-parallel-install?

> 
> Anyway, the point isn't so much that APIs shouldn't change, clearly they
> should, it's about how that change is managed and versioned. Right now at
> first glance it looks like eg, GTKmm 2.4 is backwards compatible with 2.2
> so if 2.2

I think you mean 2.4.

>  is present, it'll all work.

No, it's not, because the documentation says that it's not. You just
think that you can infer something from the version numbers, despite all
the available evidence. A developer _must_ actually know what is
guaranteed, so he has to read some documentation.

A user should never haver to worry about any of this.

>  But it's not, and even if it was g++
> isn't. Same for some of the other parts of the bindings release.
> 
> Whereas with GTK+ and GNOME, if the user has 2.6 you know (in theory) that
> apps targetting 2.4 will work because the API is stable and therefore
> older interfaces are guaranteed to be present, and the C ABI is
> also stable.

Yes, it's nice that the GNOME Platform was able to make a very long-term
(but not infinite) commitment to never doing a break-and-parallel-
install. It means that people need to think less. Bindings try to do
that as much as possible, but we are not all using C.

1. There is no point in holding Bindings to impossible standards.
2. The Bindings release is still very useful even if it doesn't do
exactly what you want it to do.

I'm tired of you telling me that I could have avoided doing a break-and-
parallel-install of gtkmm 2.4, despite what I tell you, without you even
being familiar with gtkmm.

-- 
Murray Cumming
murrayc murrayc com
www.murrayc.com
www.openismus.com




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]