|
Advanced Software Perspectives
|
I quote “Programming is inhumanly hard. It stretches our mental abilities past their natural limits” from The OOPSLA 2005 Proceedings - “Subtext - Uncovering the Simplicty of Programming”
Well, I have more confidence in human’s mental capabilities than that (more on the article itself later) - but coding often does involve keeping 1000s of variables in one’s head at one time as we map out the impact a change will have - or conversely how to map backwards from the desired change to what we need to do next.
And all these variables we are managing are not just all ‘programming variables’, but mental models, look-and-feel, performance, aesthetics, usablility, maintainability, understandability, acceptability, etc. etc. etc.
Mental models (structured programming, object-orientation, etc.), visual models (entity-relation diagrams, swim lanes, etc.), programming tools (debuggers) all help. A positive, can-do attitude helps too.
One can’t help but think that looking backward from the future that there will have been many other mental and visual models and tools (and perhaps other mental disciplines) that will be discovered and help keep programmers one step ahead (or is it behind) the complexity curve.
The whole point here is that it is the mental models (aka paradigms) of how to structure, manipulate and think about software that leads to the major advances in what can be done by human beings using computers.
This blogging category will explore various mental models - with the hope that maybe we can all kick-start the next revolution sooner than later.
Discussion
No comments for “Coder()”
Post a comment
You must be logged in to post a comment.