OSCON 2004 was the home of the pie-thon challenge, which pitted Parrot against CPython on a test of speed using a bechmark that Guido van Rossum designed. This presentation provides an update–not only on performance, but also on language compatibility, as well as an outlook on the potentials for inter-language interop that can be acheived by a common language runtime for dynamic languages.
I was lucky enough to chat with Sam about this a bit and the little I got out of him was intriguing. The blurb doesn’t go into a lot of detail but one of things he’ll be talking about is compatibility between dynamic languages at the runtime level. Here’s a sneak peek:
<rubys> There is a big difference between Python and Perl. Ruby might be someplace in between. <rtomayko> that's interesting. I've been seeing reports of the same thing from the CLR and JVM crowds <rubys> my favorite example: what does """ print '1' + '2'; """ do? <rtomayko> ahh <rtomayko> and so the strong/weak thing is down at that level? <rubys> it is not just that. "+" is a function in Perl. It accepts two arguments which have types. It coerces them to numeric values, and adds them. <rtomayko> python = '12', perl = 3, ruby = '12' (i think) <rubys> "+" is a synonym for "__add__" in Python. It merely is the name of a method. What it does is up to the first argument. <rtomayko> right, I see. and so all of these languages will have to shift a bit. <rubys> shifting all the language a bit is what .net did. And you end up with "Visual Fred" (look it up)
Visual Fred was the name proposed for Visual Basic.NET by MVPs who quickly realized that VB.NET had nothing to do with VB due to the syntactic and semantic changes forced on the language by the common runtime.