Larry Wall's comments on Ruby

No, they aren’t:

http://www.mines.edu/students/b/bolmstea/malbolge/

Programming in malbolge seems to be quite difficult:

http://www.acooke.org/andrew/writing/malbolge.html

···

Am 2002-09-07 21:01:44 +0900 schrieb Christian Szegedy:

Excuse me, isn’t it how all languages are (or should be) made?
Yes, they should be, but are they?


Don’t worry about people stealing an idea. If it’s original, you will have to
ram it down their throats.
– Howard Aiken

Christian Szegedy wrote:

Denys Usynin wrote:

I think this whole Least Surprise Principle is a load of bullshit that
is invoked far too often for no good reason. It has a fancy name, but
I translate it to myself as “when matz made Ruby he made sure the way
it worked made sense to him”. Excuse me, isn’t it how all languages
are(or should be) made?

I was able to use Ruby quite well 1 hour after downloading it.
And I used most features without reading any docs at all,
just by guessing it based on common sense considerations. (In all
other languages I know, there were always surprising details I had
to learn before using a particular feature.) This attribute of
Ruby became quite conscious before I had learn the phrase “principle
of least surprise”. For me, it was not a buzzword but the label
of a concrete psychological experience I made. But, of course, this
is fairly subjective and other people may not had the same
experience, but this is no reason to tell us that it does not exist.
I could demonstrate it to my brother also: I taught him Ruby half an
hour long, then I asked him "how would you do this or this more
conveniently? He always told the best way according to him (sometimes
it was a feature he knew from Java, sometimes it was something he
knew from Maple, sometimes just a common sense solution he thought
it was most appropriate. Most worked quite well in Ruby :))

Well this is like saying: Ruby is very natural and intuitive and you can
learn it in 1 hour, but here’s a catch: you have to master at least one
other popular language first. Which may take you a year but nevermind that.
But at least in my personal experience (which I admit may be different
from others) many good languages work exactly the same way and trying to
say Ruby is special because of that isn’t quite true. When I first
learned Java after already knowing C++ pretty well, it didn’t really
surprise me and came quite naturally, even though admittedly it takes a
lot longer to learn basic java than basic Ruby.

I think this whole Least Surprise Principle is a load of bullshit that
is invoked far too often for no good reason. It has a fancy name, but I
translate it to myself as “when matz made Ruby he made sure the way it
worked made sense to him”. Excuse me, isn’t it how all languages are(or
should be) made?

Although I admit the “Principle of Least Surprise” has bigger impact
than I expected, I still disagree all languages are following the
principle.

Well yes, I went way too far saying all languages follow that, but I
still think many do. Ruby is among the most elegant and consistent
languages out there, but it’s by no means out there alone.

Language designers are often too near-sighted in designing his/her
language. They often focus too much on “what it can do”. But in
reality we have to focus on “how it can solve” or “how it makes you
feel in programming”. I think this is a difference.

agreed, there are plenty of languages that are inconvenient.

I also admit that Ruby offers bunch of surprises when you meet it for
the first time. But once you become familiar with it, you will feel
comfortable programming in it.

many other languages work exactly the same way. I will go further
and say any language that wants to be widespread and efficient MUST work
this way.

Believe me, not all languages are made equal. Some (or many)
languages just don’t make you feel comfortable even after you’ve
mastered it. Their design just don’t care how you feel while you
program in.

If “POLS” is not a proper word for the concept, and you have a better
slogan for the concept, I’d glad to switch.

POLS is just as good a word as any other, and I think it’s an excellent
concept. What I was trying to say is not that the principle doesn’t work
but that it’s not a new idea, and many other languages were designed
to follow it, even though the creators never say or even realize it.

That’s something that’s too often forgotten. Procedural is really a subset
of OO. You can write a (high-level) C program within Java. One student I
know did it as a protest. 500 lines inside main(). Not even any
functions. As far as I know, he now works for Red Hat.

Well, they must have stopped off in Australia for a short while in-between uni
and Redhat. A couple of years ago, I re-wrote a program a previous contract
“programmer” had written in precisely the same way … only, it was about
2000 lines of code :-(.

Mind you, it only took a couple of days to do it properly, compared to the
three months they’d spent writing (more likely, debugging!) the original
bilge.

Oh yes, there is no doubt about it. I just regretted that for a clever
man as Larry Wall, he still does not want to learn from his language
successor or to admit that the language “art” has progressed much since he
first wrote Perl.

Regards,

Bill

···

============================================================================
Gavin Sinclair gsinclair@soyabean.com.au wrote:

Then finally, after I learned all the OO stuff, I got the quite pleasant
surprise, that I actually already programmed in OO since the beginning as
the simple script above is actually inside the class Object. What can be
better than this? Even in Java people have to be choked with endless
keywords and object stuff since the beginning. I would not hesitate to
say that Matz is much more genius than Larry!

Whoa! Larry Wall is an extremely clever man. Perl is a major work of modern
art, as ugly as all the rest of modern art. This is potentially flamewar
territory (though this group usually survives those pretty well), but let me
just say politely that Ruby borrows a lot from Perl - both in positive features
to extract and negatives to leave behind.

Florian Frank wrote:

http://www.mines.edu/students/b/bolmstea/malbolge/

:)))))

