On 31 March 2010 19:01, Tony Gore
<tony@xxxxxxxxxxxx> wrote:
I couldn't remember whether it was Potters Bar or Hatfield - thanks for
the correction.
It was Hatfield, as Denis said. One rail fractured suddenly into about a dozen pieces, some several meters long. Trains don't run well without rails so the rest was inevitable. (FWIW, Potters Bar was where a point split so that carriages went both ways; the last one came into the station sideways, literally.)
The anecdote about Britain's division between wheel and rail is often repeated and has become rather political, if I may put it delicately; I don't want to express a view. But there is now a body responsible for managing the issue and banging heads together when required. So, in as much as it's effective, the problem is not as severe as it was before the Hatfield crash.
Getting back to software and design problems, I have been on the receiving end of large amounts of code (Java as it happens) written by inexperienced people who don't know how to manage and express abstractions. Getting the behaviour right is a nightmare when the proverbial wood, trees, shrubs and undergrowth are impenetrably bound together. Copy and paste is one of the main culprits; KISS and DRY are often techniques that fall on deaf ears.
Languages like Scala are very exciting and all that, as a means to help people deal with abstractions (if they'll ever learn), but we still need to capture the requirements clearly, simply and completely. But Java isn't going to 'move over' just yet. It's business as usual, sadly.
Perhaps I'm getting more cynical! At least it's flattering to be the one who people come to when they have trouble with concurrency. I enjoy the flattery, but I benefited from a good grounding in occam. :)
Sorry for rambling,
RIck
--