Here’s an interesting look into both Blender’s past and it’s future: In an excerpt from a discussion on IRC, Ton Roosendaal explains about Blender’s existing DNA and upcoming RNA structures. DNA powers an often overlooked Blender feature – it’s amazing backward compatibility. Thanks to DNA you can read Blender files back to version 1.00!
Q: do DNA and RNA actually stand for anything?
They’re analog to the biological meaning. Blender DNA is as old as Blender, it’s a long string with encoded types for the entire internal structure of Blender’s data, saved in every .blend, and in every Blender binary. With this DNA it can read older or even newer files. Blender is even “aware” of its own data types, i.e. you can give it a pointer, and Blender can find the item named “vertex” in it. This makes .blend files still readable, even when saved in 1.00 (try this example – an original Roosendaal).
Q: .. and RNA?
That’s a 2.50 feature, a system to wrap DNA into a nice API to read/set Blender data and properties. It actually means “messenger DNA”, which is not totally correct, because RNA makes DNA in cells.
Our RNA can auto-generate a Python data-access API, and will allow feature “everything animatable”, auto-button-list-view of data and it will even handle dependencies in future.
A lot of educated engineers hated this DNA, thats why all rumour in past to replace it with XML. :) There are still people who think XML is superior… the funny thing is that Google, for all internal development, replaced XML for a similar DNA system! You drop human readability of files, but have the same flexibility, and lots of lots more speed. Afaik, Blender is the first public app doing this.