Maybe you guys should have a look at Suns Self language. It's a prototype based language that has similarities with Smalltalk. If I remember correctly, they did a lot of research into hotspot compilation which was later poached for Java. It's not easy stuff though and it tended to generate a lot of code to handle all of the dynamic cases. A search on google should get you there. -- Justin Johnson "Alan Chen" <alan / digikata.com> wrote in message news:20021001215825.GA4206 / digikata.com... > On Tue, Oct 01, 2002 at 10:19:51PM +0900, William Djaja Tjokroaminata wrote: > > Hi Alan, > > > > I totally agree with the statement below; I think so far Ruby results in > > a very high human productivity. Now the question is, in essence, do you > > want an option to reduce the productivity by 20%, if you can increase the > > computer productivity by 500%? (This is even an option; you may choose to > > do it or stay with you current productivity level.) > > > > Regards, > > > > Bill > > ========================================================================== > > Alan Chen <alan / digikata.com> wrote: > > > Ultimately, I think it's this focus on the human factor is what drives > > > my productivity higher with Ruby. > > Personally, I'm not interested in that tradeoff. If I want higher > performance, I can perform design/algorithmic optimizations best in > Ruby. If that doesn't suffice, I can drop into C/C++ or ASM or any > number of other well established, widely supported > languages. Furthermore, in that alternate language, I can focus on a > narrow optimization issue. > > Now if you can keep the human productivity the same while increasing > run speed I'd be very interested (not to mention that more of the ruby > community would be more supportive). So many of the recent syntax > extension discussions have assumed that Ruby as it is now would be > difficult to optimize because of the dynamic language features, but > that seems like a poorly examined supposition to me. I would bet that > run-time dynamic updates in ruby code happens in a small set of > instances - and then primarily near startup. There's no reason that a > optimizing, ruby, run-time engine couldn't go ahead and emit optimized > code with any number of type-based restrictions, but detect dynamic > updates which may invalidate that particular optimized code > block. Think of it as a ruby version of a Java HotSpot compiler. > > - alan > > -- > Alan Chen > Digikata LLC > http://digikata.com >