[BLOG] A different perspective on Ruby

This has perhaps been aired here already, if so, apologies.

Someone did not like Ruby; I find it refreshing to read
these takes as well since the actually bring up some
(fairly) valid points, this one moreso than usual.

http://www.ericw.org/rants/showrant.psp?rant=ruby

E

···

--
template<typename duck>
void quack(duck& d) { d.quack(); }

ES wrote:

This has perhaps been aired here already, if so, apologies.

Someone did not like Ruby; I find it refreshing to read
these takes as well since the actually bring up some
(fairly) valid points, this one moreso than usual.

http://www.ericw.org/rants/showrant.psp?rant=ruby

First, an OT question: Is there a Firefox extension that lets me *quickly* disable/enable page colors? I know I can do this via the Web dev tool bar stuff, but it's too many clicks, and sites with white text on a dark background (hip as that may be) are so painful to look at I get retina burn before I can finish all that clicking.

About the log entry. I have a rule of thumb. If someone is using the words "shit" or "fuck" three or four times on page, they quickly lose all credibility. (Certain words should be treated like global variables: saved for special cases and for specific effect.)

I like reading critiques (or criticism, even) of Ruby, but most of what was mentioned there were straw man arguments. Certainly POLS is a known subjective aspect and an easy target. I expect everyone reading ruby-talk could assemble a list of cases where Ruby violates their own sense of POLS.

James Britt

···

--

http://www.ruby-doc.org - The Ruby Documentation Site
http://www.rubyxml.com - News, Articles, and Listings for Ruby & XML
http://www.rubystuff.com - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com - Playing with Better Toys

Some valid points ? I think this guy does not know what he's talking about, or simply did not read the documentation correctly, or is simply blinded by something he should unlearn first, or simply likes making straw man arguments for the sake of it, or simply likes to rant (that I can understand, I like it too :slight_smile: ).

And calling the language creator(s) "fucktard(s)" really doesn't help making a point, really.

···

On 26 mai 05, at 05:46, ES wrote:

Someone did not like Ruby; I find it refreshing to read
these takes as well since the actually bring up some
(fairly) valid points, this one moreso than usual.

--
Luc Heinrich - lucsky@mac.com - http://www.honk-honk.com

Despite the fucking swearing, he did come up with a list of almost everything
that has confused or annoyed me since I started using ruby.

What he neglected to mention is that Ruby is without doubt the closest attempt
yet at a perfect scripting language. Sure, it has some wrinkles, but I have
high hopes of those being sorted in the next iteration, whether by Matz or by
somebody else standing on his (and other giants) shoulders.

Despite the colourful language, an insightful critique and worth a quick
browse.

Andrew Walrond

PS The lack of documentation regarding method thrown exceptions is perhaps my
favourite criticism. Not at all core, but frustrating as hell when writing
OO /exception driven programs.

···

On Thursday 26 May 2005 04:46, ES wrote:

This has perhaps been aired here already, if so, apologies.

Someone did not like Ruby; I find it refreshing to read
these takes as well since the actually bring up some
(fairly) valid points, this one moreso than usual.

http://www.ericw.org/rants/showrant.psp?rant=ruby

I haven't seen it, and I see very little valid on that page.

-austin

···

On 5/25/05, ES <ruby-ml@magical-cat.org> wrote:

This has perhaps been aired here already, if so, apologies.

Someone did not like Ruby; I find it refreshing to read
these takes as well since the actually bring up some
(fairly) valid points, this one moreso than usual.

http://www.ericw.org/rants/showrant.psp?rant=ruby

--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca

ES wrote:

http://www.ericw.org/rants/showrant.psp?rant=ruby

"It's 5.abs for absolute value, but Math.sqrt(5) for square root."

Good point. That bugs me too. abs is a *function*, not logically a
method.

A few other good points, too. Shame about the presentation.

Gavin

I use a bookmarklet in my bookmarks toolbar for this.

http://www.squarefree.com/bookmarklets/zap.html

martin

···

James Britt <james_b@neurogami.com> wrote:

First, an OT question: Is there a Firefox extension that lets me
*quickly* disable/enable page colors? I know I can do this via the Web
dev tool bar stuff, but it's too many clicks, and sites with white text
on a dark background (hip as that may be) are so painful to look at I
get retina burn before I can finish all that clicking.

He is 18 and just out of high school and thinks he knows everything.
I think everyone goes through that phase.

···

On 5/26/05, Luc Heinrich <lucsky@mac.com> wrote:

