No More Text!

The idea of IDEs not being forced to rely on text files has been popping up in several of the weblogs I read. While I think Alan has part of the reason correct (there's a lot of infrastructure dedicated to dealing with text files), I don't think he has it all. There are definately some major advantages to putting things in plain text files, which seem to be being ignored For instance, my company has moved from a binary resource format to a text-based resource format precisely because of the advantages it brings. (Well, okay, we never went with the binary format, but that's because the people making the decision saw the problems it had at previous places.) Those advantages being:
  • No tool/vendor lock-in.
  • Easier to fix when something goes wrong.
  • Easier to see the differences when something changes.
I suppose these benefits could also be had by using a standardized text-based (or xml-based) representation of the image for loading and saving, along with smarter tools for editing, but I'm not sure that making the tools smarter is such a good idea in the first place. Should my source code control system really be forced to know about my programming language? What if I change languages?