I’m expounding my usual “late-bound” tabs model of IDEs again, over on StackOverflow.
… late binding between the buffer in the editor and actual concrete thing you’re working on, gives the editing environment more flexibility and power.
Think this is out of date? One place where the idea is back with a vengeance is in the browser, where you don’t have 1-1 correspondence between tabs and web-pages. Instead, inside each tab you can navigate forwards and backwards between multiple pages. No-one would try to make an MDI type interface to the web, where each page had it’s own inner window. It would be impossibly fiddly to use. It just wouldn’t scale.
Personally, I think IDEs are getting way too complicated these days, and the static binding between documents and buffers is one reason for this. I expect at some point there’ll be a breakthrough as they move to the browser-like tabbed-buffer model where :
a) you’ll be able to hyperlink between multiple files within the same buffer/tab (and there’ll be a back-button etc.)
b) the generic buffers will be able to hold any type of data : source-code, command-line, dynamically generated graphic output, project outline etc.