4 ms·
OK, but the implementation layer is just another layer of algorithms, except that you have somewhat less control over it. I notice your code uses inject, which
by dminor 17y ago
OK, but the implementation layer is just another layer of algorithms, except that you have somewhat less control over it. I notice your code uses inject, which is coded in C rather than Ruby -- as are many parts of POOR where C offers better performance.
The point of Duby/Juby is to give us _more_ control over these algorithms by dragging them out of the base implementation language and into Ruby. Why should inject be written in C or Java?
- raganwald 17y ago> Why should inject be written in C or Java? I agree with your point and bless you with a mighty upmod. One of my peeves about inject being written in C is that there is very little pressure to make Ruby fast enough that inject could be written in Ruby. So who cares? Well, if you want to make your own language feature that is like inject but not inject, your feature will be 100x slower. So making Ruby fast enough that Ruby can be implemented in Ruby is a huge win for metaprogrammers :-) > Now it is not correct to say that Matz does not use Ruby. He does, and so he does eat his own dog food. And for the domains where he uses Ruby, he has optimized Ruby to be a useful tool. But since he doesn’t use Ruby to build Ruby, he does not have the same incentive to tune Ruby for the purpose of building languages. http://weblog.raganwald.com/2006/11/significance-of-meta-circular_22.html http://weblog.raganwald.com/2006/11/significance-of-meta-cir...
- stcredzero 17y agoSmalltalk Agents had no "primitives." (Read, no methods written in C.) The JIT was deemed good enough that everything could be written in Smalltalk. VisualWorks still has primitives, but a surprising number of things are written in Smalltalk, like Dictionary lookup.