Every now and then I see something built using Flash that makes me wonder whether I should learn to program in it. I mean, ultimately there's nothing you can do in Flash that couldn't be done any number of other ways, Java being the most likely alternative. However, it seems like Flash is running away with the coolness and sophistication, leaving Java to pick up the unappealing scraps (such as my university's appalling graduate student application system). I think I have a prejudice that tells me that Flash is too slow and not very programmable. I suspect that impression is about 17 years out of date (my first CO-OP job in 1992 involved creating Interactive Multimedia content using Macromind Director, which I believe was a very early precursor of Flash).
The most recent case in which I was thoroughly impressed by Flash is
Audiotool.
Audiotool is a flash-based music production system. It provides simulations
of some classic synth gear: the TR-909, the TB-303, a matrix tool
reminiscent of the Yamaha Tenori-On, a pile of effects pedals, and a few
other gizmos. It's obviously less flexible than Reason, but the fact that
it runs as a Flash gizmo inside a browser window is somehow very neat.
Plus the interface looks like a physical tabletop covered with gear; the
comparison to the Reason Rack is inescapable.
Seeing tools like ths one makes me think I ought to learn Flash for graphics
and sound work. Happily, one of the developers of Audiotool has made the
source code for a bunch of his previous experiments available for the curious. That might be a good starting point. There's also the growing body of open source Flash development tools to consider.