On 31 May 2009 at 14:04, Craig Parmerlee wrote: > David W. Fenton wrote: > > On 30 May 2009 at 20:26, Craig Parmerlee wrote: > > > >> The obvious solution is to program each release such that it can read > >> future files but simply ignore any elements it doesn't recognize. If > >> Finale worked this way, I would automatically purchase every upgrade. > > > > That is a complete impossibility without there being a freeze on the > > basic structure of the file format. Sure, it's possible to design an > > extensible file format, but that's a very complex task, especially > > for a database format (which is what a Finale file is). > > No it isn't.
Uh, yes it is. What do you think those C-Tree error messages that pop up every now and again are referring to? http://en.wikipedia.org/wiki/C-tree > We do this every day of the week. What is "this"? > It is absolutely > routine. Today, with inherently extensible formats like XML, you would > have to go out of your way NOT to have forward compatibility. The > programming rule couldn't be simpler - handle all the objects you > recognize and ignore the ones you don't. Text-based storage of relational database data is inherently very slow. This is why no database that I know of uses XML as it's native storage format, but instead uses a structured binary format for storage and exports to XML when needed. > I realize Finale's files aren't stored in XML, but the same principle > can be used in ANY storage system. But not efficiently. > I have been designing commercial business applications since 1973. > Trust me. Not only is it possible, it is easy to do has essentially no > cost when planned from the outset. I disagree. Text-based storage of data will never be as fast as binary storage with indexing and structured record formats. > Regarding the examples of Microsoft Word, whenever they have not > preserved forward compatibility, they have released a free filter that > users install retroactively on the older release to enable seamless file > sharing. Microsoft, unlike Finale, understands that file sharing is an > essential requirement for their users. And Microsoft's file format is very simple compared to Finale's because it's stream-based (i.e., it's a collection of text streams related by pointers). It's a problem that is several orders of magnitude simpler than maintaining backward compatibility in a database format. -- David W. Fenton http://dfenton.com David Fenton Associates http://dfenton.com/DFA/ _______________________________________________ Finale mailing list Finale@shsu.edu http://lists.shsu.edu/mailman/listinfo/finale