🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sys.mac.oop.macapp3
2 messages
2 total messages Started by Taligent, Eric Berdahl,PAS Mon, 14 Dec 1992 08:14
RE>MacApp demo code ?
#132
Author: Taligent, Eric Berdahl,PAS
Date: Mon, 14 Dec 1992 08:14
96 lines
5548 bytes
Attn: MacApp 3.x Tech Discussion
SentBy: Eric Berdahl
 
        Reply to:   RE>MacApp demo code ?
Thomas,
 
I'm touched that you enjoyed the article on Object Model support, but I think
you missed the point altogether. Or, maybe you didn't and you're just making
some great hyperbolic point.
 
But before I go on with that discussion, let's set some facts straight.
 
First off, I don't believe that Apple ever announced OSL support for MacApp.
They kept talking like there would be a 3.1, and that it would have Object
Model support, but they were very careful not to make a clear commitment. That
was one of the more annoying things about this whole mess is that they would
never say what they would do other than think about it. Meanwhile, developers
are left hanging in the breeze.
 
Second, the unsupported unit would never have worked. That was one of the
central points of my presentation at MADACON '92: that you need underlying
architectural support for scripting concepts, they can't be just pasted onto
an application or a framework.
 
Third, the so-called unsupported unit is not what appears in the develop
article. I do not work for Apple. During the five weeks I did work for Apple,
I had nothing to do with the MacApp project. The MacApp group has never
approached me about adding UAppleObject functionality to MacApp, and even when
I had a prototype running, the only thing that happened was that I made the
changes to MacApp available to the MacApp team so they could see how I thought
it should be done.
 
Ok, now that the world axioms are realigned, let's get on to the substance of
your comments.
 
Why should you write MacApp code when even I wrote an article about object
programming without mentioning MacApp? There are lots of reasons. MacApp is
the best class library available today for doing Macintosh development.
Period. Another interesting journal is FrameWorks, The Journal for Software
Developers using Object Technology. In the September '92 issue of that journal
is an editorial I wrote on this very topic, "Is MacApp Dead?" [For the
morbidly curious, backissues can be gotten from the MADA office,
408-253-2765.] So the answer to why you should develop with MacApp is that you
need to ship product today and not wait for something the *might* come
tomorrow.
 
So, why did I choose not to mention MacApp more than I did? That's an
excellent question.
 
One reason is that there was an entire community of non-MacApp developers that
haven't seen my ideas for Object Model support expressed in either design,
theory, or code. They, too, deserve to have solutions presented to them.
 
Second, there are a great many people who still don't believe that things like
multiple inheritance, other C++ features, or even C++ are useful tools. The
Object Model problem cries out for just this kind of solution (which should
not be a surprise to anyone who was at the MADACON presentation), and I
thought I could do it justice in code. You'll have to be the judge of whether
I succeed.
 
Third, if the choice is to do everything in MacApp and make the rest of the
world convert out of MacApp or do everything in pure C++ and make the MacApp
community convert, I'll choose the latter. In general, I find that members of
the MacApp community are some of the brightest and resourceful people in the
community. No bull here, I mean that. I didn't think it would be a problem for
any MacApp developer to convert that code into an appropriate list of changes
to MacApp, especially since the roadmap for how to do that is in the last few
slides from the MADACON '92 presentation.
 
Fourth, any article discussion how to patch MacApp itself is going to be
either too long or too narrowly focussed to be printed in develop.
 
Fifth, what I would have printed would go something like this:
"Since MacApp is not based on multiple inheritance, and has little in the way
of low level frameworks, all MAppleObject functionality must be added by the
individual developer to TObject. TAppleObjectDispatcher functionality must
likewise be patched into TApplication in order to provide proper AppleEvent
distribution over and above MacApp's mechanisms. This will give you the
mechanics to have Object Model support in MacApp, but you will likely be very
unhappy with the result. Since MacApp has a rich library of classes that
should be providing default Object Model behavior, just adding the mechanics
are not enough. Instead, you will probably find yourself compelled to add such
behavior to MacApp itself, out of a sense of indignity at Apple forgetting
such a vital part of the architecture. For example, TWindow should implement
the close AppleEvent. There is no reason that every application needs to do
that, using TWindow itself should be sufficient. Unfortunately, since Apple
didn't see fit to provide this functionality, you get to."
Something tells me that the editor wouldn't have printed that.
 
