[comp.sys.mac.programmer] THINK C 4.0 Press Release

siegel@endor.harvard.edu (Rich Siegel) (07/21/89)

Following is the text of the press release announcing THINK C version 4.0.


-- press release follows --

													Symantec Corporation
													(617) 275-4800
													Contact: Lisa Petrocchi
													
													(408) 725-2708
													Contact: Loretta Wagner
													
For Immediate Release

	SYMANTEC ANNOUNCES THINK C VERSION 4.0 WITH OBJECT-ORIENTED 
	PROGRAMMING SUPPORT
	
Cupertino, CA - July 19, 1989 - Symantec Corporation today announced that
THINK C (tm) version 4.0 (formerly THINK's LightspeedC), the first 
Macintosh (r) compatible programming environment that supports object-
oriented extensions to C, will be available in three weeks. The new version
provides two essentials to effective object-oriented programming: full
source-level debugger support for objects and a class library.

The THINK Class Library provides code for all the standard Macintosh
user interface components and behaviors, such as windows and scrolling,
eliminating the need for developers to recreate common code. Symantec
is the only vendor that provides a comprehensive solution to object-
oriented programming for both the C and Pascal (THINK's Lightspeed Pascal
(tm)) languages, so programmers in either language can reap the benefits
of object support.

Additional new features in 4.0 include full standard ANSI libraries
and enhanced ANSI language conformance for writing portable code.
Other enhancements in code resource support make it easier to develop
resources and give the option to write multi-segment resources. The
advanced in-line assembler now supports instructions for the 68020
and 68881, and includes new optimizations for more efficient code.

"With THINK C version 4.0, Symantec is at the forefront of the drive
to provide complete object-oriented programming support on the Macintosh,"
said Gordon E. Eubanks, Jr., president and CEO of Symantec. "As the
leading C vendor on the Macintosh, Symantec is committed to responding
to customer feedback and improving programming technology by providing
object-oriented programming and ANSI compatibility in THINK C."

"Apple is fully committed to object-oriented programming as a key
component of our future software directions," said Randy Battat, 
Apple's vice president of product marketing. "THINK C version 4.0
enables Apple developers to proceed along the course set by Apple
with its Object Pascal and MacApp(r) products. It is of major
significance that key third-party language developers, such as
Symantec, are helping, with products such as THINK C version 4.0,
to support our goal of delivering the advantages of object-oriented
programming to as many developers as possible."

THINK C, first shipped in April 1986, represents a major breakthrough
in fast, integrated programming technology. Since its release, THINK C
has won many prestigious awards including the 1989 SPA Best Programming
Language Award, the 1989 Byte Award of Distinction, the 1988 MacUser
Editor's Choice Award, and the 1989 MacWorld World Class Award. The 
industry's leading software companies and developers have used THINK C
for such successful products as Symantec Utilities for Macintosh (SUM),
Aldus PageMaker, Quark XPress, FoxBase+/Mac and MacWrite II.

The suggested retail price of THINK C version 4.0 is $249. Registered
owners can upgrade to version 4.0 for $69 plus shipping and handling.
The product and upgrade will ship early in August, and upgrade order
forms will be sent to all registered users at the end of July. For
further upgrade information, users can contact Symantec's Customer
Service Department at (800)441-7234 (outside CA) or (800) 626-8847
(CA only). THINK C version 4.0 runs on a Macintosh with one megabyte
of RAM. To use the source-level debugger, two megabytes of RAM and
Apple's MultiFinder(tm) are required.

Symantec is a leading software company which provides award-winning
application and system software products for IBM PC and Apple Macintosh
computer users. Founded in 1982, Symantec is a public company traded on
the NASDAQ National Market System (SYMC). The company is headquartered in
Cupertino, California.

Apple Macintosh and MacApp are registered trademarks of Apple Computer,
Inc; MultiFinder is a trademark of Apple Computer, Inc. Other brands
and products mentioned are trademarks of their respective holders.
Lightspeed is a trademark of Lightspeed, Inc. and is used with their
permission.

-- end of press release --


~~~~~~~~~~~~~~~
 Rich Siegel
 Staff Software Developer
 Symantec Corporation, Language Products Group
 Internet: siegel@endor.harvard.edu
 UUCP: ..harvard!endor!siegel

"When it comes to my health, I think of my body as a temple - or at least
a moderately well-managed Presbyterian youth center." - Emo Phillips

~~~~~~~~~~~~~~~

carlton@bellatrix (Mike Carlton) (07/21/89)

You had to know the questions would follow this announcement :-)

