One thought that came to my mind is the difference between code written for
dedicated real-time systems, and code that is written for 'applications' (in
the broadest sense). Embedded code has to fit with a bunch of constraints:
processor, memory, and domain. Code that is written to make, say, a database
engine work has to take account of a myriad of different and competing
requirements, and I guess, you might describe such an engine as 'general
purpose'. The wider the domain of application, the more magic stuff you've got
This reminds me of this software rule that paraphrases one about project, i.e.
'work expands to occupy the time available'. In software, it feels like it
goes, 'software expands to occupy the memory, processing and bandwidth
available' (but in the meantime, we figure out what new cool stuff we can do...
which, of course, means more code!)
Plus, it's easier to add to code than to take away, since if we remove stuff,
someone may invariably shout, 'hey! this isn't working anymore!' :-)
From: Lindsay Marshall [mailto:lindsay.marsh...@newcastle.ac.uk]
Sent: 07 October 2011 07:00
To: Derek M Jones
Cc: Raoul Duke; Ppig-Discuss-List
Subject: Re: studies of source code line purposes?
>> along the lines of a thought i've had of late "why is there so much
>> *code*!?", i wonder if anybody has tired to study programs and
>> categorize the source code into purposes, so we could get a feel for
I would have thought that quite a lot of the work on "patterns" might be
relevant to this, even if only indirectly.
The Open University is incorporated by Royal Charter (RC 000391), an exempt
charity in England & Wales and a charity registered in Scotland (SC 038302).