A
Andy Fish
1. Programming is more fun than it used to be.
Java and C# (and doubtless others) are everything a programming
language/environment should always have been. No need to worry about memory
management, IDEs with auto-completion, and massive built in libraries of
data structures and support functions.
Good riddance to all of the follwing: Managing strings in and memory
allocation in C; porting C apps across unixes or to windows (all those
nested #ifdefs); 16 bit windows programming (near and far, large compact
small, and a memory manager that would allocate you a block of memory but
might move it afterwards); trying to call windows APIs from VB; dll hell;
socket programming; languages without exception handling (having to check
the return code of every function); unix interrupt handlers.
2. Programming is not as much fun as it used to be
Back in the good old days I used to spend much of my time actually
programming. Apart from databases and VBXs, software re-use was just pie in
the sky (most software projects failed and were never used at all) so
programming meant programming - and lots of it.
Nowadays I seem to spend all my time looking on the net for a component or
library that does what I want, or a standard I should adhere to; trying to
understand complicated intertwined standards and specifications and large
pieces of infrastructure and middleware, and figure out what they mean to
me; debugging and playing with all these third paty pieces to try to get
them to do what I actually want.
Even within my own code, if I want module B to do something similar to
module A it's no longer acceptable just to make a copy of A and hack away; I
have to refactor it out into subclasses.
On the whole, we have made massive progress and there is no doubt that the
software industry provides far better value for money to it's customers than
before. The holy grail of re-use is here, and standards allow systems to
interoperate to the massive benefit of all the civilised world. But
sometimes I would like to re-write one of my old completely bespoke systems
from scratch in visual C# just to get the best of both worlds
Java and C# (and doubtless others) are everything a programming
language/environment should always have been. No need to worry about memory
management, IDEs with auto-completion, and massive built in libraries of
data structures and support functions.
Good riddance to all of the follwing: Managing strings in and memory
allocation in C; porting C apps across unixes or to windows (all those
nested #ifdefs); 16 bit windows programming (near and far, large compact
small, and a memory manager that would allocate you a block of memory but
might move it afterwards); trying to call windows APIs from VB; dll hell;
socket programming; languages without exception handling (having to check
the return code of every function); unix interrupt handlers.
2. Programming is not as much fun as it used to be
Back in the good old days I used to spend much of my time actually
programming. Apart from databases and VBXs, software re-use was just pie in
the sky (most software projects failed and were never used at all) so
programming meant programming - and lots of it.
Nowadays I seem to spend all my time looking on the net for a component or
library that does what I want, or a standard I should adhere to; trying to
understand complicated intertwined standards and specifications and large
pieces of infrastructure and middleware, and figure out what they mean to
me; debugging and playing with all these third paty pieces to try to get
them to do what I actually want.
Even within my own code, if I want module B to do something similar to
module A it's no longer acceptable just to make a copy of A and hack away; I
have to refactor it out into subclasses.
On the whole, we have made massive progress and there is no doubt that the
software industry provides far better value for money to it's customers than
before. The holy grail of re-use is here, and standards allow systems to
interoperate to the massive benefit of all the civilised world. But
sometimes I would like to re-write one of my old completely bespoke systems
from scratch in visual C# just to get the best of both worlds