6 |
|
PORTING
from page
4
be able to do even simple things you have to know a lot from each of those five volumes, so the problem is that there’s no way to get in a little bit at a time. It’s like being thrown into the middle of the ocean.
So if you’ve ever memorized
War and Peace
you probably won’t have any problem.
DF: I think that’s not a bad comment. I would say that doing this Mac product was for me the most difficult intellectual exercise since I was in graduate school. I think everyone here would agree.
I should add that along the way we were fortunate enough to pick up a ringer, a fellow named Marty Sedluk who happened to be a Mac zealot. He was very useful; first, because he was very familiar with the Toolbox, and second, because he would argue with us about whether things were or weren’t Mac-like, and that was of great assistance, too.
|
Believe me, if you haven’t contacted the Mac zealots, you haven’t lived. It’s literally a secular religion, and they are deadly serious. They’ve forgotten it’s a computer program somewhere along the line.
Aside from the difficulties involved in learning how to use the Toolbox effectively, did you encounter other frustrations during the port process that were tied to the design of the Mac?
DF: Not to the design of the Mac hardware, but the architecture of the Mac system. We started with the idea that we’d sort of”Mac-ize” FoxBASE a little bit, but not turn our application inside out.
Let me explain what I mean by that. As Bill hinted, the Mac requires you to be event-driven; that is, everything responds to external events, which is the exact reverse of the way you normally program on the DOS side. These events, moreover, happen somewhat asynchronously, so the
|
architecture of a Mac application typically is centered around a single event-processing loop, and the entire system is driven by events that are picked, which is more or less the inverse of what you’re accustomed to in the DOS environment.
We started off with the idea we’d do a minimum of that, and, bit by bit, kicking and screaming, with great pain, we were forced, item by item, to turn our product inside out. And once it’s inverted it’s never going back. In fact, the Mac product source would be the mother source for all of our future products.
So we will be emulating the event- driven environment even in a character-driven DOS. For one thing, that particular configuration of a program is far more amenable to take advantage of multi-threading in OSt2, for instance. So you respond to asynchronous external events and it’s in that formal set-up that you do that.
continued on page
7
LA. FOX
|
6 |