Re: OOP, C, COM, and Bonobo
- From: Miguel de Icaza <miguel helixcode com>
- To: Ryan Marsh <ryan butterflysoft org>
- Cc: gnome-components-list gnome org
- Subject: Re: OOP, C, COM, and Bonobo
- Date: 12 Oct 2000 22:44:43 -0400
> My first question is, in the context of Bonobo, why C? I can imagine
> that this question has been asked before (though I've never seen an
> answer). I am not a lanuage bigot (though somewhat of an Object
> Oriented bigot) and I most certainly recognize the strengths of C.
> However, when trying to implement a framework for building reusable
> software components, based upon object interfaces, object activation,
> et. al. one might ask why use a language that provides minimal support
> (constructs) for object oriented programming.
>From the Bonobo FAQ:
Bonobo is a component architecture for creating reusable and
distributed software components. These software components
interact with each other through well defined interfaces which are
specified in the CORBA Interface Definition Language.
We distinguish between `Bonobo' the name of the component
architecture, and `bonobo' which is the C-based easy to use
implemenatation of the Bonobo component architecture.
The bonobo distribution consists of the following pieces:
* The Bonobo interface definition files: these establish the
standard interfaces used by Bonobo-based applications.
* The core Bonobo runtime: Bonobo contains a rich API for
dealing Bonobo Objects (activation for example).
* The Gtk-Based (and hence C-based) Bonobo framework for
creating new Bonobo::Unknown derived interfaces. These are
used to simplify the development of CORBA-servers using the
C language binding.
Each derivative of a BonoboObject implements an interface
derived from IDL:Bonobo/Unknown:1.0.
* A set of ready-to-use BonoboObjects derivatives that can be
used in a variety of situations. These are considered
developer "sugar", although not required, they greatly
simplify the development of Bonobo-based applications.
* A set of "sugar" functions for manipulating client-side
objects.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]