Well, anyways, I hope that helps clear things up. Is MacApp dead? That's a
silly question. Of course it isn't. It is stagnant? Only the future will
decide that.
 
Stirring regards,
Eric
 
Re: RE>MacApp demo code ?
#149
Author: Bill Coleman
Date: Tue, 15 Dec 1992 18:56
93 lines
4956 bytes
In article <724322275.6320755@AppleLink.Apple.COM>, BERDAHL@AppleLink.Apple.COM (Taligent, Eric Berdahl,PAS) writes:
>  
> But before I go on with that discussion, let's set some facts straight.
>  
> First off, I don't believe that Apple ever announced OSL support for MacApp.
> They kept talking like there would be a 3.1, and that it would have Object
> Model support, but they were very careful not to make a clear commitment. That
> was one of the more annoying things about this whole mess is that they would
> never say what they would do other than think about it. Meanwhile, developers
> are left hanging in the breeze.

You may be technically correct about Apple making an announcement. Surely, they
showed intent openly to developers.

At the last developers conference, I repeatedly quizzed Tom Chavez, and he
assured me that OSL support would be in the next release of MacApp. I felt
that while MacApp 3.0 was a step forward, support for all the new system
features was desparately needed.

We agreed that it wasn't necessarily MacApp's intent to replace the toolbox.
So, for some system features, no "MacApp support" was really necessary. 
Developers could simply call the toolbox in their appropriate methods.

However, some system features really needed to be worked into the framework.
OSL is one of them. 

I also got somewhat frustrated at the developer's conference where Apple would
repeatedly state that developers should use MacApp for new development, but
when presenting information on new technologies, MacApp support was no where
in sight. (Witness: AppleScript, QuickDraw GX) 

The technology teams claimed that such integration was the responsibility of
the MacApp team. The MacApp team screamed that they couldn't possibly keep
up with all the technology being developed.

Obviously, proper management and cooperation inside Apple is missing. Both
teams should have worked together to mutually support both the technology and
the framework.

Then in June, the bomb dropped, leaving developers without a satisfactory
development framework for the forseeable future. 

IMHO, Apple has really bumbled this one. It would have been one thing to
support Bedrock when it was ready to ship. But cutting MacApp off at the
knees in a half finished state wasn't very smart. And Bedrock may still
be a year or more off. Who knows? Symantec isn't saying. All Apple developers
can do is plod along and wonder what is going to happen, and whether they should
switch over to doing Windows development. (bleah)

> Second, the unsupported unit would never have worked. That was one of the
> central points of my presentation at MADACON '92: that you need underlying
> architectural support for scripting concepts, they can't be just pasted onto
> an application or a framework.

Indeed. These are the sorts of things that should have been worked into 
MacApp 3.0 when it first shipped.

> Why should you write MacApp code when even I wrote an article about object
> programming without mentioning MacApp? There are lots of reasons. MacApp is
> the best class library available today for doing Macintosh development.
> Period. 

Agreed. Even MacApp 2.0 is good.

Isn't it a shame that Apple has chopped off development and is only providing
minimal (life) support to MacApp?

> Since MacApp has a rich library of classes that
> should be providing default Object Model behavior, just adding the mechanics
> are not enough. Instead, you will probably find yourself compelled to add such
> behavior to MacApp itself, out of a sense of indignity at Apple forgetting
> such a vital part of the architecture. 

Since Apple should have obviously provided this, we developers wonder why
they didn't. That and the fact that repeated promises that they would
support this doesn't sit well.

> Well, anyways, I hope that helps clear things up. Is MacApp dead? That's a
> silly question. Of course it isn't. 

MacApp isn't dead, but it is in the ICU, on minimal life support.

> It is stagnant? Only the future will decide that.

It is hard to have much of a future when you are on life support....

	-- 
Bill Coleman, AA4LR                ! CIS: 76067,2327    AppleLink: D1958
Principal Software Engineer        ! Packet Radio: AA4LR @ W4QO
Hayes Microcomputer Products, Inc. ! UUCP: uunet!hayes!bcoleman
POB 105203 Atlanta, GA 30348 USA   ! Internet: bcoleman%hayes@uunet.uu.net
Disclaimer: "My employer doesn't pay me to have opinions."
Quote: "The same light shines on vineyards that makes deserts." -Steve Hackett.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads