Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming

The State of Ruby VMs — Ruby Renaissance 89

igrigorik writes "In the short span of just a couple of years, the Ruby VM space has evolved to more than just a handful of choices: MRI, JRuby, IronRuby, MacRuby, Rubinius, MagLev, REE and BlueRuby. Four of these VMs will hit 1.0 status in the upcoming year and will open up entirely new possibilities for the language — Mac apps via MacRuby, Ruby in the browser via Silverlight, object persistence via Smalltalk VM, and so forth. This article takes a detailed look at the past year, the progress of each project, and where the community is heading. It's an exciting time to be a Rubyist."

Comment What ABOUT Parallelism? (Score 1) 418

What about parallelism?

This made me facepalm. What about it? These physicist used the laws of thermodynamics to establish a fundamental limit to how much usable information can be inserted or extracted from a volume of space. What does parallelism have to do with that at all? What indeed?

See how easy it is to ask rhetorical questions?

 

Comment Re:No - there are plenty of safer alternatives (Score 1) 486

I just thought of a simple proof that the halting problem does not apply to Turing Machines with finit e memory (which means it isn't really a Turing Machine, but oh well).

The input of a Turing machine is the initial contents of the tape. Therefore a Turing Machine with finite memory only has a finite number of possible inputs. It is possible for me to simply go through all those possible inputs and mark them as "Accept" or "Reject". Since it is not possible (through diagonalization) to construct an input that is not in my list, I have accounted for every possible input. I can implement HALT by simply consulting my table. All possible finite memory Turing machines and their inputs can be constructed this way, so HALT is implementable for a Turing machine with finite memory.

QED motherfucker.

Comment Re:No - there are plenty of safer alternatives (Score 1) 486

Given a Turing machine with a finite memory and an input it will either halt (accept or reject), eventually enter a state it has been in before (infinite loop, so reject), or attempt to enter a state that requires more memory than it has (we can take that as a "reject"). Therefore it is possible to know if the machine accepts or rejects in all cases.

This cannot be practically applied because the amount of space and time required even for small machines is still too large but it does make the point that the halting problem depends on the infinite nature of the Turing machine.

Comment Re:Does it really (Score 1, Insightful) 296

I have two answers.

The snarky answer is that when one writes a paper one has to make simple things sound as complicated as possible in order to make the paper look like you've discovered something interesting.

More likely it really does have to be this complicated considering that handling security when combining content from multiple sources cannot be made simple unless you make it trivial (no trust or complete trust).

Comment Re:Really a surprise? (Score 3, Insightful) 493

You fail to realize that ultimately both versions of Firefox must eventually go through the same layers of Linux in order to do pretty much the same thing. The story is that the Windows version is still faster even though it has a whole extra layer to go through.

It is not even a comparison of Linux/Windows but of Linux and Linux+Wine.

The Linux build of Firefox is the problem here and has nothing to do with the trade-offs between how Windows does things and how Linux does things.

Besides, how can you say that everybody should fall on one side of the Performance/Reliability trade-off? Such things are case-by-case by definition.

Slashdot Top Deals

It's a naive, domestic operating system without any breeding, but I think you'll be amused by its presumption.

Working...