🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.mac.oop.powerplant
Article #22

Re: [Q] Cocoa, PowerPlant and Carbon...

#22
From: Chris Hanson
Date: Fri, 16 Aug 2002 03:45
85 lines
5215 bytes
In article
<pteesonNOT-9C8AE9.14565115082002@nntp.bloor.is.net.cable.rogers.com>,
Peter Teeson <pteesonNOT@rogers.com> wrote:

> It is said that Cocoa is dead - i.e. not being developed further.

This is absolutely false.  Apple is making very heavy investments in
Cocoa as the future for Mac OS X.

> The May 91 dog book states that you cannot acces the Cocoa API from C++. 
> Is this still true?

This is still true.  The Cocoa frameworks get their power from the
dynamic nature of the Objective-C language.  If you want to use Cocoa
effectively, you have to learn Objective-C.  You can also use it from
Java, but you'll wind up having to learn quite a bit about Objective-C
to understand how it all fits together.

Fortunately, Objective-C is a very small language with only a few key
concepts that you need to learn.  The bigger difficulty will be
unlearning C++-isms when trying to do Cocoa development.

Also, learning Cocoa's approach will also make you a better PowerPlant
programmer.

(Oh, and I think you mean "Learning Cocoa".  "The May 91 dog book" is
kind of confusing, considering that it came out in 2001.)

> It is said that the way to the future is Carbon - which I understand as 
> basically the familiar MacOS API at a Foundation level (to use a Cocoa 
> term).

It's also a misleading term.  Carbon is a revised version of the old
Mac Toolbox.  Apple is also making very heavy investments in Carbon as
a future API for Mac OS X, though the evidence is that they're doing
lots of their work internally in Cocoa whenever they can.

There's also something called Core Foundation, a set of C APIs for
things like string, array, dictionary, etc. handling that underlies
Cocoa, Carbon, and other APIs on Mac OS X.  Don't mix the terminology.

> And of course PowerPlant is Carbonised now isn't it?
> 
> The missing part of the puzzle is a RAD for GUI development.
> But it is said that you can use InterfaceBuilder with CodeWarrior.

A Carbon version of PowerPlant was available starting with CodeWarrior
Pro 6.  The current revision is CodeWarrior Pro 8.  Metrowerks
PowerPlant Constructor is a decent tool for building your human
interface.  You can also build nib-based Carbon applications using
CodeWarrior and Interface Builder, but I don't know if PowerPlant has
any built-in support for using nib files instead of PPobs yet because I
haven't upgraded to CodeWarrior Pro 8.

> However the May 91 dog book talks about IB standard palettes only using 
> the Cocoa Application framework. Although it mentions using third party 
> palettes.

That's because the book you're talking about is entirely about Cocoa. 
That's why it's actually called "Learning Cocoa".

> I am thinking of going the PowerPlant/Carbon with C++ route and using 
> InterfaceBuilder for the GUI.
> 
> Is this the best choice?

Personally, I don't think so.

> What do most of you do for an OS X only app and why?

I use Cocoa.  I don't dislike PowerPlant; I think it's a decent
framework, and it's great for building software that runs on both Mac
OS 9 and Mac OS X.  But I'm so, so, so much more productive with Cocoa
and Objective-C than I am with PowerPlant (one of the best C++
frameworks around) and C++ that it's not even funny.

My measure of productivity is "features completed in unit time."

  -- Chris

-- 
Chris Hanson                      |  Email: cmh@bDistributed.com
bDistributed.com, Inc.            |  Phone: +1-847-372-3955
Making Business Distributed       |  Fax:   +1-847-589-3738
http://bdistributed.com/          |  Personal Email: cmh@mac.com
Technical Details
Message-ID: <150820022245163614%cmh@bdistributed.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!paloalto-snf1.gtei.net!news.gtei.net!enews.sgi.com!news-hog.berkeley.edu!ucberkeley!newshub.sdsu.edu!west.cox.net!cox.net!nntp2.aus1.giganews.com!border1.nntp.aus1.giganews.com!nntp.giganews.com!newsfeeder.randori.com!news.randori.com!00dbd8bf!not-for-mail
References: <pteesonNOT-9C8AE9.14565115082002@nntp.bloor.is.net.cable.rogers.com>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10bcce,41b49be1c213c584
X-Google-Attributes: gid10bcce,public
X-Google-Thread: f98ee,41b49be1c213c584
X-Google-Attributes: gidf98ee,public
X-Google-Thread: fed41,41b49be1c213c584
X-Google-Attributes: gidfed41,public
X-Google-Thread: f635e,41b49be1c213c584
X-Google-Attributes: gidf635e,public
X-Google-Thread: f7f77,41b49be1c213c584
X-Google-Attributes: gidf7f77,public
X-Google-ArrivalTime: 2002-08-15 20:46:15 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!paloalto-snf1.gtei.net!news.gtei.net!enews.sgi.com!news-hog.berkeley.edu!ucberkeley!newshub.sdsu.edu!west.cox.net!cox.net!nntp2.aus1.giganews.com!border1.nntp.aus1.giganews.com!nntp.giganews.com!newsfeeder.randori.com!news.randori.com!00dbd8bf!not-for-mail
Subject: Re: [Q] Cocoa, PowerPlant and Carbon...
From: Chris Hanson <cmh@bdistributed.com>
Newsgroups: comp.sys.mac.oop.powerplant,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.programmer.tools,codewarrior.mac
Message-ID: <150820022245163614%cmh@bdistributed.com>
References: <pteesonNOT-9C8AE9.14565115082002@nntp.bloor.is.net.cable.rogers.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-transfer-encoding: 8bit
User-Agent: Thoth/1.5.4 (Carbon/OS X)
X-Windows: You'll envy the dead.
Lines: 85
X-Complaints-To: abuse@randori.com - Please include ALL headers, thanks.
Organization: Randori News - http://www.randori.com - Fast, High Retention, Low Cost!
Date: Fri, 16 Aug 2002 03:45:21 GMT