processing_2b9

There’s a reason for Processing’s popularity. By making code simple, elegant, and direct, and catering directly to the kinds of visual ideas creative people have, the environment has made programming accessible to artists and designers in a way nothing else could.

Coding no longer has to be a source of fear, or a bad word.

But Processing, years into its life, has also badly needed a refresh. 2.0 is more than just a house cleaning. It’s a new direction, with “modes” that mean it’s no longer tied to old desktop Java architectures. (See a tantalizing screenshot below – with the click of a menu, you can make CoffeeScript JavaScript for the Web, or run on Android.)

I still love Processing as a way of sketching out ideas, and with strategic use of the GPU in its now-native OpenGL rendering, it can also be surprisingly high-performance.

Of course, that 2.0 reboot has been a long time coming, enough so that you might have even forgotten it was enroute. That’s why the recent 2.0 beta 9 is big news. It includes some major new features that finally reveal what 2.0 is all about – and bug fixes that have been a long time coming. In fact, it’s that moment when the betas stop looking so much like betas. Here’s what to expect.

New in this version: an all-new interface. Things do look prettier, including a new icon, but it’s under-the-hood changes that matter more. You can install a command-line tool for building Processing sketches easily with any tool you like – such as your favorite text editor. Modes, now as separate projects, hold the promise of getting speedier updates than they would if everything had to be rolled into Processing proper. And a succession of changes make things like finding examples easier — some kindly rolled retroactively into the stable 1.5x sequence, but which, added together, make this a very friendly environment.

Other major changes accompany this release:

  • An official JSON library.
  • MovieMaker finally works again, for recording your work. (Syphon and that library will work, too, of course, but this is nice to have anyway.)
  • Vastly improved and streamlined data classes – good news for data visualization and the like.
  • 2.0b8: Windows 8 and Retina Display fixes.
  • 2.0: Built-in video library that really works (and, again, with the GPU can actually work really well – think HD mixing on lower-end machines).
  • 2.0: Core OpenGL library for all rendering – with super-fast results.
  • 2.0: Table support for easy data processing, plus improved XML support.
  • 2.0: Native 32-bit and 64-bit support.

For more detail, see:

An overview of what’s changed in 2.0

A detailed changelog with every little bug fix and improvement

I think it’s the better integration with the community that may make the biggest different, which we can see visually.

For instance, the update manager now automatically installs supported libraries as they’re improved:

updatemanager

The mode manager supports targeting things other than just desktop Java – addressing one of the biggest complaints about Processing as the years have ticked by (though, I will say, it is useful having Java library support, and that can still deliver searingly-fast performance when you’re doing mostly OpenGL things):

modemdanager

Oh, and there’s a new letter “p.”

letter_p

processing.org/download/