Tech Talk: The Rubinius Virtual Machine

  • Date  Time
  • Speaker
  • Location

Galois is pleased to host the following tech talk. These talks are open to the interested public. Please join us!

 

The Rubinius Virtual Machine

Brian Ford

Time: 10:30am, Tuesday, 30 November 2010

Location:
Galois Inc.421 SW 6th Ave. Suite 300, Portland, OR, USA(3rd floor of the Commonwealth building)

Ruby is a highly dynamic, strongly-typed programming language created by Yukihiro Matsumoto in 1993 and first released in 1995. It borrows from Smalltalk, Lisp, and Perl. Ruby has single inheritance, mixins, and syntax features like omission of parentheses that make it well-suited for embedded domain-specific languages. Ruby was popularized by the Ruby on Rails web development framework.The Rubinius project began as an implementation of the Ruby programming language roughly following the design of the Smalltalk-80 virtual machine described in the Blue book (“Smalltalk-80: the language and its implementation” by Adele Goldberg and David Robson). We have extended the initial implementation based on modern research in virtual machines, garbage collectors, and just-in-time (JIT) compilers. Rubinius currently features a stack-oriented opcode virtual machine, generational garbage collector, and LLVM-based JIT compiler. Most of the Ruby core library and the bytecode compiler are written in Ruby.We will examine the main features of Rubinius and take a deeper dive into some aspects of the virtual machine and JIT compiler. We will also look at possible future work to address memory load, startup, and suitability for using Rubinius in Android phones. If there is time and interest, we will discuss implementing programming languages besides Ruby on Rubinius.

About the Speaker

Brian Ford began contributing to the Rubinius project in December 2006 shortly after the creator, Evan Phoenix, announced the project. He is presently employed by Engine Yard, Inc to work full-time on Rubinius. Brian is keenly interested in languages of all kinds, from mathematics and various programming languages to Spanish and Japanese. He has primarily used C/C++, Tcl, Python, and Ruby in Geographic Information Systems, physical security systems monitoring and web application development. He has a B.Sc. in Mathematics from Portland State University.