gnu3dkit-dev
[Top][All Lists]
Advanced

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

Re: [Gnu3dkit-dev] Documentation Project


From: Brent Gulanowski
Subject: Re: [Gnu3dkit-dev] Documentation Project
Date: Fri, 11 Oct 2002 12:08:37 -0400

On Friday, October 11, 2002, at 01:38  AM, Philippe C.D. Robert wrote:

Hi,

this is maybe a very good idea. To finally make some progress again, I planned to upload all header files to the CVS (including empty implementations maybe) so that you see my ideas. I would then fill in the code which would come from 0.3 ASAP. But unfortunately there are still some issues with the design which are not yet finalised, ie the new camera design to name one.

I hesitate taking the old 0.3.x tree, adding the new files as is to let everyone working on it, because I think this would turn out to be a little messy - I'd rather have a simple version to start with (that is no graph optimisation, GL optimisations etc.), so that the design is understandable by anyone and that design flaws are detected early!

What do you think?

If the design is significantly different, then this makes perfect sense to me. It doesn't mean that you're throwing out existing work, but that old code will have to be inspected carefully as it is deemed appropriate and added in. I believe it is ideal to start with the external headers for any project, whether you are a top-down design-first person (like me) or an XP person. I may change my tune after a few years, but it seems to me that for a library, you usually have some idea how it is going to be used first, so creating the API that is exposed first will get you thinking in terms of the services being offered and how best to represent them, instead of worrying about how they are implemented.

The main argument I've heard against this is that you might think you are going to do something and find you can't do it later, or it has to be done in a completely different way. I think this is more a problem with C when you pass a lot of primitive type arguments around, as opposed to Objective-C where you are passing mostly objects. You have more experience, so you decide.

As for optimisations, certainly you don't have to worry about those yet. Start with the design, and modify as appropriate. Because we already have a base of working code, we can look at that for reference and/or cut&paste. And we have more than 3DKit v0.3 to look at for fine-grain programming. If we get to a point where we can assign sections of code to specialize in, each specialist would be advised to look at other available implementations for insights, especially other LGPL projects. That much of it is written in C++ might be a problem, but if I don't have to re-invent the wheel... unless it's fun!

BTW, did any of my speculations of the graph organization have an applicable value?

--
Brent Gulanowski                                address@hidden

There are only two industries that refer to their customers as "users".
     -Edward Tufte





reply via email to

[Prev in Thread] Current Thread [Next in Thread]