in reply to How do you define "elegant"?

The question isn't how I define elegance, it's how they define it, and usually they're after something like "mathematical elegance". They want languages with an extremely small set of built-in features, a minimal set that can never-the-less be combined to create larger structures that can do all of the usual things.

The trouble is that "Computer Scientists" are all mathematicians, who want to pretend that they're still doing mathematics, even when they're really off doing other things. Settling issues about language design would require delving into social psychology: you need "useability experts" to design experiments that get conducted on groups of volunteers. This could be done by "Computer Scientists" using the infinite supply of undergraduates flowing through the system, but it isn't because it doesn't sound like something Donald Knuth would do.

Replies are listed 'Best First'.
Re^2: How do you define "elegant"?
by Anonymous Monk on Aug 18, 2006 at 01:08 UTC
    This could be done by "Computer Scientists" using the infinite supply of undergraduates flowing through the system, but it isn't because it doesn't sound like something Donald Knuth would do.

    Hmmm... that would be nice start, but the resultswould indicate what the CS undergraduates themselves want (or think they want) in a programming language.

    I think I'd more interested in how the general populace likes to control their computer: their user interface, or "programming language"; or whatever you'ld like to call it. We have some UI design concepts, but in general, they're poorly studied and user complaints that programmers "don't think like end users" are common. A good start would be trying to get a solid grasp on what people tend to really want.

    Then we could try to design a language that most nicely bridges the gap between what the users actually want, and what the programmers can make the machine can do, and how those programmers like to program. No language I've seen has been designed from psychological principles with both the source creator and end user in mind; I'd be curious to see what the results could tell us, if anything...