This is why Ruby 1.8.6 can never be made to run anywhere

This is why Ruby 1.8.6 can never be made to run anywhere

Post by 7stud - » Wed, 26 Sep 2007 12:53:48



Hi,

Thanks for the well written post. Can you give a little more insight
into how you came to be using ruby as your programming language of
choice instead of any of the other languages you mentioned. I know why
you might choose ruby over C/C++ or Java, but what lead you to choose
ruby over python, which as far as I can tell is ruby's closest neighbor.

Thanks.
--
Posted via http://www.yqcomputer.com/
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by Michael T. » Wed, 26 Sep 2007 14:03:19



On Tue, 2007-25-09 at 12:53 +0900, 7stud -- wrote:



I'm not Bill, but I can give you a data point related to the one you're
looking for. I'm a former Python user and (local) evangelist. Way back
when Ruby was still 0.9.something, I was using Python in my work and at
home all the time. I was doing the former, in fact, despite a company
directive saying that we should only be using C++, VB (since I was
writing a VB toolkit at the time) and tcl, of all things. (Java was
being added at the end of my tenure in that position.) I did this
because I found Python easy to program in and especially well-suited to
the kinds of code generation I had to do to fill out all the crappy
boilerplate that dominates C/C++/Java code. It was also well-suited to
driving tests.

I dropped Python because of its community.

When I started with Python -- back about v1.2 or 1.3 -- the Python
community was mostly friendly and helpful. It was a joy to be in. It
changed and it changed dramatically over time. Now I see a coterie of
people who basically sneer at anybody who isn't in their circle and who
are utterly intolerant of viewpoints not their own. And, as you can
often see in Ruby circles, they have an alarming tendency to go to other
communities to do their sneering. The friendly, warm, vibrant community
surrounding a decent language -- and I still do think Python is a good
language; I'm probably unusual among Rubistas for this -- vanished over
the years and was replaced by people I really didn't want anything to do
with.

As a language I think Ruby is slightly (and only slightly) better than
Python. It has many strengths over Python -- especially with its
metaprogramming capabilities -- but it also has several weaknesses
(beginning with performance and library availability). I would not be
upset if I had to program in Python professionally, but I would also not
be upset if I had to program in Ruby professionally either.

What makes Ruby a winner over Python for me is its community. It is
(mostly) friendly and (mostly) welcoming of new people and thoughts.
And while the constantly-moving target of the language can be a bit
frustrating, it's also a bit exhilarating to be there as the language
develops and matures. To be there while the community crystallizes and
matures. So for me the big thing that made me switch to Ruby was the
respective set of communities.

--
Michael T. Richter < XXXX@XXXXX.COM > (GoogleTalk:
XXXX@XXXXX.COM )
Experts in advanced countries underestimate by a factor of two to four
the ability of people in underdeveloped countries to do anything
technical. (Charles P Issawi)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.12.1">
</HEAD>
<BODY>
On Tue, 2007-25-09 at 12:53 +0900, 7stud -- wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
<FONT COLOR="#000000">Thanks for the well written post. Can you give a little more insight </FONT>
<FONT COLOR="#000000">into how you came to be using ruby as your programming language of </FONT>
<FONT COLOR="#000000">choice instead of any of the other languages you mentioned. I know why </FONT>
<FONT COLOR="#000000">you might choose ruby over C/C++ or Java, but what lead you to choose </FONT
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by E » Wed, 26 Sep 2007 14:24:38


And why did you stop using Forth? Is there *really* a way to break the
*** ion? ;)
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by 7stud - » Wed, 26 Sep 2007 14:50:14


Yes, I see that too. Despicable behavior. Thanks for the insights.
--
Posted via http://www.yqcomputer.com/
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by Michael T. » Wed, 26 Sep 2007 15:06:17


I know why *I* stopped using Forth. Forth was great when I was reading
my own code. It... was less great (trying to stay polite here) when I
had to read other people's code. ;)

--
Michael T. Richter < XXXX@XXXXX.COM > (GoogleTalk:
XXXX@XXXXX.COM )
Experts in advanced countries underestimate by a factor of two to four
the ability of people in underdeveloped countries to do anything
technical. (Charles P Issawi)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.12.1">
</HEAD>
<BODY>

<BLOCKQUOTE TYPE=CITE>
<PRE>
<FONT COLOR="#000000">And why did you stop using Forth? Is there *really* a way to break the</FONT>
<FONT COLOR="#000000"> *** ion? ;)</FONT>
</PRE>
</BLOCKQUOTE>
<BR>
I know why *I* stopped using Forth.  Forth was great when I was reading my own code.  It... was less great (trying to stay polite here) when I had to read other people's code.  <IMG SRC="cid:1190700363.25153.9.camel@isolde" ALIGN="middle" ALT=";)" BORDER="0"><BR>
<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
-- <BR>
<B>Michael T. Richter</B> <<A HREF="mailto: XXXX@XXXXX.COM "> XXXX@XXXXX.COM </A>> (<B>GoogleTalk:</B> XXXX@XXXXX.COM )<BR>
<I>Experts in advanced countries underestimate by a factor of two to four the ability of people in underdeveloped countries to do anything technical. (Charles P Issawi)</I>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by Chad Perri » Wed, 26 Sep 2007 16:24:07