On 26 mai 05, at 05:46, ES wrote:

> Someone did not like Ruby; I find it refreshing to read
> these takes as well since the actually bring up some
> (fairly) valid points, this one moreso than usual.

Some valid points ? I think this guy does not know what he's talking
about, or simply did not read the documentation correctly, or is
simply blinded by something he should unlearn first, or simply likes
making straw man arguments for the sake of it, or simply likes to
rant (that I can understand, I like it too :slight_smile: ).

And calling the language creator(s) "fucktard(s)" really doesn't help
making a point, really.

--
Luc Heinrich - lucsky@mac.com - http://www.honk-honk.com

Luc Heinrich ha scritto:

···

On 26 mai 05, at 05:46, ES wrote:

Someone did not like Ruby; I find it refreshing to read
these takes as well since the actually bring up some
(fairly) valid points, this one moreso than usual.

Some valid points ? I think this guy does not know what he's talking about, or simply did not read the documentation correctly, or is simply blinded by something he should unlearn first, or simply likes making straw man arguments for the sake of it, or simply likes to rant (that I can understand, I like it too :slight_smile: ).

I think this is a bad written rant, but I agree that I'd like implicit namespace creation a-la python and that it's refreshing to see some ruby critiques.

ES wrote:

> http://www.ericw.org/rants/showrant.psp?rant=ruby

"It's 5.abs for absolute value, but Math.sqrt(5) for square root."

Good point. That bugs me too. abs is a *function*, not logically a
method.

Why not 5.sqrt instead. Better to ask the object to do something, that
to do something with the object. That allows to use duck typing and
special casing to be done in the "special cased" object. I prefer
"string".length a lot over length(string)

regards,

Brian

···

On 26/05/05, gsinclair@gmail.com <gsinclair@gmail.com> wrote:

Gavin

--
http://ruby.brian-schroeder.de/

Stringed instrument chords: http://chordlist.brian-schroeder.de/

gsinclair@gmail.com wrote:

Good point. That bugs me too. abs is a *function*, not logically a
method.

What about 5.-@ ?

···

--
Florian Frank

I'd say conceptually abs belongs with floor, ceil, round and truncate.

martin

···

gsinclair@gmail.com <gsinclair@gmail.com> wrote:

ES wrote:

> http://www.ericw.org/rants/showrant.psp?rant=ruby

"It's 5.abs for absolute value, but Math.sqrt(5) for square root."

Good point. That bugs me too. abs is a *function*, not logically a
method.

* gsinclair@gmail.com <gsinclair@gmail.com> [2005-05-26 21:35:19 +0900]:

"It's 5.abs for absolute value, but Math.sqrt(5) for square root."

Good point. That bugs me too. abs is a *function*, not logically a
method.

My take is that there are a few methods that apply to floats
and ints and bignums. These (like floor, ceil, abs) are commonly
known, accepted and used functions and it makes sense to make
them methods.

However, my f(x) is likely to be different than your f(x). In
fact, there are an infinite number f(x)'s in the world and
an infinite number of function names. If Ruby included them
into numeric, then I would feel like I was in Java swing. :slight_smile:

Also, since 9/4 = 2, I'm not so sure that 5.sqrt wouldn't
be 2 or 0, depending upon how you slice it.

A few other good points, too. Shame about the presentation.

Nothing that hasn't been said before, but in a much more acceptable
way that promotes good discussion and real action.

Nothing new here people... move along, move along.

···

--
Jim Freeze
Ruby: I can explain it to ya but I can't understand it fer ya.

Hi,

"It's 5.abs for absolute value, but Math.sqrt(5) for square root."

Good point. That bugs me too. abs is a *function*, not logically a
method.

The definition of abs is not questionable; it returns self, negated
when self is negative, for all numeric value. On the other hand,
natural sqrt() may return float or integer, or something else. That's
the reason for sqrt() being a function in Math module. Note that the
name "Math" means math.h (collection of float value functions) in
Unix, not mathematics in general.

Besides that, he doesn't understand what POLS means. Since someone
will surprise for any arbitrary choice, it is impossible to satisfy
"least surprise" in his sense. The truth is two folds: a) when there
are two or more choices in the language design decision, I take the
one that makes _me_ surprise least. b) as a result, you will have
less surprise in Ruby than other languages, once you have accustomed
to it.

But I'm tired of explaining POLS again and again. I haven't even used
it first. I hope no one will use the term "POLS" any more to sell
Ruby. It's free after all.

              matz.

···

