🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.powerpc
Article #3289

Re: Copland merely shifts the burden to the programmer

#3289
From: Gregory L Hansen
Date: Thu, 29 Feb 1996 18:16
56 lines
3700 bytes
In article <31349BAA.6418@mediamatic.nl>,
Pascal Haakmat  <pascal@mediamatic.nl> wrote:
>> A process spawned by a blue box task doesn't go down.  And it can
>> restart its UI portion.  Copland applications survive a blue box crash
>> or lockup.  Copland applications have memory protection and preemptive
>> multitasking.
>
>
>Yeah yeah I hear this all the time - show me HOW a process spawned by a 
>blue box task is going to 'restart it's UI portion' without an extensive 
>coding effort on the part of the programmer. And how often is it not the 
>case that UI and task are intricately interwoven? How often does it not 
>happen that the UI is actually inherent to the task (I'm thinking of  
>display-engines like Netscape's & Xpress')?

I'm only guessing, and basing it on my understanding of programming under 
System 7.  Sometimes a window or a dialog box gets put on top of another 
window.  Then when it's uncovered, a portion of the window is left 
undrawn.  It's the program's responsibility to redraw it, which it does 
when it receives an update event.

Well... if the Blue Box crashes and is restarted, chances are the program 
will receive a restart Blue Box event.  If it could set up the user 
interface in the first place, it can set up the user interface again.  
Just call your SetUpInterface(parameters) function, where paramaters 
will be a structure containing information about the current state of the 
program, rather than the initial state.
Each window can have a data structure with information like position and 
size, and each process you're running that draws to a window will have a 
pointer to the window data.  So start at your first structure and cycle 
through, drawing a window for every one that needs a window.
    And if your program can handle an update event, as every Mac program 
must, you can cycle through your windows (they're all linked) and call 
your UpdateWindow(thisWindowPointer) for every one.  Unless the OS 
generates an update event for every window, in which case your program 
will do it automatically with no more effort on your part.

It's really not that hard.  You need to add some extra code for 
restarting the interface (not much extra code since you already have to 
draw it once), and otherwise, your program should act like that anyway.

>I thought all the PMT bullshit was to make the programmer's life easier.

I thought you'd heard?  The whole idea of the Mac and other GUIs is to 
make the *user's* life easier, not the programmers.

>People are just not going to do it. The BB will crash and lots of PMT 
>spawned processes will not anticipate it. As things stand, anything 
>beyond that is pure speculation.

That programmers are not going to do it, and that PMT spawned process 
will not anticipate a BB crash, is also pure speculation.  You're 
possibly assuming that the programmers are sloppier and lazier than they 
really are.  You're also assuming that those programmers won't be fired 
or moved to other projects, and replaced by programmers who will do the 
job right.
Technical Details
Message-ID: <4h4qir$dpj@nuke.csu.net>
Path: arc1-ca.pugleaf.net!newshub.csu.net!ghansen
References: <nevin-0602962253080001@150.135.1.79> <4glem9$li5@nnrp1.news.primenet.com> <4gsrip$bp7@meaddata.lexis-nexis.com> <31349BAA.6418@mediamatic.nl>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!newshub.csu.net!ghansen
From: ghansen@isc.sjsu.edu (Gregory L Hansen)
Newsgroups: comp.sys.powerpc,comp.os.linux.advocacy,comp.sys.mac.advocacy,comp.os.os2.advocacy,comp.sys.amiga.advocacy
Subject: Re: Copland merely shifts the burden to the programmer
Date: 29 Feb 1996 18:16:59 GMT
Organization: San Jose State University, San Jose, California
Message-ID: <4h4qir$dpj@nuke.csu.net>
References: <nevin-0602962253080001@150.135.1.79> <4glem9$li5@nnrp1.news.primenet.com> <4gsrip$bp7@meaddata.lexis-nexis.com> <31349BAA.6418@mediamatic.nl>
NNTP-Posting-Host: athens.sjsu.edu