In article <2253@husc6.harvard.edu> siegel@endor.harvard.edu (Rich Siegel) writes:
>Following is the text of the press release announcing THINK C version 4.0.
>
...
>Additional new features in 4.0 include full standard ANSI libraries
>and enhanced ANSI language conformance for writing portable code.
     ^^^^^^^^
How ANSI is it?  Can I write new style function headers yet?  

>Other enhancements in code resource support make it easier to develop
>resources and give the option to write multi-segment resources. The
>advanced in-line assembler now supports instructions for the 68020
>and 68881, and includes new optimizations for more efficient code.
                ^^^^^^^^^^^^^^^^^^^^^^^^^^
"New optimizations"?  I never saw any old optimizations.  Can you tell 
us what optimizations are performed?
...
>The suggested retail price of THINK C version 4.0 is $249. Registered
>owners can upgrade to version 4.0 for $69 plus shipping and handling.
>The product and upgrade will ship early in August, and upgrade order

Seems like LSC is getting more and more expensive.  But I guess I'll keep 
upgrading as long as the new "goodies" are worth it.
--
Mike Carlton, UC Berkeley Computer Science	  | More bits,
carlton@ji.berkeley.edu    ...!ucbvax!ji!carlton  | Give me more bits.

jnh@ecemwl.ncsu.edu (Joseph N. Hall) (07/22/89)

In article <2253@husc6.harvard.edu> siegel@endor.harvard.edu (Rich Siegel) writes:
>THINK C (tm) version 4.0 (formerly THINK's LightspeedC), the first 
>Macintosh (r) compatible programming environment that supports object-
>oriented extensions to C...

The single most IMMEDIATELY useful of the c++ extensions, for me, would be
OPERATOR OVERLOADING.  Somehow I just can't get my FORTRAN buddies to look
seriously at C without a complex type ...  There are lots of engineering
applications waiting in the wings for the Mac if it would only support
convenient manipulation of complex quantities.

Frankly, I don't need a Mac class library all that much now, though I look
forward to using it.  What I really want are the critical language extensions.
(Improved draft-ANSI compatibility -- or, rather, ANY draft-ANSI compatibility
-- will be nice, too.)

So, umm, Rich, do I get my wish?  :-)

siegel@endor.harvard.edu (Rich Siegel) (07/22/89)

In article <15681@pasteur.Berkeley.EDU> carlton@bellatrix (Mike Carlton) writes:

>How ANSI is it?  Can I write new style function headers yet?  

	It's very ANSI. It's not 100% conformant, but it scored higher on
the ANSI Sampler than most compilers that claim ANSI conformance.
In particulare, you can use "new" style function declarations.

>"New optimizations"?  I never saw any old optimizations.  Can you tell 
>us what optimizations are performed?

	That's why they're "new". I don't recall all of the optimizations,
but one that I do remember is MOVE #0, An --> SUBA An, An.

>Seems like LSC is getting more and more expensive.  But I guess I'll keep 
>upgrading as long as the new "goodies" are worth it.

	"More and more"? This is the first price increase in the history 
of the product. I think it's a reasonable one, given the extra value
in this release (object support, all-new libraries, assembler and compiler
enhancements, and a class library).

	But that's just my opinion.

		--Rich

~~~~~~~~~~~~~~~
 Rich Siegel
 Staff Software Developer
 Symantec Corporation, Language Products Group
 Internet: siegel@endor.harvard.edu
 UUCP: ..harvard!endor!siegel

"When it comes to my health, I think of my body as a temple - or at least
a moderately well-managed Presbyterian youth center." - Emo Phillips

~~~~~~~~~~~~~~~

mikem@uhccux.uhcc.hawaii.edu (Mike Morton) (07/22/89)

In article <2256@husc6.harvard.edu> siegel@endor.UUCP (Rich Siegel) writes:
>	I don't recall all of the optimizations,
>but one that I do remember is MOVE #0, An --> SUBA An, An.

How about using native addressing modes for expressions like *p++?  Please?

 -- Mike Morton // P.O. Box 11378, Honolulu, HI  96828, (808) 676-6966 HST
      Internet: mikem@uhccux.uhcc.hawaii.edu
    (anagrams): Mr. Machine Tool; Ethical Mormon; Chosen Immortal; etc.

siegel@endor.harvard.edu (Rich Siegel) (07/22/89)

