On 3/20/07, Ben Goertzel <[EMAIL PROTECTED]> wrote:
Shane Legg wrote:
>
> Ben, I didn't know you were a Ruby fan...
Cassio has gotten me into Ruby ... but in Novamente it's used only
for prototyping, the real system is C++
For some non-AGI consulting projects we have also used Ruby.
Ruby runs slowly, but, other than that, it's a great language.
Getting back to AGI: I think that, with AGI, the programming
language is pretty much irrelevant, **unless** it stands in the
way of getting the ideas worked out right.
Personally I find that, with C++, I need to have everything
figured out really well in advance before starting coding, or
the code becomes a mess. Whereas with Ruby I can fiddle
around and think while coding, because modifying code
on-the-fly is so easy. So, I have liked using Ruby for
prototyping that is aimed at understanding the viability of
some idea. Then once something has been fully understood,
via prototyping along with other methods, it can be translated
to C++ using a proper scalable, maintainable design...
I believe that you can have a language that does both, thereby
alleviating the need to do two implementations: one for rapid
prototyping/exploration and one for runtime performance. I believe
Cobra will be that language this year:
http://cobralang.com/
A new version will be out in the next couple weeks with so-called
"duck typing" which I call by it's original name of "dynamic typing".
(It's already done in development, but I have a few other things to do
prior to the next release.)
I became tired of "coding twice" and didn't want to spend the rest of
my life doing it. And besides the obvious cost of a second
implementation, languages like Python and Ruby may slow down your
prototyping as you hit your code with larger data sets. This cycle:
run --> study --> edit --> repeat
Can turn into this cycle:
run...................Zzzzz................... --> study --> edit --> repeat
Which reduces the rate of cycling.
Regarding existing projects, I'm not recommending that people ditch
substantial code bases that are progressing forward. But new projects
will always come along. And if people are prototyping in Ruby or
Python, they may enjoy doing that more in Cobra for quicker turnaround
time and other benefits:
http://cobralang.com/docs/python/
Regarding a new, better language being essential to AGI, it's not. I'm
doing it as a productivity booster. Same as my switch to Mac, my 24"
LCD, my ergo keyboard, and so on. I don't refrain from these just
because they're not fundamental to AGI, EC or what-have-you.
Actually, users of Cobra have it even better. I'm the one building the
damn thing. :-)
If Ben or anyone would give the upcoming 0.5 release a spin, I would
love to hear your feedback. Also, Ben, you mentioned performance
problems with Mono, but I think you were using an old version, perhaps
even one without machine code gen. The current release is much faster
than Ruby or Python.
-Chuck
http://cobralang.com/
-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/?list_id=303