"Succinctness is Power", by Paul Graham

Z

Zed A. Shaw

DHH mentioned at Canada on Rails (if I recall) that having
database.yml instead of database.rb was basically a beginner's
mistake, and that distant-future plans include turning that into a
Ruby script.
So, at least the rails core team agrees with you. Heh.

Oh great, an ever modifiable ruby DSL that we'll never be able to write a nice configuration tool against. What happened to embrace the constraint?
 
M

MonkeeSage

Jeffrey said:
while Ruby is an enjoyable language with a hell of a lot of potential,
appreciating it does not require us to denegrate either Perl or C++.

<joking>

Yes, it does. Its actually in the license. And Sun is mentioned also,
but that particular clause is up for review as of late, what with their
hiring the JRuby team and all. But what has C++ done for us lately,
huh? ;)

</joking>

Regards,
Jordan
 
D

Devin Mullins

Zed said:
Oh great, an ever modifiable ruby DSL that we'll never be able to
write a nice configuration tool against. What happened to embrace
the constraint?
Man, fame has made you mean...
 
M

M. Edward (Ed) Borasky

Tim said:
I've heard rumors of a Fortran compiler written in troff macros. Now
*that* is bonkers...

I hadn't heard that one. However, "f2c" and "p2c" (FORTRAN to C and
Pascal to C translators) were quite popular at one time before the good
GNUs started to spread. :)
 
T

Tom Pollard

Great, when I looked at it I almost thaught, well why the heck
would someone
use anything else than sed.

It's just a CGI, of course, rather than an actual httpd replacement,
but quite elegant nonetheless.

I'd never seen sed.sourceforge.net. It's kind of surreal. My first
response was, this is what Larry Wall (mercifully) saved us from.

Tom
 
G

Giles Bowkett

The observation that C++ is a destructor is inaccurate. C++ is THE
destructor. (As in, "Are you the gatekeeper?")

I think they used YAML for the DB config in Rails because it was easy
to do and libraries already existed. I'm not surprised to hear that
they might make it all Ruby, although I don't actually remember
hearing that.

I think the statements sourcing Paul Graham in the Scheme school of
Lisp fanatics is probably inaccurate. He wrote a book on Common Lisp,
and most of the examples in his other Lisp book are in Common Lisp as
well, with only a few in Scheme.
 
K

Kero

Well, considering that Paul Graham is a Lispnik, I think we can infer
what his definitions of "powerful" and "succinct" in a programming
language are. What would be interesting to me would be where he stands
on the great "Common Lisp vs. Scheme" divide. Or what he thinks of
Forth, the "other succinct and powerful language." :)

Perhaps more to the point would be a comparison of Lisp, Scheme and Ruby
as hosts for internal domain-specific languages. Didn't somebody do that
already?

(Some fun w/ Lisp and Ruby: http://www.rubyquiz.com/quiz49.html)

I once had this little conversation with a programmer tha I respect a lot:
He: "Does Ruby have closures?"
Me: "Yes"
He: "Does Ruby have continuations?"
Me: "Yes"
He: "So it's basically just Scheme, but with an uglier syntax."

I had no reply.

Bye,
Kero.
 
Z

Zed A. Shaw

(Some fun w/ Lisp and Ruby: http://www.rubyquiz.com/quiz49.html)

I once had this little conversation with a programmer tha I respect a lot:
He: "Does Ruby have closures?"
Me: "Yes"
He: "Does Ruby have continuations?"
Me: "Yes"
He: "So it's basically just Scheme, but with an uglier syntax."

I had no reply.

Oh, that's easy:

"Any language that ends nearly every function definition with the line:

)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

does NOT win the International Code Beauty Award."
 
R

Rick DeNatale

C++ *is* a destructor.

Some years ago at OOPSLA, I was hanging out in the hotel lobby, when I
saw my old buddy Kent Beck talking with a group of folks, some I or
whom knew and others I didn't.

I walked up to say hi, just as someone in the group said that he'd
heard a great joke:

Q: "Why doesn't C++ have garbage collection?"
A; "Because there would be nothing left."

To which Kent said. "Rick invented that joke!, at OOPSLA last year."
Which, indeed I had.

It was amazing to me that the joke took exactly one year to come full circle.
 
M

M. Edward (Ed) Borasky

Kero said:
(Some fun w/ Lisp and Ruby: http://www.rubyquiz.com/quiz49.html)

I once had this little conversation with a programmer tha I respect a lot:
He: "Does Ruby have closures?"
Me: "Yes"
He: "Does Ruby have continuations?"
Me: "Yes"
He: "So it's basically just Scheme, but with an uglier syntax."

I had no reply.

Well ... Ruby has closures and continuations, but does it have the third
hallmark of Scheme -- efficient tail recursion?
 
K

Keith Gaughan

Ah, but isn't PostScript a dialect of Forth?

Nah, but like all concatenative languages--Joy, for instance--it derives
some amount of inspiration from it.
 
L

Leslie Viljoen

Oh great, an ever modifiable ruby DSL that we'll never be able to write a nice configuration > tool against. What happened to embrace the constraint?

Perhaps you could get the best of both worlds by "constraining" the
developers to writing a simple API with every new config file
"format", so that code could read and write it.

Or otherwise you could have:

include database.rb
include custom-that-modifies-some-settings.rb

...which can override whatever database.rb does.

But I agree that YAML is better for this.

Les
 
M

Martin Coxall

Well ... Ruby has closures and continuations, but does it have the
No, but then Ruby's not a functional language, so it doesn't really
merit it. Still, I wouldn't mind.

Martin
 
M

Martin Coxall

I was always wondering what this really means? Is it just the
transformation of recursive calls at the end of a method into loops
and therefore killing the stack overhead of recursions?

Yes. Scheme doesn't really have any looping constructs. Schemers do
it all recursively, which forces you to think in interesting ways
about problems. But if you got a stack overflow every time you looped
through a large collection, it could rapidly become... annoying.

However, the tail-call optimization is just that- an optimization. An
implementation detail. It's not a feature of the language per se, and
could be added to Ruby without needing to make a single change to the
language spec. In any case, if we really cared about VM efficiency,
we wouldn't be Rubyists. ;p

Martin
 
G

Giles Bowkett

I once had this little conversation with a programmer tha I respect a lot:
He: "Does Ruby have closures?"
Me: "Yes"
He: "Does Ruby have continuations?"
Me: "Yes"
He: "So it's basically just Scheme, but with an uglier syntax."

I had no reply.

You know, there's a great blog thingy somewhere, I forgot who but I
think it was by Mark-Jason Dominus, about how Lisp will never be big
because it has a mean, dysfunctional community with an axe to grind.
It's kind of related to Bruce Tate's thing that being a superior
language is not enough, you have to have market adoption as well.

Of course there are also good arguments out there against becoming
"mainstream" in the first place.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,599
Members
45,163
Latest member
Sasha15427
Top