Re: studies of source code line purposes?
On 2011-10-07 10:18, C.Douce wrote: This reminds me of this software rule that paraphrases one about project, i.e. 'work expands to occupy the time available'. http://en.wikipedia.org/wiki/Parkinson%27s_law -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302).
Re: studies of source code line purposes?
Hi all, I've been collecting videos of software developers explaining their code to new team members. This is revealing some categorisations of code in their own words. One common categorisation of code is to split it into "boilerplate" and the "meat" or "guts". The meat is the interesting stuff, the boilerplate code is "really boring" and repetitive. Others I've seen include "some setup stuff", "some error handling", GUI and backend, and design patterns. This is work in progress, let me know if you'd be interested in the results! Regards, Becky On 07/10/11 09:18, C.Douce wrote: Hi Raoul, 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 to write. 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!' :-) Chris -Original Message- 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. L. -- Rebecca Yates http://staff.lero.ie/ryates/ Lero - The Irish Software Engineering Research Centre University of Limerick -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302).
RE: studies of source code line purposes?
Hi Raoul, 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 to write. 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!' :-) Chris -Original Message- 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. L. -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302).
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. L. -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302).
Re: studies of source code line purposes?
Raoul, 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 This is a very fundamental question. Jorma Sajaniemi came up with one of the few ideas addressing this issue, roles of variables: http://www.cs.joensuu.fi/~saja/var_roles/ -- Derek M. Jones tel: +44 (0) 1252 520 667 Knowledge Software Ltd blog:shape-of-code.coding-guidelines.com Source code analysishttp://www.knosof.co.uk -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302).
Re: studies of source code line purposes?
With respect to the UI portion... Here is a paper by Myers and Rosson from 1992: http://dl.acm.org/citation.cfm?id=142789 On Thu, Oct 6, 2011 at 6:58 PM, Raoul Duke wrote: > hi, > > 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 > what kinds of complexities are all mixed up in our systems? i have > done cursory google searching, but it didn't immediately turn up > anything obviously appropriate based on titles. i.e. i'm wondering how > much code can be attributed to: > * wiring data through, components together. > * control flow. > * managing namespaces. > * dealing with errors of all ilk, those can be categories in and of > themselves. > * user interface. > * concurrency. > * typing. > * yadda yadda yadda > there's probably a fair bit of overlap in the semantics/purposes/goals > of those, making categorization more nuanced? > > thanks and apologies if i missed an obvious paper! > sincerely. > > -- > The Open University is incorporated by Royal Charter (RC 000391), an exempt > charity in England & Wales and a charity registered in Scotland (SC 038302). > >