Thread overview
Paul Graham's Language Thoughts
Feb 09, 2003
Mark Evans
Feb 10, 2003
factory
Feb 10, 2003
Walter
Feb 11, 2003
factory
Feb 10, 2003
Walter
February 09, 2003
For what they may be worth.   -M.

http://www.paulgraham.com/popular.html http://www.paulgraham.com/arcll1.html http://www.paulgraham.com/noop.html http://www.paulgraham.com/design.html

"The only reliable plan is to design for performance. Performance doesn't mean speed; that's taking the metaphor too literally. Speed counts, but a programming language is first of all a tool for thinking in. We want thinking in Arc to feel like driving a 911."


February 10, 2003
In article <b26gsc$2kbs$1@digitaldaemon.com>, Mark_member@pathlink.com says...
> For what they may be worth.   -M.
> 
> http://www.paulgraham.com/popular.html

  Comments:
  1) The bit about 'Expert hackers' sounds distressingly Ayn Rand-esqe.
:)
  2)
  - 'Scripting need', I would put it more as a language has to have an
obvious use for the language. But while that does describe many
languages, that does not describe C++, which did not initially have the
'scripting' relationship with unix, or anything else for that matter.
  - 'freeness' I don't think it's an issue of 'hackers' having to
purchase the language, it's more of an issue of profit concerns not co-
inciding with the needs of the language.
  - 'must have a book', I think the author is committing 'Cum hoc ergo
propter hoc' here. Although it's rare that the designer of a language
does not put out a body of information about the language they are
designing.
  3) I agree, except the bit about strongly typed languages. As long as
I do not have to continually keep on repeating my intent, which seems to
be a common trap by the language designer. But a strongly typed language
does not _have_ to have this problem.
  4) I disagree. A hack is the sign of a language deficiency, and thus a
language which requires more hacks, all other things being equal, is a
worse language. But unfortunately a programmer has an infinite number of
ways to express a concept, whereas a language definition is only finite,
so one can never remove all hacks.
  5) I agree, but for the reason that small programs test the languages
ability to do things on the small scale, and large programs are made up
of things done on large and small scales. You need to be able to do both
to make a good language.
  - 'language must run out of the box', it's a nice thing to have, but
it's just not the reality of systems nowadays. A better argument would
be to say that a languages needs a good way to: create the program,
build the program, debug the program, and deploy the program. Oh and
interactivity isn't really an issue, of the popular languages that grew
up in the 90's only Python had an interactive mode, iirc. But I would
say that debuggers that are able to do similar things to an interactive
mode are a great boon. (BTW what do ppl use for debugging D, I'm using
vs7, it kinda sucks :)
  6) Yar, I agree, but libraries are 'hard', and they cannot cover the
one most needed piece of functionality that a modern programmer needs,
the GUI. At least not in any meaningful way.
  7) Syntax is important, but who doesn't already know this?
  8) I disagree. A programmer should be able to write any piece of code
and not have to worry about performance concerns, in a perfect world.
Tools that help the user fix performance problems are a second best
alternative to having the language do it all for them.
  9) Dunno, maybe the problem is not that garage guys have trouble
getting ppl to listen to them, but that the big bang guys have trouble
listening to other ppl?
  10) I agree, out with the old, in with the new. Hmm when is the last
time D removed a feature?
  11) Lisp.. hmm..
  12) The dream language.. why COBOL of course.. :)

> http://www.paulgraham.com/arcll1.html
  Seems to be a rethinking of Lisp.

> http://www.paulgraham.com/noop.html
  Hmm anti-OO advocacy, well generally it's a bad thing to wade into
that debate, but I'm stupid. And since I'm stupid I like things in
simple terms, I'll rewrite his points in simpler terms.

  Introduction: I know these Kewl ppl who don't like OOP. OO programmers
overuse OOP.
  1) OOP is just a fad, to ppl who have never used a Real Language.
  2) OO programmers are mediocre, OOP produces bloated code.
  3) OOP is just a way of making busy work.
  4) Hey look a straw man, I better go an knock him down.
  5) OOP is only good for a subset of programs.
  Afterword: I've never used OOP and I do just fine. I'm stupid. You
shouldn't design a language that disregards what other ppl think. You
shouldn't change your language design depending on what other ppl think.

  Hmm.. dodgey.

> http://www.paulgraham.com/design.html

  One of the more odder analogies to make.
  Hmm iirc, wasn't Smalltalk designed to be used by the 'average user'?

  - Factory
February 10, 2003
"Mark Evans" <Mark_member@pathlink.com> wrote in message news:b26gsc$2kbs$1@digitaldaemon.com...
> For what they may be worth.   -M.
>
> http://www.paulgraham.com/popular.html http://www.paulgraham.com/arcll1.html http://www.paulgraham.com/noop.html http://www.paulgraham.com/design.html

Some good thoughts here, especially in the first link. -Walter


February 10, 2003
"factory" <tehdasX@optushome.com.au> wrote in message news:MPG.18b1a4931ca3fc9f989686@news.digitalmars.com...
> > http://www.paulgraham.com/noop.html
>   Hmm anti-OO advocacy, well generally it's a bad thing to wade into
> that debate, but I'm stupid. And since I'm stupid I like things in
> simple terms, I'll rewrite his points in simpler terms.

I like using OOP, but I don't see it as a panacea, i.e. the 'everything must be an object' point of view. I tend to use a mix of OOP and some plain old global functions. Oddly, D supports both styles <g>.


February 11, 2003
In article <b27066$2rjj$1@digitaldaemon.com>, walter@digitalmars.com says...
> "factory" <tehdasX@optushome.com.au> wrote in message news:MPG.18b1a4931ca3fc9f989686@news.digitalmars.com...
> > > http://www.paulgraham.com/noop.html
> >   Hmm anti-OO advocacy, well generally it's a bad thing to wade into
> > that debate, but I'm stupid. And since I'm stupid I like things in
> > simple terms, I'll rewrite his points in simpler terms.
> 
> I like using OOP, but I don't see it as a panacea, i.e. the 'everything must be an object' point of view. I tend to use a mix of OOP and some plain old global functions. Oddly, D supports both styles <g>.

  Hey, C++ supports both styles too! There a pattern here somewhere.. :)

-- 
 - Factory, there is no X in my email.