What part of design is possible?

NOTE HXA7241 2011-09-11T09:48Z

Two of the underlying skills possible in engineering design must be part of the grounding of programming languages.

Only known things are predictable, only things that have been done before in some way. But engineering design always partly does something new – that is its purpose, otherwise, why design? So the core of any particular design is unpredictable. But is not the reason for engineering design to create rationally, predictably? It is actually impossible!

Ultimately, design works only by luck. The universe, has a fundamental regularity, and design gets by on that. We do not know and understand what further part of that regularity will step in to support a particular new design, but because the universe has a good amount, things usually work out roughly as expected.

Design is like making a chess move. You can see a move ahead, and maybe have a ‘feel’ for even further. But you have set in motion a system that ultimately, generally, cannot be predicted how it will unfold.

Creating a design produces the same situation as observing the already-made world (you have created a little bit more world). You are faced with a system that matches some laws, but cannot be entirely predicted.

If design is essentially luck, where is the skill? Mainly, you have to learn what is known, so the reliance on luck is minimised (you do not spent effort and risk re-inventing things). And also, ability to research, experiment, and learn about the new design – so making it a little old and predictable – just before it is released.

The luck the universe provides cannot be controlled. So what we are left with to improve software design must be those two skill areas: first, exchange of knowledge – well, broadly, the WWW etc. is taking care of that; second, automated experimentation – maybe this is more of a gap to be worked on.

Do programming languages support these? In what ways could they, or should they? They must at least indirectly allow them, or not obstruct them . . .