I don't know about that. I've seen a lot of indications, during my
on-again/off-again subscription to ruby-talk over the last few years,
that many of the members of this community have a fair bit of respect for
Python the language. I personally find Python eye-stabbingly *** my
aesthetic sense and programming preferences, but even I think Python is a
good language. It's just not a good language for *me*, and I suspect
that's what many Rubyists here think as well (though maybe a little less
vehemently than me).

--
CCD CopyWrite Chad Perrin [ http://www.yqcomputer.com/ ]
John Kenneth Galbraith: "If all else fails, immortality can always be
assured through spectacular error."
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by Alexey Ver » Wed, 26 Sep 2007 16:43:03

> I'm probably unusual among Rubistas for [not hating Python]

No you aren't. Not at all.

--
Alexey Verkhovsky
CruiseControl.rb [ http://www.yqcomputer.com/ ]
RubyWorks [ http://www.yqcomputer.com/ ]
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by Bill Kell » Wed, 26 Sep 2007 17:52:24

From: "M. Edward (Ed) Borasky" < XXXX@XXXXX.COM >

Wow, I wish there were some sort of universal wisdom involved, but
I'm pretty sure it was a combination of pragmatism and a personal
bias toward a particular sort of elegance and aesthetics in language
design that appeals to my own sensibilities. (In other words, matz kicks
ass at language design!)

Of course, some languages were easier to loathe than others. <grin>
This article pretty well summarizes the sort of horror I felt when
dealing with VB6: http://www.ddj.com/windows/184403996

As for Python, i tended to find the experience more frustrating and
less fun than writing comparable code in Ruby. Learning Ruby, for me,
involved a lot of "oh, wow, cool I can do that!" Whereas learning Python
I noticed a lot more, "oh... I'm not allowed to do that."

I last used Python about six years ago, and I understand some things
have evolved or improved since then (don't they have something more
akin to Ruby blocks now? And list comprehensions?)

But anyway, a few examples of things that rubbed me the wrong way
about Python. (Note, these may be things that Python people
absolutely love about the language!)

I found the distinction between expressions and statements, and the
restrictions on where one or the other could occur in the syntax, to be
very rigid and unhelpful.

For example, the syntax is:

if expression:
statement
elif expression:
statement
else:
statement

And assignments are not allowed in expressions.

Thus, code that I wanted to write in Python like this, is illegal:

while match = tagOrTextRegexp.search(html, pos):
pos = match.end()
gd = match.groupdict()
if (val = gd.get('startTag')):
attrs = parseAttrs(gd['allAttrs'])
self.handleStartTag(val.lower(), attrs)
elif (val = gd.get('endTag')):
self.handleEndTag(val.lower())
elif (val = gd.get('text')):
self.handleNonTagText(val)
elif (val = gd.get('comment')):
pass # ARTHUR (to KNIGHTS) Walk away. Just ignore them.
else:
assert 0, "unexpected match in regexp - supposed to be impossible"

..ended up being written like this:

while True:
match = tagOrTextRegexp.search(html, pos)
if match is None:
break
pos = match.end()
gd = match.groupdict()
# no assignment-in-conditional sux, Guido
val = gd.get('startTag')
if val is not None:
attrs = parseAttrs(gd['allAttrs'])
self.handleStartTag(val.lower(), attrs)
else:
val = gd.get('endTag')
if val is not None:
self.handleEndTag(val.lower())
else:
val = gd.get('text')
if val is not None:
self.handleNonTagText(val)
else:
val = gd.get('comment')
if val is not None:
pass # ARTHUR (to KNIGHTS) Walk away. Just ignore them.
else:
assert 0, "unexpected match in regexp - supposed to be impossible"

I found this sort of thing very annoying, as can be seen from the note
I left in the code for Guido (von Rossum, Creator of Python.) <grin>


Another example would be class methods. (As opposed to instance methods.)

I remember how hacky and inelegant it seemed to me that every instance
method i
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by William Ja » Wed, 26 Sep 2007 18:39:39


[...]
[...]
[...]
[...]

With apologies to Stephen Crane.

Code as I Code

"Code as I code," said Guido,
"Or you are abominably wicked;
"You are a toad."

And after I had thought of it,
I said: "I will, then, be a toad."
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by Michal Suc » Wed, 26 Sep 2007 19:30:47


Quack! Quack! :D
(or whatever English toads say .. did you notice that animals that
cross a border often start doing quite different sounds? :D )

Thanks

Michal
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by Shai Rosen » Wed, 26 Sep 2007 21:47:34


there we go.
:)
--
Posted via http://www.yqcomputer.com/
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by Yossef Men » Wed, 26 Sep 2007 22:22:50

On Sep 25, 12:24 am, "M. Edward (Ed) Borasky" < XXXX@XXXXX.COM >




It sounds like the question you're trying to ask is "*How* did you
stop using Forth?"

HTH HAND

;)
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by brad » Wed, 26 Sep 2007 23:19:45


I use and enjoy both. They are different, and alike at the same time. I
wish the best of both could be squashed together into a new language :)
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by William Ja » Thu, 27 Sep 2007 01:30:22


I think they would say, "Croak! Croak!" (At least, I always do.)
It's English-speaking ducks that say "Quack!"
 
 
 

This is why Ruby 1.8.6 can never be made to run anywhere

Post by E » Thu, 27 Sep 2007 09:19:17


Despite their close kinship with frogs, I can't recall ever having heard
any kind of sound from a toad.