[comp.object] Summary: OOPLs for the Macintosh

eberard@grebyn.com (Ed Berard) (03/25/90)

Folks,

Earlier, I posted a message asking for information on object-oriented
programming languages for the Apple Macintosh (running under either
the original Mac OS, or under A/UX). What follows is an edited summary
of the responses I received. Thanks to all who replied.

				-- Ed Berard
				   (301) 353-9652

--------------------------------------------------

From: d88-jwa@nada.kth.se (Jon W{tte)
Organization: Royal Institute of Technology, Stockholm, Sweden

THINK C 4.0 uses Objective C (well... sort of) and comes with
a small, neat & workable object library. Very easy to use,
but tend to become a little bit annoying on large projects.
Fast compilation & linking; excellent source-code debugger.

MPW comes in two flavors - Object Pascal or C++. Both use the
same object library, MacApp. MPW is huge, slow, kludgy but
powerful. It tends to become annoying when you try to work
in it. It is much more expensive than THINK C, though MacApp
is a bit more fleshed-out than TCL.

---------------------------------------

From: claris!drc@ames.arc.nasa.gov (Dennis Cohen)
Subject: Re: Compilers for OOPLs Under Mac OS and A/UX

In comp.sys.mac.programmer you write:

>I am interested in the availability of various object-oriented
>programming languages (OOPLs) under either the original Macintosh OS,
>or under Apple's version of Unix, i.e., A/UX. Examples of OOPLs
>include:

>	- C++
Apple sells a CFront 2.0 for their MPW C compiler - $175 (plus the base
MPW cost of about $400).  It is a very stable implementation of AT&T's
CFront (actually has bug fixes that AT&T hasn't integrated, yet).  Common
View is available from Glockenspiel.
>	- Smalltalk
Parc Place has SmallTalk-80, their full implementation.  Price is around
$1000 and is reported to be quite stable.  I don't pirate software and cannot
justify the price, so my information here is second-hand.
DigiTalk has SmallTalk/V Mac for either $175 or $195.  It is a very nicely
done implementation and has a Mac look and feel to it.  ST-80 is (seen at
trade shows) their standard look and feel -- doesn't have ToolBox support.
>	- Eiffel
Not available - I wish it were.
>	- Common Lisp Object System (CLOS)
There are at least two implementations, one of them from Apple but LISP isn't
one of my languages so I can't tell you any more than that.
>	- ... and others ...
Object Pascal from Apple (MPW-based with the full package at about $400),
TML (also MPW-based but with the full package for about $200), and Symantec's
THINK Pascal 3.0 for $249.  All three of them are very well done but the 
only one which bundles a Class Library is Symantec.  It also has an excellent
integrated source debugger and browser.

Symantec's THINK Object C 4.0 (_not_ Objective C) for $249, including source
debugger and Class Library.  This is _very_ popular.

>I am interested in availability, prices, and, of course, product
>quality. Please send any information to me, and I will post the
>results to the net. Thanks in advance.

The only negative I can say about any of the above is that C++ is S-L-O-W
in compiling.  So far as robustness of the environment, compiler, and
completeness goes I believe the current best "bang for the buck" goes to
Symantec's THINK Pascal 3.0, followed by their C compiler, MPW C++, and
SmallTalk/V.  The unfortunate situation is that you don't get a class
library with the MPW products, although MacApp is available for an additional
fee.

Dennis Cohen
Claris Corp.
 ****************************************************
Disclaimer:  Any opinions expressed above are _MINE_!
 ****************************************************

----------------------------------------------

From: cca@newton.physics.purdue.edu (Charles C. Allen)

> 	- C++

Apple has ported C++ to their MPW environment.  Total cost (MPW shell,
C, C++) would run about $400. You buy it from APDA.

THINK sells Lightspeed C which is a subset of C++.  About $170 from
mail order places.

> 	- Smalltalk

Digitalk Smalltalk/V Mac costs about $130 from mail order places.
ParcPlace Objectworks for Smalltalk on the Mac lists for $600.

> 	- Eiffel

Not yet availabe for the Mac, although I keep hearing rumors that a
port is in progress.

> 	- Common Lisp Object System (CLOS)

Apple sells Allegro Common Lisp for the Mac, but I don't know about
the availability of CLOS.

> 	- ... and others ...

Apple sells Object Pascal, which has simple object-oriented
extensions.  THINK sells Lightspeed Pascal which has the same
language constructs.

If you want to write *Mac* applications, then what really matters is
having a high-level application "toolbox" (the ROM Toolbox is very low
level in this sense).  MacApp (apple) and Think's class library are
the best ones out there today.  MacApp can be used from Apple Object
Pascal, Apple C++, and THINK's Lightspeed Pascal.  The Think class
library can be used from Lightspeed Pascal or Lightspeed C.

Charles Allen			Internet: cca@newton.physics.purdue.edu
Department of Physics		HEPnet:   purdnu::allen, fnal::cca
Purdue University		talknet:  317/494-9776
West Lafayette, IN  47907

------------------------------------------------

From: lgm@ihlpf.att.com (Lawrence G Mayka)
Organization: AT&T Bell Laboratories

To the best of my knowledge:

For the Macintosh OS:

Apple itself offers Apple Common Lisp, also/formerly called
(confusingly) Allegro Common Lisp.  Apple Common Lisp costs about
$600 and comes with Object Lisp (an earlier, simpler but less
powerful OOP system) integrated into the system.  A non-integrated
Portable CLOS (PCL) is also provided.

ExperTelligence offers Procyon Common Lisp, also for about $600;
but an additional $700 or so buys a truly integrated,
high-performance CLOS.

For A/UX:

I would try rounding up the usual suspects:  Ibuki CL from Ibuki,
LispWorks from Harlequin, Delphi CL from Delphi, Allegro CL from
Franz, Lucid CL from Lucid.  Virtually every Common Lisp vendor
offers at least PCL (usually with plans for early improvement);
some offer an integrated, perhaps even high-performance CLOS
already.  The older, more established vendors like Franz and Lucid
typically offer an integrated (Old) Flavors as well.

For coprocessors:

Symbolics offers the MacIvory, and Texas Instruments the
MicroExplorer, for the Mac II.  In each case, a coprocessor board
runs the manufacturer's Lisp-based operating system and interfaces
to the Mac's disk drive, monitor, etc.  Symbolics offers Old and
New Flavors, and soon CLOS; TI supports Old Flavors and now CLOS
as well.

	Lawrence G. Mayka
	AT&T Bell Laboratories
	lgm@ihlpf.att.com

Standard disclaimer.

--------------------------------------------------

From: Keith Rollin <keith@apple.com>
Organization: Apple Computer Inc, Cupertino, CA

Ed,

You forgot the biggie: Object Pascal. Remember that Apple's Object Class 
Library (MacApp) is written in it.

Most of my experience has been with Object Pascal and C++. I've never touched
SmallTalk or Eiffel, however, followers of both are very ardent. I've never
hacked in Lisp either, though I at least know what it looks like.

Object Pascal and C++ are both available from APDA. Pascal is $150. C++ comes
in 2 parts: CFront ($175) and C ($150) -- total of $325. While C++ is
unarguably more "full-featured", it has not been proven to me that all those
features are necessary or desired. Often times they can be abused, leading to
some very obtuse code. Of course, that's what C is all about.

Performance-wise, Object Pascal compiles faster, and both give equivalent
code. Because C++ is a 2-part compile, it is slower. Additionally, AT&T wrote
CFront with a certain computer model in mind that doesn't quite fit the Mac.
Because of this, there are a lot of inefficiencies in CFront for the Mac that
make it: a) run very slowly, and b) require lots of memory. I can compile
Object Pascal programs in 1.5 to 1.75 megs of memory; CFront requires at 
least 3Meg.

