Flash

I've been using Flash, specifically its programming language Actionscript 3, for about four years now.

I started writing Actionscript code with Alex Carobus back when we founded Wild Shadow Studios. We chose Flash because it was already everywhere -- just about anyone could play a Flash game without having to install a plugin. We believed strongly in eliminating barriers that prevented people from trying our games, and Flash offered one-click, no-hassle access. Surfing to our website would fire up the game automatically.

What a pleasant surprise it was to discover that Actionscript 3 (which was new at the time) was a modern object-oriented language, with compile-time type checking, classes, inheritance, encapsulation, and other language features that engineers look for. It had extensive facilities for moving pictures around the screen in various ways, which is pretty much the main goal in video game development. But what really sealed the deal was Actionscript's support for sockets -- a game written in Actionscript could open a direct connection to a server, which meant we could use Flash to make an MMO client.

I have a few complaints about Actionscript. Its garbage collector has some frustrating quirks. It's not nearly fast enough for computationally intensive code. There are a few syntactic oddities. But on the whole I've been extremely pleased with Flash, and I plan to keep using it.