Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Ruby (http://www.velocityreviews.com/forums/f66-ruby.html)
-   -   Ruby could be wildly more popular if it had ... (http://www.velocityreviews.com/forums/t809122-ruby-could-be-wildly-more-popular-if-it-had.html)

Jeff Mitchell 07-29-2003 05:22 PM

Ruby could be wildly more popular if it had ...
 
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

Aredridel 07-30-2003 03:29 AM

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

--=-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--



Jim Weirich 07-30-2003 04:32 AM

Re: Ruby could be wildly more popular if it had ...
 
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 jweirich@one.net 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)


Gavin Sinclair 07-30-2003 05:32 AM

Re: Ruby could be wildly more popular if it had ...
 
> 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




Fritz Heinrichmeyer 07-30-2003 06:04 AM

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

.... 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

Brian Candler 07-30-2003 07:50 AM

Re: Ruby could be wildly more popular if it had ...
 
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.


maillist@bestworldweb.homelinux.com 07-30-2003 09:17 AM

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

> 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"




Xiangrong Fang 07-30-2003 09:44 AM

Re: Ruby could be wildly more popular if it had ...
 
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 <fritz.heinrichmeyer@fernuni-hagen.de> 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 <xrfang@hotmail.com>




Garance A Drosihn 07-30-2003 04:37 PM

Re: Ruby could be wildly more popular if it had ...
 
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 = gad@gilead.netel.rpi.edu
Senior Systems Programmer or gad@freebsd.org
Rensselaer Polytechnic Institute or drosih@rpi.edu


Josef 'Jupp' Schugt 07-30-2003 08:28 PM

Re: Ruby could be wildly more popular if it had ...
 
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



All times are GMT. The time now is 10:16 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.