Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > Ruby could be wildly more popular if it had ...

Reply
Thread Tools

Ruby could be wildly more popular if it had ...

 
 
Jeff Mitchell
Guest
Posts: n/a
 
      07-29-2003
Brackets.

Huh? What do you mean "brackets"?

Brackets. Ruby doesn't have enough brackets.

Hmph! I think ruby has the exact right amount of brackets!

But not enough to become popular. Brackets are a prerequisite, didn't
you know?

That's preposterous! Ruby's great design, its expressiveness, its
clarity, its generally grand way of doing things -- all these
strengths and you are saying brackets are more important?

Yes. To be popular.

You keep saying "popular." But who cares about popularity anyway? As
if the measure of a language is its popularity. Are you a
card-carrying member of the ignorant masses who follow whatever is
"hot" at the moment, disregarding what may really be better?

No.

Then screw popularity. We don't need whimsy programmers who are
attracted to the simulated familiarity which brackets give. Such
shallow programmers we can do without, thank you.

Then you shall continue basking in the lonely sunshine of relative
obscurity, secure in your knowledge of what programmers should be
like. Good luck with all of that.

[brief pause]

Surely you are a troll.

Nope.

What about Python? It doesn't have brackets.

Um, Python isn't popular. Perhaps relative to ruby it is. All Python
programmers rode the short bus anyway.

Huh?

Python programmers -- they rode the short bus to school.

Short bus?

It's the bus for the special -- oh nevermind.

[end conversation]

Exhibit A.
----------
Ruby as it exists presently.

class IO
def expect(pat,timeout=9999999)
buf = ''
case pat
when String
e_pat = Regexp.new(Regexp.quote(pat))
when Regexp
e_pat = pat
end
while true
if IO.select([self],nil,nil,timeout).nil? then
result = nil
break
end
c = getc.chr
buf << c
if $expect_verbose
STDOUT.print c
STDOUT.flush
end
if mat=e_pat.match(buf) then
result = [buf,*mat.to_a[1..-1]]
break
end
end
if iterator? then
yield result
else
return result
end
nil
end
end

"Oh great another language trying to be different."

"Pascal sucks. I hate the 'end' keyword."

"My editor isn't set up to handle this language. I don't understand
why they can't just use brackets."

"A garbled mess, looks like. It's confusing without brackets to guide
my eye."


Exhibit B.
----------
Ruby as it exists in an alternative universe where it supplanted perl.

class IO
{
expect(pat,timeout=9999999)
{
buf = ''
case pat
{
when String
e_pat = Regexp.new(Regexp.quote(pat))
when Regexp
e_pat = pat
}
while true
{
if IO.select([self],nil,nil,timeout).nil?
{
result = nil
break
}
c = getc.chr
buf << c
if $expect_verbose
{
STDOUT.print c
STDOUT.flush
}
if mat=e_pat.match(buf)
{
result = [buf,*mat.to_a[1..-1]]
break
}
}
if iterator?
{
yield result
}
else
{
return result
}
nil
}
}

"Wow cool language. I see what's going on immediately."

"I like how it's familiar. My eye is trained to follow brackets, so I
can size up this code with one glance."

"Hey this looks just like Java! I know Java! I can't wait to start
using ruby as my no-separate-compile-step language!"

"Dude this is gonna kick perl's ass."

----

I am being more serious than it may or may not appear. I think ruby
missed out on a big chance here. It is absurd, but it's true.

cheers,
Matt
 
Reply With Quote
 
 
 
 
Aredridel
Guest
Posts: n/a
 
      07-30-2003

--=-HzaPtuRR/nEsk7TGiIgj
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable


> Exhibit A.
> ----------
> Ruby as it exists presently.


Nice, clean, reads like english. Flexible indentation, but language
constructs keep it fairly obvious how to indent.

>=20
> Exhibit B.
> ----------
> Ruby as it exists in an alternative universe where it supplanted perl.


Oy vey, that is the single ugliest variation of the bracketed coding
style I've seen -- so little code in a screenful that you need a huge
screen and tiny font to read a program in the abstract.

--=-HzaPtuRR/nEsk7TGiIgj
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQA/Jzs/tP09exA3hooRAhlQAJ40EIohTHk55fDCzqdsqC5Agof+kwCfUs pc
DdCIBqsurtGvqtHetCx0S2s=
=fCO/
-----END PGP SIGNATURE-----

--=-HzaPtuRR/nEsk7TGiIgj--


 
Reply With Quote
 
 
 
 
Jim Weirich
Guest
Posts: n/a
 
      07-30-2003
On Tue, 2003-07-29 at 22:30, Robert Klemme wrote:

> My solution is to use {} for one line blocks and do..end for more
> complicated things.


I tried this style for a while. But then every time I added lines to a
one-line block, I had to change {} to do/end.

Today I normally used {} on all blocks, except in Rake files.

--
-- Jim Weirich http://www.velocityreviews.com/forums/(E-Mail Removed) http://onestepback.org
-----------------------------------------------------------------
"Beware of bugs in the above code; I have only proved it correct,
not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)

 
Reply With Quote
 
Gavin Sinclair
Guest
Posts: n/a
 
      07-30-2003
> On Tue, 2003-07-29 at 22:30, Robert Klemme wrote:
>
>> My solution is to use {} for one line blocks and do..end for more
>> complicated things.

