For a long time, I've wondered why Adobe doesn’t just rewrite Photoshop. Even without knowledge of the deep inner workings of the app, it just feels old. Adobe keeps adding more functionality, even some performance tweaks like GPU acceleration, but the whole thing often feels one feature short of collapse. New versions have consistently pushed the capabilities of modern computers and operating systems, so they always feel a bit slower than younger, more refined apps. Maybe a fresh start would make Photoshop feel a little less 1990 and a little more 2013?

Well, it's not going to happen.

"It would never be the same if you started over today," says Bryan O'Neil Hughes, a senior product manager. "Like a city, it takes on its own personality." He cribbed the analogy from me, but I cribbed it from another developer.

An all-new Photoshop wouldn't be... Photoshop.

"If you wanted to do everything Photoshop does, you'd have to do it in the same way Photoshop does," explains Thomas. And a rewrite would likely take a decade, and, thanks to the error-prone nature of building complex software, it might never be completed.

Look at Apple’s recent rewrites. Final Cut X, an all-new take on the revered Final Cut Pro, outraged video editing professionals — many of whom are now jumping ship to rival products. It wasn't just about what the app could do, either. It was how it did so — how it looked and felt. Users appreciate the familiar. Just look at the hatred of the newest iTunes revamp. Or, really, any Facebook redesign, ever. It's not that these new designs aren't nice, or possibly even better. It's just that they're different, and different turns into a mortal sin among professionals whose livelihoods depend on using your product the same way they learned a decade ago.

So you can't make Photoshop new again. But could you rewrite it?

"We essentially have," answers Thomas Knoll, referring to his own Lightroom, "but it comes out very differently.” It seems unfair that one man should get two Photoshops in one lifetime, but he earns it by being an incredible nerd about all this stuff.

Knoll started the Lightroom project a decade ago while on vacation. Fed up with his camera's file format, he reverse-engineered it. So began Photoshop's Camera RAW plug-in, which now supports hundreds of cameras — most of them still painstakingly reverse-engineered by Adobe. Along the way, Camera RAW built up its own rendering pipeline, exterior to Photoshop, which now powers Lightroom.

"Writing code that changes images is the really fun stuff," Knoll says. "Magical."

In fact, Knoll doesn't mind saying that many of the Camera RAW imaging algorithms, like Highlights and Shadows, for instance, have eclipsed those of Photoshop. Right now he's working on a better, more sophisticated way to do HDR images, to combat what he calls "the Harry Potter look." He seems unstoppable.

But not even Lightroom and Camera RAW are immune to the cruft of time. "When a user makes an adjustment to an image," Knoll explains, "it doesn't actually store the adjusted pixels anywhere, just the adjustments." That means Lightroom has to keep track of "processing versions," to make sure that when you open a RAW file five years from now, into a fancy version of Lightroom with all-new algorithms, it'll look exactly the same.

Photoshop has a similar problem with user scripts. Recorded actions that a user makes with one version are supposed to work seamlessly in future versions, meaning that even if a legacy feature is removed from the UI, it's kept in the code to keep the scripts humming. In that sense, it's a city where even seemingly abandoned buildings can’t be demolished, because you never know who might still be using them.