We are talking about a codebase that started Mac-only in 1988. I'm not really so worried about the cross-platform portions. But what about the Mac-specific portions? Certainly a decided minority, but never tested for endian-dependence.

It's all very well to talk about design intentions, but that's not what this is about. It's about actual implementation in a product 20 years old. Also, I am by no means limiting my cautions to only Finale. Every mature and complex program will face it.

David W. Fenton wrote:

On 25 Nov 2005 at 15:16, Robert Patterson wrote:


No amount of engineering can overcome little assumptions about binary
data built into code. They will plague us precisely because they have
hidden for so long.


But surely the Finale codebase has very few of those, since it's designed to be compiled on two different platforms already.

Of course, I'm assuming that there is a single codebase that is used to produce the two versions of Finale.

Personally I think it's foolish coding to write code that depends on such a low level without some kind of abstraction level. If you do the abstraction of the binary manipulation, then all you have to do is alter the abstraction layer to fix all your code. But in the end, it seems to me there really oughtn't be hardware-dependent operations in the code of any software application. And it has always seemed to me that fiddling with bits is a leftover from the old days when memory, storage and CPU cycles were very much more restricted than they are today.


--
Robert Patterson

http://RobertGPatterson.com
_______________________________________________
Finale mailing list
[email protected]
http://lists.shsu.edu/mailman/listinfo/finale

Reply via email to