Stopping cows

Mar 20, 2007 17:35

There's a scene in John Wyndham's marvellous Chocky where the main character asks his father "Why does a cow stop?"

What he means by this is why does a cow's intelligence stop: why are cows smart enough to escape out of an open gate, but not smart enough to see that they could lift up the latch with their noses and escape whenever they want? Why ( Read more... )

programming, type systems, perl, sf, ruby, haskell, beware the geek, links

Leave a comment

Comments 31

ext_30864 March 20 2007, 18:18:54 UTC
Haha, bummer for them. But he's completely right, slap in the face is the word. The reality is that Python, Ruby and PHP are just better for solving the problems people encounter in the real world, which generally means developing web apps these days :-).

You planning to do some Rails?

Reply

pozorvlak March 21 2007, 11:47:50 UTC
Exactly. Which is not to say that the academic languages don't have their good points, but it does suggest that a lot of academics need to adjust their idea of what's necessary for a language to be "good", sharpish.

Rails: yes, I'd like to. I don't have any idea of a specific project for it, though. Maybe once I've finished this verdamnt Haskell program...

Reply


elvum March 21 2007, 08:57:39 UTC
Ooh, harsh. :-) But some languages with a strong underlying theoretical basis have active development communities outside academia too, don't they? Trival example: Java and C++ have static typing, standards documents and the guarantee that each object will have a class that determines its behaviour - Java even (apparently) has formal semantics, although this must surely count as an area I'm unqualified to talk about... What about Lisp? Has anyone other than RMS and Paul Graham ever used it?

Reply

elvum March 21 2007, 09:00:04 UTC
Obviously the type system in C(++) is an abomination and barely worthy of the name - I clarify this quickly before the hordes of Haskellites fall upon me and beat me with monads.

Reply

pozorvlak March 21 2007, 12:05:59 UTC
Well, it was a pretty dreadful article, and anyone who describes Why's (poignant) guide to Ruby as "particular[ly] horrid" clearly has no soul.

To clarify - I'm not saying that the features listed are bad things, but I am saying that their absence isn't the automatic black mark that the author thinks.

Formal semantics for Java: intriguing. Without going too deep into that page, it's not clear to me if they've formalised the whole language or just the fragment that deals with concurrency. And they're using operational semantics, rather than the denotational semantics popular with the functional crowd - perhaps totherme can enlighten us as to the difference :-)

Lisp: a load of AI reseachers use(d) it, and it's the extension language for Emacs, the GIMP and AutoCAD, and the backend for the travel agents Orbitz is written in Lisp, and Reddit was written in Lisp until they rewrote it in Python, and a couple of the early symbolic algebra packages were written in Lisp, and, er... mostly it's used as a teaching language, AIUI ( ... )

Reply

elvum March 21 2007, 13:43:15 UTC
Obviously Emacs==RMS and wasn't Reddit funded by Y-Combinator, aka Paul Graham? :-) I think I tried Lisp last time I got enthused by neural nets, and cordially hated it, but then I am a thoroughly impure programmer with a moderate IDE addiction. Plus I dislike brace-heavy syntax. :-)

Reply


totherme March 21 2007, 14:16:08 UTC
Ok - I've only just read this, so I'm probably not going to say anything particularly good for another couple of hours, while I think... But a couple of neurons are firing:

I remember going to see Tony Hoare speak at the BCS a while back. elvum might remember the event. The talk was called The Ideal of Program Correctness, and seemed to be, at least in part, Tony saying why he thought it was worth having some people studying theory ( ... )

Reply

susannahf March 21 2007, 14:23:32 UTC
I can't possibly hope to make any useful comment regarding languages, but I think you have a very good point there about the difference between scientists and engineers. Anyone who has been one or the other will know how much scientists go on about how engineers don't do "proper" science, and engineers moan about how theoretical science has no practical use (and yes, they're both wrong to a certain degree). I wonder whether this is the same issue you get between computer scientists and programmers. Or I may be talking rubbish...

Reply

totherme March 21 2007, 14:40:13 UTC
I think it's a similar thing. Sometimes I think there may be more friction in the land of informatics, since the theorists are so close to the practical builders. Almost all of us are toolsmiths of one kind or another, and it's easy to forget that some of us are building tools as a way of figuring things out about the nature of tool, while others are building tools so they can use them to build other things.

This confusion isn't helped by those people who do both, in varying degrees, at the same time :)

Reply

totherme March 21 2007, 15:09:03 UTC
This confusion isn't helped by those people who do both, in varying degrees, at the same time :)

Of course - lots of funding bodies feel more inclined to give money to theorists who're only interested in the nature of tool, if it looks like they're building things that are actually useful to people.

And I imagine it might well be easier to get (venture?) capital for a toolshop, if it looks like you have some theory behind you that no one else does.

So maybe it's in everyone's short term interests to blur the lines. Long term is harder to think about...

Reply


Leave a comment

Up