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