State of the project

Posted: January 6th, 2012 | Author: Mars | Filed under: Progress | Comments Off

In 2009, I launched this language project and built its compiler. In 2010, I fleshed out the structure and built the automatic parallelization system. In 2011, I finished the core semantic model, implemented the standard container structures, added an IO interface and a memory management system. Now it’s 2012: what comes next?

I’ve accomplished the primary goal for this project, which was to demonstrate that this approach to parallel programming actually works. You can have a language that looks and feels like Python, Ruby, or JavaScript whose semantic properties allow automated parallelism in a manner similar to Haskell or Erlang. You don’t need to invert your thinking and write your code in functional style; given a few carefully chosen semantic restrictions, a compiler can make that transformation for you.

The next step is to build this tool up into a software ecosystem, so that it can actually do some real people some real good. Who are its users going to be? What tools are they currently using? What does Radian need to offer in order to make life easier than whatever they are doing right now? The job facing me in 2012 is to answer these questions and build the components those answers suggest.

I need to find people doing experimental work with huge amounts of data: people who are writing smallish programs that crunch through gigabytes of stuff. Radian should be good for CPU-bound processes involving varied data: it will do well with embarrassingly parallel problems, but the whole point is that it should also do a good job with problems where the parallelism takes a bit more work to find.

Maybe people are analyzing web server logs, or extracting fingerprints from MP3s, or sorting EXIF tags from hundreds of thousands of pictures. Are there scientific applications for this sort of work? There must be – people use Python for scientific work, after all; scipy is a big deal.


Comments are closed.