[comp.lang.c++] Zortech C++ Compiler

tek@fenix.Atlanta.NCR.COM (Tom Klempay) (07/06/88)

I recently received some literature on the new Zortech C++ Compiler.  This
thing sounds like the greatest thing since sliced bread (and for only $99.95,
the compiler, not sliced bread :-).  I would appreciate it if anybody out
there who has any experience using this, if you could mail me your thoughts/
feelings/problems with this product.  From reading the articles Zortech sent me,
everything seems extremely positive for the compiler but I would appreciate
any input you might have.  One specific question I have is "What version of
AT&T C++ does Zortech support?".  Their letter is somewhat fuzzy on that
subject.  Thanks for any comments and I will summarize.

Tom Klempay - NCR SE-Retail     |   "An old Chinese proverb say 'A donut
Atlanta, GA                     |    without a hole, is a danish'"
tek@fenix.atlanta.ncr.com       |          -- Chevy Chase (Caddyshack)
...!ncrlnk!fenix!tek            |   

tek@fenix.Atlanta.NCR.COM (Tom Klempay) (07/08/88)

This is information mailed to me regarding my earlier posting, and he has
asked that I post it, since his news is acting flakey.

-----------------beginning of forwarded message----------------------------

        I have been helping the compiler writer, Walter Bright, debug  
Zortech C++ and I'm using it in an upcoming article in the Object-Oriented
Issue of Micro Cornucopia (subscriptions: 1-800-888-8087).  I reviewed
the Advantage and Guidelines C++ preprocessors in an earlier issue (the
C issue; back copies are available) and Zortech C++ is a breath of fresh air.
For one thing, it isn't a preprocessor, so you don't need to spend a fortune
on microsoft C.  It includes an ANSI C compiler and an
assembler (you just say "ZTC file" and it invokes the proper compiler
depending on the filename extension), as well as a very nice editor which
has the "compile-inside-the-editor-and-jump-to-errors" feature I have
come to depend upon so much in GNU Emacs and Turbo C.  It includes a Unix-style
function library, and support for graphics, mice, interrupts, etc.

	The error messages are much more useful than the preprocessors.  In
general, I like it a great deal and would recommend it to anyone who wants
to program in C++ on the PC.

	Please post this to the net, as my news connection is very
flakey.  Thanks.

		Bruce Eckel
		School of Oceanography, WB-10
		University of Washington, Seattle, WA, 98195
		arpanet: eckel@sperm.ocean.washington.edu
                UUCP: uw-beaver!sperm.ocean.washington.edu!eckel
                bitnet: eckel%sperm.ocean.washington.edu@UWAVM

---------------------end of forwarded message---------------------------


Tom Klempay - NCR SE-Retail     |  Disclaimer: I am in no way connected 
Atlanta, GA                     |  with Zortech or MicroCornucopia or the 
tek@fenix.atlanta.ncr.com       |  Atlanta Braves (and Falcons, for that        
...!ncrlnk!fenix!tek            |  matter :-) 

bright@Data-IO.COM (Walter Bright) (07/09/88)

In article <352@fenix.Atlanta.NCR.COM> tek@fenix.Atlanta.NCR.COM (Tom Klempay) writes:
< One specific question I have is "What version of
<AT&T C++ does Zortech support?".

Zortech C++ supports the version of C++ described in Bjarne's C++ book. It
does not currently support any of the extensions not in the book, in
particular it does not do multiple inheritance or support the 'protected'
keyword. Most people seem to be surprised when I mention that 'protected' is
not in the book.

The 'protected' keyword will probably be supported soon.

mjy@sdti.UUCP (Michael J. Young) (07/11/88)

In article <352@fenix.Atlanta.NCR.COM> tek@fenix.Atlanta.NCR.COM (Tom Klempay) writes:
>I recently received some literature on the new Zortech C++ Compiler.  This
>thing sounds like the greatest thing since sliced bread (and for only $99.95,
>the compiler, not sliced bread :-).  I would appreciate it if anybody out
>there who has any experience using this, if you could mail me your thoughts/
>feelings/problems with this product.  From reading the articles Zortech sent me,
>everything seems extremely positive for the compiler but I would appreciate
>any input you might have.  One specific question I have is "What version of
>AT&T C++ does Zortech support?".  

Since there have been a number of questions about this compiler, I thought
I'd post instead of reply via mail.

The Zortech C++ compiler is indeed real.  We just received our copy last
Friday.  We haven't had much time to play with it yet.  I personally haven't
tried it out at all, but a colleague has.

First of all, ZC++ supports version 1.1 of cfront.  The public and protected
keywords are missing.  The author said that only those things that were
described in Stroustrup's book were implemented, but he's working on bringing
it up to date.

The reported Codeview compatibility really just means support for global
symbols and source line numbers.  Local symbols are not supported.  Since
there is also a documented bug in the processing of the #line directive, I'm
not even sure how you can usefully use Codeview with inline functions.  But
I'll reserve judgement until I get to try it myself.  Zortech is also
working on a new debugger for C++, but I don't know when it will be
available.

The manual (according to my colleague) seems to be readable and well-organized.
Dr. Stroustrup posted a message on Bix saying that he thought it was
reasonable as well.

Dr. Stroustrup did have a complaint about the fact that ZC++ did not do
prototyping correctly.  They practice something that they call 
'autoprototyping'.  To paraphrase, ZC++ interprets the declaration
	int f();
as meaning that f can take any number of parameters (as in the obsolescent
ANSI C usage) rather than meaning that f can take no parameters.  In addition,
ZC++ will implicitly provide a prototype based on the first usage of the
function. So the statement
	a = f (5);
will result in an implied prototype of
	int f(int);
which will be used for all future invocations.

As you can imagine, this causes problems for variadic functions
like printf().  Dr. Stroustrup was sympathetic to what they were trying to
accomplish (he said he experimented with 'autoprototyping' early in the
development of C++), but he had learned from experience that it was a
mistake.  Note however, that autoprototyping can be turned off by a command
line option.

As with any new product, there are some bugs.  Many are documented with
the package, and I assume Zortech is working feverishly to fix them all.

ZC++ seems to have problems dealing with disambiguating functions in some
cases.  As an example that my colleague noticed,

struct two;
struct one {
   one (two &q);
   one (){}
   };
struct two {
   one & func();
   };

two t;
void junk (){
   one x = t.func();
   }

results in an error message that it can't figure out which
constructor of one to call.

It is also documented that some overloaded operators (like operator++) don't
work at all.

As I said, we haven't had a chance to really wring it out yet, but from our
initial look at it I don't expect to be able to port our existing C++
code from cfront to ZC++ without a lot of work.

I think ZC++ is a step in the right direction, and I wish Zortech
success.  But I think it is still a very new product, and it will take another
release or two to bring it completely in line with what we are used to
with cfront.  From what I've heard about Datalight C, I'm expecting that
we won't have to wait very long.
-- 
Mike Young - Software Development Technologies, Inc., Sudbury MA 01776
UUCP     : {decvax,harvard,linus,mit-eddie}!necntc!necis!mrst!sdti!mjy
Internet : mjy%sdti.uucp@harvard.harvard.edu      Tel: +1 617 443 5779

rc05@GTE.COM (Ramesh Chandak) (07/03/90)

has anyone used one ? any suggestions, recommendations ?
i'm looking for one that would help to create graphical objects like
chair, table and be also able to show 3-dimensional effects of such 
objects. any information on thirdparty software add-ons for the Zortech
C++ compiler shall be very much appreciated. thanx.

please email your replies to Ramesh Chandak at rc05@gte.com

- Ramesh
rc05@gte.com