[Alug] ALUG Library ...

Steve Fosdick fozzy at pelvoux.demon.co.uk
Sat May 5 00:58:59 BST 2001

On Fri, May 04, 2001 at 01:15:53AM -0700, David Freeman wrote:

> Exactly, and a compromise is the worst parts of all solutions. The
> language I am liking at the moment is java, it just makes sense with
> the OO design etc...

Engineering is about making things that are fit for a purpose and very
often this involves compromise.  A system that will need to be changed
but is unmaintainable is not fit for purpose and neither is one that
goes to slowly.

Engineering is full of compromises.  Take the example of the clutch in
a motor car - this is an ineffcient device (wastes energy when it is
slipping) and has poor life (it wears out much faster than the engine
does) and yet it is still widely used.  It is an acceptable

> I would agree, C was one of those things which changed history,
> without it we would never have the computer revolution we have
> now. It is however over 30 yrs old, which means it's not as modern
> and good as a language which was designed recently.

What of Linux then?  Much of the Linux functionality is a clone of
Unix which is also the same age.  Should we switching to something
more modern like MS WIndows?

Actually there is some debate as I understand as to whether we should
move away from monolithic kernels towards a microkernel and message
passing (which suites OO design).

The last article I read in which Linus made any comment on working
with microkernels he likened it to masturbation.


> BBC basic @ 9 yrs old, horrible language, then Visual Basic - I
> agree with ESR "about as uch fun as a picnic in a toxic waste dump"
> Z80 assembler and then C. Since learing C I have learnt Java and it
> makes more sense to me than procedural programming.

Another interesting viewpoint.  When I first encountered BBC BASIC the
only comparison I could make myself was against the BASIC on the
Sinclair machines (ZX81 and Spectrum) and comments made my friends
about other home computers they owned.  BBC Basic was considered good
because it had long variable names, named procedures and a proper

> Take a look at your older code, you will notice you did very BASIC
> things in C, I know I have tried these things.

The language I learnt after Sinclair BASIC was Z80 Assembler and it
was quite imposible to do BASIC like things in that.  Next was BBC
BASIC, then 6502 Assembler.  At that time I also tinkered with Pascal
a little (enough to discover that unextended ISO pascal at the time
was not a useful language) and a bit more with BCPL.

After that I learned C, programmed in HP Pascal, learnt and used TQL
(an SQL like language), then programmed in C, C++, then learnt and
used SQL.

Of all these SQL is the odd one out and, while I usually don't have a
problem with SQL, it does seem to be capable of complexity explosion -
i.e. you take a very straightforward query and need to make a small
change to it and and up with something very much more complicated, and
I often think how much simpler it would be sometimes to write
something like:

for every row of table x where condition y
   for every row of table a where condition b
	do g,h,i,j

rather than a big join with unions too and both lists of columns and
conditions repeated in various places (waiting for the unwary


More information about the main mailing list