It allows live-coding sketches from Emacs to work really nicely.
Daniel Shiffman's excellent book "The Nature of Code"[0] uses Processing (now ported to Processing.js) to teach all kinds of practical introductory tools useful for modelling real things in an interactive environment. Vectors, forces, simple steering/flocking behaviors, cellular automata, how to set up and use Box2D, even a bit on neural networks. For a student who knew how to write some syntax, but not enough to actually create interesting things, it was (and still is) a fantastic resource.
Even though I've mostly moved on, I still love the simple graphically oriented "sketch" model and am now using Quil[1], a Clojure layer over the Processing core, to teach myself Clojure by reimplementing some old projects. Live-editing Lisp code in Emacs while interacting with a real time 3D graphical environment is an eye opening experience.
[0] http://natureofcode.com/book/chapter-6-autonomous-agents/
Tools like Processing[0] are very accessible even to those with minimal programming experience, and can be very powerful and fluid environments if you have any familiarity with Java or similar languages (or clojure[1]). It's very easy to iterate rapidly (even some live-coding elements) and have a lot of visual feedback, such that it almost feels more like sculpting than a normal programming workflow.