Date : Sun, 02 Apr 2006 23:42:03 +0100
From : Jules Richardson <julesrichardsonuk@...>
Subject: Re: Basic & BBC Basic
Andy Armstrong wrote:
> On 2 Apr 2006, at 17:40, Jules Richardson wrote:
>> Agreed. BASIC's too unstructured, Pascal is a little too behind the
>> times, and C++ is about the worst example of an OO language that it's
>> possible to come up with (not that the competition does much better -
>> Java's one of the few languages that's been designed to be both OO and
>> 'clean' from the ground up)
>
> Java's not quite so clean these days...
I know, that's why I pretty much got out of the Java game a few years back
when Sun started enforcing their idea of how it should be used :-(
As an OO language though it is pretty well thought out, and you don't *have*
to use all the frills if needed. Can't really comment on the GUI side of it
though - all my works was always with multi-threaded networked server-side
stuff. I don't really believe in GUIs for something that can be controlled
just as easily from a terminal window :-)
Of course there are cases - just as with any other language - where it'd be a
bad choice to use (although often that's related to speed / VM issues - and
native-compiled Java can often address those)
>> Note I'm not saying that an OO language is any kind of holy grail -
>> there are plenty of cases where a procedural language like C might be
>> better, or assembler for low-level work.
>>
>> It's a shame that the PHP designers made such a total mess of it, and
>> I get the impression that Python isn't a lot better - incremental
>> design in stages rather than an effort to get things right from the
>> start... :-(
>
> PHP is a bag of arse.
I'm not sure about bag - certainly a saucepan-full anyway :-) Mind you, I tend
not to get on with any language that allows you to just conjour variables out
of thin air ;-)
The OO side of it seems to be a total disaster though. Shame there isn't much
of an alternative when it comes to server-side web stuff (Perl's just complete
spaghetti, ASP isn't portable etc.)
> Python is a much nicer language. And 'getting
> things right from the start' is a lot easier (I mean a LOT easier) said
> than done when it comes to programming languages.
I do need to look into it (and without checking, I suspect it was you who
pointed me at the FUSE user-space Linux filesystem stuff and corresponding
Python code)
> I'd rather use a
> language that evolves in response to changing user requirements than one
> that was designed 'right' (for any given boneheaded value of 'right') at
> the start.
Oh sure, they all need to evolve. I suppose the trick is in getting the basic
framework right such that things *can* be changed without fundamentally
"breaking" the language. That's where I don't like C++ as it seems it was
built on some fundamental bad choices which make it a nasty language to use
for a lot of situations.
>> On the "only teaching Windows to students" side of things, I get the
>> impression that full CS courses aren't any better these days - it's
>> all about bolting other people's bits of software together in
>> graphical environments rather than teaching people the basics of how
>> to actually *write* stuff :-(
>
> Well of course that's what the great majority of people in the industry
> do these days too - so if you consider skills training desirable those
> are the skills people will need.
Absolutely. But my experience was that for the 30-40% of the time where
thinking beyond the taught situations was needed, the current crop of
graduates just couldn't cope. It was as though when faced with something
unknown they went into meltdown and couldn't see how to tackle the situation.
A company's no good if it can only cope with 60% of any problem and then makes
a mess of the remaining 40% (which seems to be what's wrong with a lot of
software)
Plus I found that a lot of new programmers just aren't able to separate frills
from framework when it comes to designing software - hence so fundamental
architecture choices would often be wrong, resulting in code that couldn't
evolve and requiring bodges upon bodges to add features in over time.
> One way of looking at it is that the
> world needed more programmers but teaching people to program to a decent
> standard was a bit hard - so we redefined 'programming' to make it
> easier.
It's a nice idea - providing that efficiency, disk / memory footprint etc. can
be sacrificed. I suppose I just see "one size fits all" solutions as being
horribly wasteful!
>> Maybe the whole industry will just implode in a few years time due to
>> lack of talent?
>
> Doubt it. Although not being able to ship Vista will certainly hurt MS.
Fingers crossed. I think a big shake-up's what's needed in the industry -
similar to the way things changed in the late 80's I suppose. Everything seems
to have just stagnated right now and we're trapped in a never-ending cycle of
bloated code and bloated hardware in order to try and cover the cracks...
cheers
Jules