>
> Date: Tue, 12 Nov 2002 17:07:11 -0600
> To: [EMAIL PROTECTED]
> From: John Carmack <[EMAIL PROTECTED]>
> Subject: Re:
>
>
> >
> > > Theoretically this type of component software architecture could also
help
> > > divide up the work/responsibility of your development group as well as
> > > defining the roles of the software components.
> > >
> >
> >We are trying to keep to this type of division of code, but there are
> >costs in terms of binary executable size and execution time that need
> >consideration, so nice clean breaks by doing APIs and function calls can
> >be difficult. But code is much easier to maintain when broken up, so we
> >do what we can.
> >
> >Dave
>
> Binary executable size and execution time related to code structure are a
> non-issue by at least an order of magnitude.
>
I agree with John here.  You shouldn't even be close to needing to worry
about
executable size.  If you had a very large in memory database that needed to
be
pumped on a hard restart of the program, then you may have some issues, but
with
the size of the flight control software moving it in and out of memory
shouldn't
be an issue.  I don't think that the structure of the code will make too
much
difference here also.  One of the reasons I was trying to get a feeling for
the
latency in the control and sensor side of the loop was get a rough idea what
the
performance budget for the main loop is (how long a time do you have between
iterations of the main control loop?).  I all likelihood the overhead due to
code
structure would be in the noise range.

> I do quite firmly believe that when a project is simple enough that one
> person is capable of writing it, it should be written by one person.  Many
> projects do eventually get beyond that point, but it is good strategy to
> try and stay in the one-man-software-development range.
>
> Flight control software, even for orbital vehicles, should certainly be in
> that range.
>
> A second (or third...) pair of eyes to CHECK the code is a good thing, but
> having two or three people write code that could have been written by one
> person is a bad thing.  It really didn't take all that much time for me to
> write all of the software we use.
>
> John Carmack

Yeah, I sometimes forget to check my corporate mentality at the door.  I
agree
that if you can fit it in a single programmer range then you are much better
off
than just dividing it up for the sake of dividing it up (or what I am more
use to,
dividing it up to meet an artificial schedule).  I would still take the time
to
think about the structure you want to use from a maintainability (and
readability for
those other eyes).  I know that I have trouble following my own code after a
few months
on the shelf if I didn't put the time in to keep it structured (sometimes
even when I do, sigh).

-Tom Williams

_______________________________________________
ERPS-list mailing list
[EMAIL PROTECTED]
http://lists.erps.org/mailman/listinfo/erps-list

Reply via email to