J
Jeff Mitchell
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
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