www.digitalmars.com         C & C++   DMDScript  

D - Paul Graham's Language Thoughts

reply Mark Evans <Mark_member pathlink.com> writes:
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."
Feb 09 2003
next sibling parent reply factory <tehdasX optushome.com.au> writes:
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
Feb 09 2003
parent reply "Walter" <walter digitalmars.com> writes:
"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>.
Feb 09 2003
parent factory <tehdasX optushome.com.au> writes:
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.
Feb 11 2003
prev sibling parent "Walter" <walter digitalmars.com> writes:
"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
Feb 09 2003