Re: [Hampshire] Whatever happened to programming?

Top Page

Reply to this message
Author: Stephen Rowles
Date:  
To: Hampshire LUG Discussion List
Subject: Re: [Hampshire] Whatever happened to programming?
On 03/07/2010 08:25 AM, Stephen Davies wrote:
> There is an interesting discussion on /. with the above topic.
>
> http://developers.slashdot.org/comments.pl?sid=1573922
>
> as someone who started out using Punched Cards& Paper Tape (but I bow
> down in age to John Lewis)
> and who has programmed in Fortran, Algol, Coral 66, Basic, Ada, Cobol,
> Java, C, Pascal, HTML, CSS etc., plus a whole shed load of machine code
> & embedded software (e.g. ITV Teletext Service Oracle's Subtitling
> Keyboard) many of the comments about the dumbing down, the use of
> frameworks and the like really ring a lot of bells.
>


These seems to me like the typical "in my day" rants.

I think there is any problem with programming as such, simply the
choices that management make.

The biggest cost of a large software project is the on-going
maintenance. For any reasonably large project the cost of fixing bugs
and maintaining the existing code. Because of this frameworks are often
chosen because they can dramatically reduce this cost. People work with
a framework they know and understand. The common bugs get fixed early
and everyone gets the fix (rather than having to track down a memory
leek from 5 separate people's bad linked list implementations, for example).

However those advantages come with a cost, usually in a lack of
flexibility and a cost in performance and cost size.

The problem comes is that people don't recognise that there are
trade-off's, they use a framework and expect to perform better than
writing their own highly specialised implementation. For example, if you
are writing an application on top of a database, using an abstracted ORM
layer will probably make it easier and faster to write the code, and
probably make it easier to maintain. It will also make it easier to
support different database back ends. However it is going to be slower
compared with hand optimised SQL for a specific target database. This is
a trade off a development team has to be aware of and analyse.

As always I am a fan of the best tool for the job.

Writing a JEE application server on top of a database writing in Java is
not the best thing to use for running the internals of a digital watch.

Equally using hand coded x86 assembler to write a huge complex piece of
business software which deals with complex inter-company interactions
and has a rich web based UI is not a good idea either.

There is "no one size fits all" approach to programming. The sooner
people realise that and pick appropriate solutions for the job, rather
than picking a solution because they like the sound of the buzz words
and bludgeoning it to fit, the better.