13 Aug 2000 nymia   » (Master)

9:15 PM

Ok, just managed to finish the build process in place for the kernel module. Then sent a email to the group and I'll wait from there, I don't want to put all my effort in there only to be wasted later.

4:35 PM

Currently compiling gcc as a cross-compiler targetting x86- pc-linux. Will attempt to make an Atheos build later.

1:29 PM

Currently playing with Atheos' makefiles, it looks like the build structure needs some improvement so I'm modifying how the build process works. Hope the change gets accepted 'coz I think the owner should be doing this. Also, I noticed the build structure isn't part of the development package, hmm, I wonder why?

11:53 AM

After doing some simple exercise with COM like structures and C++ structures, I find the following to be very important in my work:

(1) C++ provides inheritance that allows the derived object to call its overriden member function. This feature has its pros and cons and I should be aware when to use inheritance 'coz not all solutions require inheritance.

(2) In C++, multiple inheritance provides an easy way of introducing design mistakes.

(3) COM like structures do not support inheritance as inheritance couples the objects and distorts the interface between objects. Also, COM is not OO but rather a structure where a client can get any reference by returning a casted pointer. This is done using containment and aggregation where a class can aggregate multiple instances under it or redefine the member by means of containment. Stroustrup has heavily defended inheritance with his principle that an object is defined by it and its surrounding objects.

(4) C++ provides a way of implementing interfaces and that is via namespaces.

(5) Code reuse in C++ is done via white-box, the implementer must be aware of the contents of the object. COM like objects, on the other hand, use black-box, usually via aggregation to implement code reuse, the implementer doesn't care what happens inside the object as long the interface/contract is permenant. COM components expose one or more interfaces for clients to connect to and query it if a service is available. On C++, implementers assume that clients know its objects intimately that querying for services are considered an excess.

(6) Factoring [1, 2, 3] plays a very important part on OO/component design.

2:15 AM

Reference:

Inside COM
The C++ Programming Language
Inside the C++ Object Model

Clippings

Linux gains foothold in local mart

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!