Both compilers are currently available from APDA. Pascal and C are part of the
MPW 3.1 suite. CFront is currently in version 3.1b1; I don't know when final
will be available.

Please let me know if there is anything else I help with.

- Keith Rollin
- Apple Developer Technical Support

--------------------------------------------

From: jcs1@gte.com (Jim Sinclair)
Organization: GTEL

>         - C++
Apple now supports C++ under the Macintosh Programmmers Workshop.  I'm 
unsure of the price.  This, I expect would run under both operating 
systems.
>
>         - Smalltalk
There are several versions available.  I own Smalltalk/V from Digitalk.  
Current price is probably under $200.  Advantage is that is more closely 
follows the Macintosh user interface.  Disadvantage would be that the 
entire Smalltalk80 class hierarchy has not been implemented.  If you want 
the 'real' thing, Parc Place Systems markets the standard Smalltalk80.  
Price is probably closer to $500, although I'm going on a very dim memory 
there.  My experience with Smalltalk/V has been very good, and it has the 
added advantage that Digitalk also makes versions for MS/DOS and OS/2, and 
applications developed on one platform can be fairly easily ported to the 
others.

By the way, I'm looking forward to hearing your talk up here in Boston 
next month.  Take care.

Jim Sinclair
jcs1@gte.com

-------------------------------------------

From: alms@cambridge.apple.com (Andrew L. M. Shalit)

Macintosh Allegro Common Lisp (MACL):

  VERSION 1.3.2
  should be shipping again in about 2 weeks
  $500
  available through APDA 1-800-282-2732
  Object Lisp (not CLOS) is built in.
	(Object Lisp is a very nice, very simple object system
	that never really got the attention it deserved.  It
	is being dropped from future versions of MACL (see below)
	so this is your last chance.)
  CLOS available through PCL, a publically distributed package
  Extensive Macintosh Interface tools (windows, dialogs, menus)
	available as Object Lisp classes.  Nice programming environment,
	including a programmable EMACS-style editor.  The environment
	itself is written in Lisp/Object Lisp, and so can easily
	be extended by the programmer.
  Does not run under A/UX

  VERSION 2.0
  pre-beta release scheduled for this spring.
  same as above, except with CLOS instead of Object Lisp.
  changes for compatibility with recent changes to Common Lisp
	proposed by X3J13.
  many other re-writes, clean-ups, and optimizations