>
> I tried this style for a while. But then every time I added lines to a
> one-line block, I had to change {} to do/end.
>
> Today I normally used {} on all blocks, except in Rake files.



My take is: {} are for functional blocks; do..end for procedural blocks.
That shows me which expressions are important for their results, and which
are not.

Gavin



 
Reply With Quote
 
Fritz Heinrichmeyer
Guest
Posts: n/a
 
      07-30-2003

.... a look like javascript on steroids.

Casual PHP programmers and designer that are forced to write javascript
would feel at home. This is of course not the sort of elite programmers
that follows this group normally (having learned lisp, haskell, ocaml,
having read/written books about patterns etc.).

A lot of people don't trust python because of indentation (at least i
do) and moreover don't trust a language where newline separates
statements. They want a language where program logic survives
reformatting in a wordprocessor.


--
Fritz Heinrichmeyer FernUniversitaet, LG ES, 58084 Hagen (Germany)
tel:+49 2331/987-1166 fax:987-355
 
Reply With Quote
 
Brian Candler
Guest
Posts: n/a
 
      07-30-2003
On Wed, Jul 30, 2003 at 03:26:12PM +0900, Fritz Heinrichmeyer wrote:
>
> .... a look like javascript on steroids.
>
> Casual PHP programmers and designer that are forced to write javascript
> would feel at home. This is of course not the sort of elite programmers
> that follows this group normally (having learned lisp, haskell, ocaml,
> having read/written books about patterns etc.).
>
> A lot of people don't trust python because of indentation (at least i
> do) and moreover don't trust a language where newline separates
> statements. They want a language where program logic survives
> reformatting in a wordprocessor.


Maybe it would be more popular with Perl programmers, but you wouldn't have
any Ruby programmers left.

Sorry, but this is one of the great things about Ruby: no semicolons! If you
put your code through a wordprocessor, you deserve everything you get...

Regards,

Brian.

 
Reply With Quote
 
maillist@bestworldweb.homelinux.com
Guest
Posts: n/a
 
      07-30-2003

> Sorry, but this is one of the great things about Ruby: no semicolons! If you


Ruby does have semicolons, but they are optional...

ruby -e "print 4;print 5"



 
Reply With Quote
 
Xiangrong Fang
Guest
Posts: n/a
 
      07-30-2003
Hi,

Javascript's semicolon is also optional. Javascript is one of my
favorate language because of it's object creation mechanism.
Unfortunately the language itself is too much limited.

I have used PHP... it is Sh*t... mainly because of the ";". A lot of
runtime errors because I am used to ruby. And it is not like Delphi,
which has lightening fast compilation, php's debug cycle is terrible.

Shannon


On Wed, 30 Jul 2003 15:26:12 +0900
Fritz Heinrichmeyer <(E-Mail Removed)> wrote:

>
> ... a look like javascript on steroids.
>
> Casual PHP programmers and designer that are forced to write javascript
> would feel at home. This is of course not the sort of elite programmers
> that follows this group normally (having learned lisp, haskell, ocaml,
> having read/written books about patterns etc.).
>
> A lot of people don't trust python because of indentation (at least i
> do) and moreover don't trust a language where newline separates
> statements. They want a language where program logic survives
> reformatting in a wordprocessor.
>
>
> --
> Fritz Heinrichmeyer FernUniversitaet, LG ES, 58084 Hagen (Germany)
> tel:+49 2331/987-1166 fax:987-355


--
Xiangrong Fang <(E-Mail Removed)>



 
Reply With Quote
 
Garance A Drosihn
Guest
Posts: n/a
 
      07-30-2003
At 12:29 PM +0900 7/30/03, Aredridel wrote:
> > Exhibit A.
>> ----------
>> Ruby as it exists presently.

>
>Nice, clean, reads like english. Flexible indentation, but
>language constructs keep it fairly obvious how to indent.


The one nice thing about brackets is that editors know how
to match them up. Ie, I can select a section of code by
just double-clicking on the initial or ending bracket.

Other than that, I don't see much point in pushing for more
brackets. If people can't figure out 'do...end' and *must*
have brackets to like ruby, then they will also complain
about every single thing where ruby differs from whatever
language they prefer...

Just MO.

--
Garance Alistair Drosehn = (E-Mail Removed)
Senior Systems Programmer or (E-Mail Removed)
Rensselaer Polytechnic Institute or (E-Mail Removed)

 
Reply With Quote
 
Josef 'Jupp' Schugt
Guest
Posts: n/a
 
      07-30-2003
Saluton!

* Jeff Mitchell; 2003-07-30, 13:49 UTC:
> Brackets.


If that is true why isn't LISP the most popular language on this
planet?

Gis,

Josef 'Jupp' Schugt
--
N'attribuez jamais à la malice ce que l'incompétence explique !
-- Napoléon

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Hosting - wildly different response times across the globe badger_nz ASP .Net 1 12-12-2006 04:00 AM
CPU Usage % spikes wildly; system slow overall (IBM T20 laptop, 512 MB RAM) Larry Mehl Computer Support 6 07-07-2006 11:13 PM
Re: Wildly OT:My spampot experiment Robert Moir MCSE 1 05-25-2005 08:46 PM
Re: Wildly OT:My spampot experiment JaR MCSE 1 05-25-2005 07:29 PM
Wildly uneven volume on some DVDs mexican_equivalent@yahoo.com DVD Video 12 04-20-2005 08:26 AM



Advertisments