The Artima Developer Community
Sponsored Link

Agile Buzz Forum
Fixing the wrong thing

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
Fixing the wrong thing Posted: May 14, 2007 7:47 PM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: Fixing the wrong thing
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Cincom Smalltalk Blog - Smalltalk with Rants

Advertisement

This is the kind of problem you run into when you put live object systems onto dead VMs: people start trying to fix the wrong things. Here's Charles Nutter, complaining about ObjectSpace (which is apparently how Ruby manages "all instances") - he wants to get rid of it for JRuby:

There are no plans currently for ObjectSpace to be removed from Ruby in a future version. But there's a problem...in addition to being pure overhead in JRuby (which you can turn off completely by using the -O flag), ObjectSpace limits evolving development of the Ruby garbage collector, breaks heap and memory transparency, and poses yet more problems for threading.

There are many issues here. First off, the JRuby thing. By having to add ObjectSpace governors for all objects in the system, JRuby pays a very large penalty. We're forced to do this because the JVM (and most other advanced garbage-collecting VMs) does not allow you to traverse in-memory objects nor retrieve the object that is associated with a given ID. In general this is because the JVM does all sorts of wonderful and magical things with objects and memory behind the scenes, and the ability to ask for all objects of a given type or pull an object based on some ID number at any time cripples many of these tricks.

The base problem is that the JVM sucks for hosting dynamic languages, and this is just one of the many ways it sucks. Before Charles tosses this feature overboard, he might want to have a look at my last post for an idea as to why such functionality is valuable. Here's a thought - add proper support for dynamic languages to the JVM.

Tossing the baby out with the bathwater isn't really an answer - at least, not a serious one. Down that road you get Java with Ruby syntax, which just doesn't sound that interesting.

Technorati Tags:

Read: Fixing the wrong thing

Topic: Endless Animations Previous Topic   Next Topic Topic: Battlestar galactica limps on...

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use