

AI4R: Ruby Artificial Intelligence lib - delinquentme
http://ai4r.rubyforge.org/

======
eddanger
I'll wait until this gem reaches self-awareness and moves itself to github.

~~~
mcginleyr1
<https://github.com/SergioFierens/ai4r> Been on github a long time. I was
working on a constraint propagation fork till I got bogged down with
work/life.

------
cageface
It's nice to have this available but a lot of AI techniques are fairly
computation-intensive. A language like Ruby isn't going to be very efficient
for non-trivial datasets.

~~~
mitchty
I think everyone needs to differentiate language, ruby, from implementation,
aka the standard mri vm.

The stock mri vm has a gil, and historically, with 1.8, a very naive
iterpreter+garbage collector. 1.9.x helps with this, but still suffers
performancewise unless you get into massive object creation/etc...

The difference is alternative implementations like jruby+rubinius can
drastically shave time off of computation. Much like the difference of CPython
to pypy. If however you're overly worried about computational speed and need
to have the fastest possible speed bar none, then do the right thing and use
c++/java/c. But for exploratory learning or non-time critical computation, why
not use a language like Ruby or Python or Lua or whatever?

~~~
delinquentme
1) I'm beginning to move into the computational biology field... Your thoughts
on using Ruby in this capacity? Its not high frequency trading, but yeah I'd
like it to be fast... Is the answer jruby+rubinius?

2) Will learning to program C++ throw off my ruby mojo? Can you speak from the
perspective of someone whos fluent in multiple languages?

~~~
mitchty
1) You'd be better off with Python most likely due to library support. (numpy
etc...)

2) Why would it? I won't say I'm fluent in c++, but thats mainly due to not
having to use it daily. That and I prefer straight c normally, I tend to dig
into kernel source and drivers often so c++ isn't a big deal most times.

But don't let language preferences of anyone guide you, evaluate what works
best and use it for your problems. I like ruby in general but sometimes python
is a better choice, other times perl, other times c, or even shell. Don't
optimize code you haven't written yet. Explore the domain with ruby if you
want and write a faster version in c once you understand the problem. Or java
or whatever.

------
pkananen
Might be a nice companion for the Stanford Engineering AI Class that is
offered this fall. <http://www.ai-class.com/>

~~~
delinquentme
Actually I've began petitioning for a 4th complementary class. If you're
interested:

[http://www.reddit.com/r/aiclass/comments/jkg6v/stanford_open...](http://www.reddit.com/r/aiclass/comments/jkg6v/stanford_open_bioinformatics_class/)

------
delinquentme
including stochastic Models, and sigmoid curves =]