MACL is a very nice, very responsive programming environment.
The Common Lisp is fairly zippy.  It's all very well integrated
with the Macintosh.

Of course, the disclaimer is that I'm one of the authors, so I'm
probably biased.  Still, we have lots of happy customers, and we
won some award as best Macintosh programming language last year.

     -andrew shalit
      alms@cambridge.apple.com

P.S. In case you're curious, there's no relation to the Allegro CL
done by Franz, Inc.

P.P.S. If you're interested in getting on the beta-tester list for
2.0, you should contact Laura Clark:  clark.1@applelink.apple.com.

----------------------------------------------

From: jcg@iris.brown.edu (James Grandy)
Organization: IRIS, Brown University

There are quite a number of systems available; I dont have a list, so
I'll just throw a few out off the top of my head:

Mac OS:

1. Apple's MPW C++. Full AT&T C++ V2.0, with some extensions. Very
   slow, but reliable.  Works with MacApp (see next).

2. Apple's MPW Object Pascal. Nice Pascal with reasonable OO
   extensions.  Native environment of MacApp, an OO application
   framework.

3. Think C: a *FAST* C compiler (15K lines/minute) with source level
   debugging, inspectors, etc. Basic subset of C++ -- no overloading,
   single inheritance, no constructors. Comes with Think Class
   Library, an OO application framework.

4. Think Pascal: Think C, only Pascal. Just out. Method-level browser,
   MacApp compatible.

5. ParcPlace Smalltalk. Someone at Parcplace said that they might port
   ObjectWorks/C++ to the Mac in the next year, but no real promises.

6. Smalltalk/V.

7. Allegro Common Lisp. Recently acquired by Apple, available through
   APDA. Very nice Common Lisp development environment, with full
   access to Mac toolbox, CLOS-like object extensions and an
   applications framework.

A/UX:

1. I've heard the g++ (GNU C++) is not easily ported to A/UX -- check
   out comp.unix.aux.

2. C++ 2.0 from AT&T seems to work alright, however.

3. No others I know of, other than research products, etc. 

4. Most Mac apps will run under A/UX -- more all the time, in fact.

Hope this helps!

James Grandy
(401) 862-1610                jcg@iris.brown.edu
IRIS Brown University
Box 1946, Providence, RI 02912

---------------------------------------------

From: wdr@wang.COM (William Ricker)

Ed,

I assume you're already aware of Neon, the supposedly OO extension
of Forth? If not, I can try to get particulars from my friends with copies.

Bill (talk to you soon) Ricker

--------------------------------------------

From: Boris Magnusson <boris@DNA.LTH.Se>

Dear Ed,

There is an implementation of the original object oriented programming
language SIMULA for MAC/MPW.

The current release (4.07) of Simula for the MAC/MPW is Public domain.
It comes with a Hypercard reference stack for both the language and
the interface to the Toolbox.  The quickest way to get hold it is to
download it from rascal.ics.utexas.edu where you find it in under
directory:

	mac/programming/simula
-rwxrwxr-x  1 19       ftp        251008 May 23  1989 lund_simula_4pt07.sit_bin
-rwxrwxr-x  1 19       ftp        156800 May 23  1989 simula_4pt07_reference_stack.sit_bin
-rwxrwxr-x  1 19       ftp         95360 May 23  1989 sinterfaces.sit_bin

login as "anonymous" under ftp to download the files.

If you have any problems with this I will be happy to send you a diskett.

SIMULA is a standardized language. The Swedish Standard (SS 63 61 14)
should be possible to get trough ANSI. The Lund Simula implementaion,
which follows the standard, has been operational since 1981 and ported
to various mini computers and workstations. For Unix based machines
the system includes an interactive, source level debugger.

More information on Lund Simula can obtained from:
Lund Software House AB
Box 7056
S-220 07 LUND, Sweden
or from: boris@dna.lth.se

Good luck with your investigation!
Boris Magnusson

---------------------------------------------

[Note: This message was _not_ sent to me. I happened to spot it while
I was compiling this response. -- Ed]

From: mm3d+@andrew.cmu.edu (Matt McNally)
Subject: Re: Object-oriented mailing list
Organization: Computing Systems, Carnegie Mellon, Pittsburgh, PA

james@limmat.wrs.com (James Moore) asks:

>Could someone please send me the information for subscribing to the
>object-oriented mac programming mailing list?

I thought I'd respond to the net in a faceless attempt to increase
the ever expanding domain of OOP and those who trod its paths:

One such list is macoops@andrew.cmu.edu.  If you would like to
be on the distribution list send me mail at mm3d@andrew.cmu.edu.

-------------------------------------------------------------------------
 Matt M. McNally - 'Macintosh II Initiative' Research Programmer/Dugan
                    Carnegie Mellon, H&SS Dean's Office, Pittsburgh 15213
                    mm3d@andrew.cmu.edu | Baker Hall 369B, (412) 268-6990
-------------------------------------------------------------------------

--------------------------------------------

Once again -- Thanks to all who replied.

				-- Ed Berard
				   (301) 353-9652

P.S.: Please note my _new_ e-mail address: eberard@grebyn.com