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

Reply via email to