Stephen said:
Matz's keynote topic at Rubyconf in which Ruby 2.0 was introduced was
in 2003.
Does anyone know if any progress has been made on Ruby Rite or is it
vaporware (
http://en.wikipedia.org/wiki/Vaporware)?
Apart from the entry on Ruby-Garden
(
http://www.rubygarden.org/ruby?Rite) there doesn't seem to be much
about on Google. I found the following project really interesting:
http://www.atdot.net/yarv/#i-5-1
I dowloaded it and built it a couple of weeks ago, I got a small number
of build errors that were fairly easy to fix. When I tried it with
QtRuby though I think it fell over.
Yarv generates byte code and hints at being Rite complient because you
have to run "ruby -rite" to activate it, but I couldn't find anything
explicit on the web page about support for Rite.
Anyone else had success with Yarv yet?
My major gripe with Ruby is that there's no static typing. I'd really
like to be able to do something like:
interface ISubject
def notifyAll -- unit
def addObserver(a -- IObserver) -- unit
end
interface IObserver
def subjectUpdate(subject -- ISubject)
end
end
class Subject
def initialize
@observerList -- ISubject IEnum = Array.new()
end
...
end
Why? because interfaces gives you a place define and explain protocols
of interaction. It also helps out the IDE, when you type @observerList
the IDE knows the type and can do name completion on it, hyperlink your
code etc.
Also interfaces inheritance is very different to reuse inheritance. It
is so much clearer intentwise for a framework if the interfaces are
explicit, rather than being implicit.
The major problem with interfaces is that you can't say later, oh, this
class implements that interface, but in Ruby, if there were interfaces,
the you could.
regards,
Richard.