In article <3457@ncsuvx.ncsu.edu> jnh@ecemwl.UUCP (Joseph N. Hall) writes:
>In article <2253@husc6.harvard.edu> siegel@endor.harvard.edu (Rich Siegel) writes:
>>THINK C (tm) version 4.0 (formerly THINK's LightspeedC), the first 
>>Macintosh (r) compatible programming environment that supports object-
>>oriented extensions to C...
>
>The single most IMMEDIATELY useful of the c++ extensions, for me, would be
>OPERATOR OVERLOADING.  Somehow I just can't get my FORTRAN buddies to look

	I might point out that the C supported by version 4.0 is NOT some
random subset of C++; it is a mostly ANSI-conformant C compiler, with
object-oriented extensions. Object orientation doesn't necessarily entail
other C++ extensions such as operator overloading. (Which by the way, is 
not in 4.0).

		--Rich
~~~~~~~~~~~~~~~
 Rich Siegel
 Staff Software Developer
 Symantec Corporation, Language Products Group
 Internet: siegel@endor.harvard.edu
 UUCP: ..harvard!endor!siegel

"When it comes to my health, I think of my body as a temple - or at least
a moderately well-managed Presbyterian youth center." - Emo Phillips

~~~~~~~~~~~~~~~

mce@tc.fluke.COM (Brian McElhinney) (07/25/89)

From the THINK C 4.0 press release:
> The THINK Class Library provides code for all the standard Macintosh user
> interface components and behaviors, such as windows and scrolling,
> eliminating the need for developers to recreate common code.
> [...]
> "THINK C version 4.0 enables Apple developers to proceed along the course
> set by Apple with its Object Pascal and MacApp(r) products.

Are the "class library user interface components" MacApp, a MacApp-clone, or
something completely different?  If something new, is it a complete application
shell?  The major strengths of MacApp are application and document objects, not
windows and scrollbars (which are wonderful, just not as important).

>The advanced in-line assembler now supports instructions for the 68020 and
>68881, and includes new optimizations for more efficient code.

The *assembler* has an optimizer?  :-)

Does the compiler produce '881 code, or does it still generate library calls?

> Registered owners can upgrade to version 4.0 for $69 plus shipping and
> handling.

Great!  I don't understand how anyone can complain at that price; they should
try pricing MPW upgrades!
 
 
Brian McElhinney
mce@tc.fluke.com

siegel@endor.harvard.edu (Rich Siegel) (07/25/89)

In article <9870@fluke.COM> mce@tc.fluke.COM (Brian McElhinney) writes:
>
>Are the "class library user interface components" MacApp, a MacApp-clone, or
>something completely different?  If something new, is it a complete application
	It's something completely different; the TCL supports documents
and files as well as all the usual user-interface niceties. And there's
a class for tearoff menus...

>
>The *assembler* has an optimizer?  :-)
	
	Yup. Branches are optimized to short branches wherever possible,
and branches to a "goto", "break", or "return" are optimized to branch
to the destination of the statement. Some others too, but most branch
and label optimizations.

>Does the compiler produce '881 code, or does it still generate library calls?

	The compiler now generates inline opcodes.

		--Rich



~~~~~~~~~~~~~~~
 Rich Siegel
 Staff Software Developer
 Symantec Corporation, Language Products Group
 Internet: siegel@endor.harvard.edu
 UUCP: ..harvard!endor!siegel

"When it comes to my health, I think of my body as a temple - or at least
a moderately well-managed Presbyterian youth center." - Emo Phillips

~~~~~~~~~~~~~~~

jnh@ecemwl.ncsu.edu (Joseph N. Hall) (07/26/89)

In article <9870@fluke.COM> mce@tc.fluke.COM (Brian McElhinney) writes:
>The *assembler* has an optimizer?  :-)

Well, yes, it converts

	ADD.W #1, D0 
to

	ADDQ.W #1, D0

... :-) :-)

bill@ut-emx.UUCP (Bill Jefferys) (07/26/89)

In article <2258@husc6.harvard.edu> siegel@endor.UUCP (Rich Siegel) writes:
#In article <3457@ncsuvx.ncsu.edu> jnh@ecemwl.UUCP (Joseph N. Hall) writes:
#>The single most IMMEDIATELY useful of the c++ extensions, for me, would be
#>OPERATOR OVERLOADING.  Somehow I just can't get my FORTRAN buddies to look
#
#	I might point out that the C supported by version 4.0 is NOT some
#random subset of C++; it is a mostly ANSI-conformant C compiler, with
#object-oriented extensions. Object orientation doesn't necessarily entail
#other C++ extensions such as operator overloading. (Which by the way, is 
#not in 4.0).

I regret that operator overloading is not in 4.0. Although the
object orientation is very important, and we will certainly
be glad to have it and will use it extensively, the operator
overloading of C++ would be extremely valuable for many 
scientific applications. Lack of it makes certain tasks 
quite cumbersome.

Bill Jefferys