On Mon, 23 Apr 2018 19:06:43 +0100
The Natural Philosopher wrote:
> Perhaps that is why modern code seems to be so ill designed.
Sometimes it is just a matter of different design criteria, for
example these days I generally favour clarity, testability and
maintainability over efficiency (I'm becoming quite fond of Python).
Any code I write (apart from little stuff just for me) will have
other people messing wit^W^Wmodifying it over the years without me watching
so it had better be clear what's going on in there and why, and be
accompanied by enough test cases to keep it working properly.
> I learned to 'think in assembler', and I still do,
So did I, then I learned to think in Algol, BCPL, C (all very
similar really) LISP, Prolog, Smalltalk ... then the horizons started to
expand. Prior to OO I tended to think of most software as interfacing
between layers - with OO modeling the problem space became another way to
look at programming, one well suited to some classes[1] of software.
> and my code is
> usually tight and low bug content.
>
> When I write C I am thinking in termns of memory locations, pointers and
> registers, not 'objects'
I tend to think in terms of the abstractions I'm modeling with - I
aim to make my code do what it is supposed to as clearly as possible by
getting the abstractions right.
[1] OOPS :)
--
Steve O'Hara-Smith | Directable Mirror Arrays
C:\>WIN | A better way to focus the sun
The computer obeys and wins. | licences available see
You lose and Bill collects. | http://www.sohara.org/
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|