mf2u+@andrew.cmu.edu (Matthew Raymond Flatt) (12/09/90)
Is there an Objective-C compiler (as opposed to C++) for the Mac? I'm just wondering, really. Matthew
melling@cs.psu.edu (Michael D Mellinger) (12/10/90)
In article <EbMKdp600UhW02N1I1@andrew.cmu.edu> mf2u+@andrew.cmu.edu (Matthew Raymond Flatt) writes:
Is there an Objective-C compiler (as opposed to C++) for the Mac? I'm
just wondering, really.
Matthew
NeXT gave their Objective-C enhancements of GCC to the FSF, and the
changes will be incorporated into GCC 2.0. Someone will probably port
it to the Mac so that in runs under AU/X(not the FSF, of course).
-Mike
leonardr@svc.portal.com (Leonard Rosenthol) (12/11/90)
In article <Fkcopmq3@cs.psu.edu>, melling@cs.psu.edu (Michael D Mellinger) writes: > > In article <EbMKdp600UhW02N1I1@andrew.cmu.edu> mf2u+@andrew.cmu.edu (Matthew Raymond Flatt) writes: > > > Is there an Objective-C compiler (as opposed to C++) for the Mac? I'm > just wondering, really. > > Matthew > I spoke with Brad Cox recently, who told me that Stepstone is doing an Objective-C compiler for the Mac, though he was not willing to comment on time frame (I would guess 2nd quarter). I didn't (stupid me) ask about things like MacApp compatibility, or MPW vs. standalone, so don't ask ;-) -- ---------------------------------------------------------------------- + Leonard Rosenthol | Internet: leonardr@sv.portal.com + + Software Ventures | GEnie: MACgician + + MicroPhone II Development Team | AOL: MACgician1 + ----------------------------------------------------------------------
ech@cbnewsk.att.com (ned.horvath) (12/12/90)
In article <EbMKdp600UhW02N1I1@andrew.cmu.edu> mf2u+@andrew.cmu.edu (Matthew Raymond Flatt) writes: > Is there an Objective-C compiler (as opposed to C++) for the Mac? I'm > just wondering, really. From article <1990Dec10.173008.22143@svc.portal.com>, by leonardr@svc.portal.com (Leonard Rosenthol): > I spoke with Brad Cox recently, who told me that Stepstone is doing > an Objective-C compiler for the Mac, though he was not willing to comment > on time frame (I would guess 2nd quarter). > I didn't (stupid me) ask about things like MacApp compatibility, > or MPW vs. standalone, so don't ask ;-) Hi, Leonard -- Frankly, the object models of Object Pascal (i.e., MacApp) and Objective-C are so different that it's hard for me to imagine MacApp support. On the other hand, Cox/Stepstone are very high on the notion of "software ICs", and they sell several class libraries as "ICpak nnn". So maybe we'll get some platform-independent class libraries instead (hope, hope). Meantime, you can go play with SmallTalk-V... =Ned Horvath=
Garance_Drosehn@mts.rpi.edu (Garance Drosehn) (12/12/90)
In article <1990Dec12.043710.27551@cbnewsk.att.com> ech@cbnewsk.att.com (ned.horvath) writes: > Frankly, the object models of Object Pascal (i.e., MacApp) and > Objective-C are so different that it's hard for me to imagine > MacApp support. Um, but isn't it true that there's a C++ version of MacApp around (or in the works)? Would Objective-C fit in well with the object models of C++? Garance_Drosehn@mts.rpi.edu (who is just in the process of learning C++, and doesn't know much of the details for any of these OP languages... :-)
ech@cbnewsk.att.com (ned.horvath) (12/13/90)
I had said, > Frankly, the object models of Object Pascal (i.e., MacApp) and > Objective-C are so different that it's hard for me to imagine > MacApp support. From article <#%F^8W_@rpi.edu>, by Garance_Drosehn@mts.rpi.edu (Garance Drosehn): > Um, but isn't it true that there's a C++ version of MacApp around (or in > the works)? Would Objective-C fit in well with the object models of C++? > Garance_Drosehn@mts.rpi.edu Hmm, I guess I wasn't explicit enough. C++, Object Pascal, and Eiffel all treat the notion of "class" as an extention of the idea of "datatype." The type of an object is always well-defined, and the set of messages that object can respond to are always completely specified (and restricted) by that type. An object reference always has a specific static type, which further restricts the set of messages that can be sent to the object, and the object referred to always has to be "conformable" with the static type of the reference. In Object Pascal conformable just means "of the same class or a subclass of that class." Eiffel and C++ have multiple inheritance, and I won't even TRY to tackle the implications of THAT in a short note! By contrast, Objective-C is, to a first approximation, SmallTalk-80 embedded in C. (I don't claim the approximation is exact, flames to comp.object.) While every object still has a definite type, object references are essentially typeless, and it's always valid to send any message to any object, with a default behavior that the system stops and says "<object> doesn't know how to <message>." Reconciling such disparate models is a very difficult task, I'd call it a practical impossibility. Indeed, mixing C++ with Object Pascal requires the C++ programmer to restrict shared objects to be heap- resident, handle-based, and use single-inheritance. But even that degree of compatibility required some very careful implementation by the MPW engineers at Apple (thanks, all). The plus side of my posting is that, while I wouldn't expect MacApp to be supported by Objective-C, MacApp is not the only generic application imaginable, or even the only one presently shipping (the Think Class Library comes immediately to mind). In the particular case of Objective-C, Stepstone and third parties have developed and continue to develop class libraries (ICpaks), including Mac-like interface elements, which fit the Objective-C model but aren't restricted to a single platform. Brad Cox isn't just a techie, he's also a businessman. If he's thinking about Objective-C for the Mac, he's fully aware that Mac users (and programmers) take the guidelines seriously. So, I would expect a pretty complete set of ICpaks, exploiting the Mac Toolbox, on day 1... =Ned Horvath=
ejd@iris.brown.edu (Ed Devinney) (12/13/90)
This is all an interesting discussion, particularly Ned Horvath's informative explanation of object models, but I'm still skeptical that Stepstone would build a Macintosh version. In fact, when I visited the company in October to arrange a demo period for the Sun4/X version for our institute, I was assured by the (VP/Engineering, I believe) that Stepstone was _not_ developing a Mac version. In article <1990Dec12.161329.12831@cbnewsk.att.com> ech@cbnewsk.att.com (ned.horvath) writes: > In the particular case of Objective-C, Stepstone and third parties > have developed and continue to develop class libraries (ICpaks), > including Mac-like interface elements, which fit the Objective-C model > but aren't restricted to a single platform. [...] > If he's thinking about Objective-C for the Mac, > he's fully aware that Mac users (and programmers) take the guidelines > seriously. So, I would expect a pretty complete set of ICpaks, > exploiting the Mac Toolbox, on day 1... Here is exactly why I think that Stepstone will not have a package for the Mac anytime soon. Mac users & programmers expect to follow the guidelines very, very closely, and therefore a Mac application framework ends up being very closely bound to the Mac interface idiom. That's a lot of effort to support a rather small (by comparison) user base. The current portable interface lib, ICPak201, is primarily derivative (from a users perspective) of Windows, and would make most Mac users flee at first sight. If Stepstone does what I think it will do, they will support a real Motif interface well before the Macintosh, sad to say. ed Ed Devinney ... ejd@iris.brown.edu ... IRIS/Brown University - "It's keen! It's pure keen! No, it's better than keen ... it's koogat!" : _Sleeper_ -
daven@svc.portal.com (12/13/90)
In article <1990Dec12.043710.27551@cbnewsk.att.com> ech@cbnewsk.att.com (ned.horvath) writes: >On the other hand, Cox/Stepstone are very high on the notion of "software >ICs", and they sell several class libraries as "ICpak nnn". So maybe >we'll get some platform-independent class libraries instead (hope, hope). > >Meantime, you can go play with SmallTalk-V... There's also work going on to bring Effiel to the Mac, first as a Effiel to C compilier, and later as a Effiel to object module compilier. Play with SmallTalk-V? Well, I'd rather play with Prograph 2.0, it's fun and it's the first pictorial language for the Mac that I've actually found useful. -- ------------------------------------------------------------------------------- Dave Newman | daven@svc.portal.com | AppleLink: D0025 Sofware Ventures Corp. | AOL: MicroPhone | CIS: 76004,2161 Berkeley, CA 94705 | WELL: tinman@well.sf.ca.us | (415) 644-3232
lsr@Apple.COM (Larry Rosenstein) (12/13/90)
In article <1990Dec12.161329.12831@cbnewsk.att.com> ech@cbnewsk.att.com (ned.horvath) writes: > >By contrast, Objective-C is, to a first approximation, SmallTalk-80 >embedded in C. (I don't claim the approximation is exact, flames to >comp.object.) While every object still has a definite type, object >references are essentially typeless, and it's always valid to send any >message to any object, with a default behavior that the system stops This is true, except that I think Objective-C also supports typed object references, which use a faster dispatching mechanism. (I'm not Objective-C expert, so perhaps someone else can verify this.) >The plus side of my posting is that, while I wouldn't expect MacApp >to be supported by Objective-C, MacApp is not the only generic >application imaginable, or even the only one presently shipping >(the Think Class Library comes immediately to mind). To support MacApp or TCL in Objective-C there are 2 alternatives: (1) support the exact same runtime implementation so that you can link the existing class library with Objective-C code, or (2) translate the class library into Objective-C. MPW C++ takes the first approach to supporting MacApp, while THINK Pascal takes the second. (Although it's easy since the langugages are the same except for minor differences.) (2) would be difficult for Objective-C, and I don't know enough about the Objective-C runtime to know if (1) is possible. If Objective-C does support typed object references, then it might not be as difficult as it first seems. -- Larry Rosenstein, Object Specialist Apple Computer, Inc. 20525 Mariani Ave, MS 77-A Cupertino, CA 95014 AppleLink:Rosenstein1 domain:lsr@Apple.COM UUCP:{sun,voder,nsc,decwrl}!apple!lsr