Denys Usynin wrote:

Christian Szegedy wrote:

Well this is like saying: Ruby is very natural and intuitive and you can
learn it in 1 hour, but here’s a catch: you have to master at least one
other popular language first. Which may take you a year but nevermind that.
But at least in my personal experience (which I admit may be different
from others) many good languages work exactly the same way and trying to
say Ruby is special because of that isn’t quite true. When I first
learned Java after already knowing C++ pretty well, it didn’t really
surprise me and came quite naturally, even though admittedly it takes a
lot longer to learn basic java than basic Ruby.

I knew only C and C++ (And a bit Basic and some assemblers) before Ruby.
I tried Perl,Python and Sather before trying Ruby (never more than 3
hours), and none of them made it. I simply did not like them.
They were too clumsy for me: at least I did not feel the urge because
I missed the high degree of satisfaction I feeled with Ruby.
I must admit, I did not try hard. I learnt tcl (after learning
Ruby, beacuse I must have), but it took much more time, and
I still have to look into the docs when using it.

The test I used for choosing my working language was the
simplicity of defining iterators. I always told everyone: there is one
feature C misses so desperatly: that you can’t define functions
which call the block that follows them.
I thought of the syntax “void f(…,@x)”; Where @x would denote the
block succeeding f. I told everyone that C would be a ten times
better language, if it had this (seemingly unimportant) feature.
I found Sather which was quite OK in this regard, but it had a quite
unfamiliar syntax and it seemed that the project was dead.
In every new language I looked at, I checked
how simple or complicated is to define iterators. So I was clearly
impressed by seeing that Ruby features almost exactly the solution
I considered to be ideal. And even more simply: by using yield.
And all this together with a familiar syntax with lot of features,
open classes, completely object oriented etc. etc…

What I wanted to express: that it is simply false, that it was
only my previous experience that made Ruby so simple. In fact,
I could learn most languages in a week or so, but I’d be in trouble
if I had to write something practical after an hour.

Regards, Christian

William Djaja Tjokroaminata billtj@z.glue.umd.edu wrote in message news:ali6js$llu$3@grapevine.wam.umd.edu

Oh yes, there is no doubt about it. I just regretted that for a clever
man as Larry Wall, he still does not want to learn from his language
successor or to admit that the language “art” has progressed much since he
first wrote Perl.

Regards,

Bill

i have a great deal of respect for Mr. Wall as i was a perl programmer
for many years. however, i couldn’t bring myself to read his critique
of ruby. to me it’s like asking the maker of Coke to give an overview
of Pepsi as a soft-drink product. unless he’s worked with ruby
hands-on and has experience using the language to write real world
projects, i don’t feel the need to listen to his evaluation.

the idea of appreciating a language for how it “feels” when you
program seems like it was the last on the list of priorities when they
created perl. how they kludge’d OO into perl 5 is such a great
example. looking back i don’t think i ever enjoyed writing a perl
program. it reminds me so much of BASIC. it’s functional, it gets
the job done, but don’t expect much more out of it.

ruby is a different ballgame altogether. it seems so heavily
influenced by eastern philosphy, the theory of feng shui, path of
least resistance, etc. something only a true ruby programmer can
understand, feel, and appreciate.

Joseph Benik wrote:

William Djaja Tjokroaminata billtj@z.glue.umd.edu wrote in message news:ali6js$llu$3@grapevine.wam.umd.edu

Oh yes, there is no doubt about it. I just regretted that for a clever
man as Larry Wall, he still does not want to learn from his language
successor or to admit that the language “art” has progressed much since he
first wrote Perl.

Regards,

Bill

i have a great deal of respect for Mr. Wall as i was a perl programmer
for many years. however, i couldn’t bring myself to read his critique
of ruby. to me it’s like asking the maker of Coke to give an overview
of Pepsi as a soft-drink product. unless he’s worked with ruby
hands-on and has experience using the language to write real world
projects, i don’t feel the need to listen to his evaluation.

the idea of appreciating a language for how it “feels” when you
program seems like it was the last on the list of priorities when they
created perl. how they kludge’d OO into perl 5 is such a great
example. looking back i don’t think i ever enjoyed writing a perl
program. it reminds me so much of BASIC. it’s functional, it gets
the job done, but don’t expect much more out of it.

ruby is a different ballgame altogether. it seems so heavily
influenced by eastern philosphy, the theory of feng shui, path of
least resistance, etc. something only a true ruby programmer can
understand, feel, and appreciate.
Hey! Keep your feng outta my shui! : )

Sorry…