In message "Re: A different perspective on Ruby." on Thu, 26 May 2005 21:35:19 +0900, "gsinclair@gmail.com" <gsinclair@gmail.com> writes:

ES wrote:

This has perhaps been aired here already, if so, apologies.

Someone did not like Ruby; I find it refreshing to read
these takes as well since the actually bring up some
(fairly) valid points, this one moreso than usual.

http://www.ericw.org/rants/showrant.psp?rant=ruby

First, an OT question: Is there a Firefox extension that lets me
*quickly* disable/enable page colors? I know I can do this via the Web
dev tool bar stuff, but it's too many clicks, and sites with white text
on a dark background (hip as that may be) are so painful to look at I
get retina burn before I can finish all that clicking.

About the log entry. I have a rule of thumb. If someone is using the
words "shit" or "fuck" three or four times on page, they quickly lose
all credibility. (Certain words should be treated like global
variables: saved for special cases and for specific effect.)

Ah, yes. I forgot to append a disclaimer about the language.

I like reading critiques (or criticism, even) of Ruby, but most of what
was mentioned there were straw man arguments. Certainly POLS is a known
subjective aspect and an easy target. I expect everyone reading
ruby-talk could assemble a list of cases where Ruby violates their own
sense of POLS.

Sometimes it is good to know what the other people think is surprising;
not because it violates some imaginary principle but because it might
actually be a good idea to re-evaluate a given aspect to make it more
obvious.

James Britt

E

···

Le 26/5/2005, "James Britt" <james_b@neurogami.com> a écrit:

--
template<typename duck>
void quack(duck& d) { d.quack(); }

First, an OT question: Is there a Firefox extension that lets me
*quickly* disable/enable page colors?

Use Opera! :slight_smile: Shift+G toggles between the user and author modes.
Really handy. I switch to the author mode only when page colors
matter.

No offense intended, but Opera is far more feature-rich, (yet the
features
are hidden until you explicitly unleash them), a bit lighter (less than
4 MB including flash and friends), a bit snappier (may depend on you
environment), etc. What's the catch? Nothing, except for the small
add
which is displayed if you don't pay (about US$40).

Sorry I couldn't resist to the chance of advocacy. :slight_smile:
I'm simpy a fan of Opera; I have nothing to do with the company,
by the way.

Cheers,
Ryo

Andrew Walrond wrote:

Despite the fucking swearing, he did come up with a list of almost
everything that has confused or annoyed me since I started using ruby.

I thought so. Specifically I think he nailed some things which aren't language artifacts that one has to accept.

You can't tell what raises what.
Half the socket routines return bullshit.
The threading model is about as useful as slamming your dick in a vise.

These are all horribly designed and can be fixed.

···

--
J Lambert

Martin DeMello ha scritto:

I use a bookmarklet in my bookmarks toolbar for this.

for *just a second* I've been thinking you used a toolbar to collect places where ruby-talk shows that POLS relates to Matz' least surprise.
How lovely.

I would also agree. This did make me ponder when I initially found
it. If they have to be in a module, wouldn't it make sense to have it
be default includeable?

Cameron

···

On 5/26/05, Brian Schröder <ruby.brian@gmail.com> wrote:

On 26/05/05, gsinclair@gmail.com <gsinclair@gmail.com> wrote:
> ES wrote:
>
> > http://www.ericw.org/rants/showrant.psp?rant=ruby
>
> "It's 5.abs for absolute value, but Math.sqrt(5) for square root."
>
> Good point. That bugs me too. abs is a *function*, not logically a
> method.
>

Why not 5.sqrt instead. Better to ask the object to do something, that
to do something with the object.

In article <1117115503.104127.21363.nullmailer@x31.priv.netlab.jp>,
matz@ruby-lang.org says...

Besides that, he doesn't understand what POLS means. Since someone
will surprise for any arbitrary choice, it is impossible to satisfy
"least surprise" in his sense. The truth is two folds: a) when there
are two or more choices in the language design decision, I take the
one that makes _me_ surprise least. b) as a result, you will have
less surprise in Ruby than other languages, once you have accustomed
to it.

Nicely put. I suggest we start referring to the POMLS - Principle of
Matz's Least Surprise. That way, if anyone ever debates it, you can pop
in and say "I wasn't surprised at all," thus authoritatively refuting
the argument!

···

--
Jay Levitt |
Wellesley, MA | I feel calm. I feel ready. I can only
Faster: jay at jay dot fm | conclude that's because I don't have a
http://www.jay.fm | full grasp of the situation. - Mark Adler