> > 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
