#C++ Programmers
44 messages in this thread
Hi There, I have been reading on OOP for awhile, and recently got Lattice
C++. I wonder how many Amiga Programmers out there are usign C++, I want
to get in touch with them, exchange concerns, maybe work on some projects
(GUI, MIDI, STD classes …).
If you are a C++ programmer, please leave me a message so we can talk
about the joy of OOP…
— Thank You, Marc Lupien [71550,640]
A lot of people are waiting for a decent c++ implementation for the
Amiga. The Lattice version is old. They are working on a more modern
version, but there is no definite date.
— Ethan
Ethan,
"Lattice" is not working on an updated version of C++ but SAS is.
I try to stay informed of new developments but it seems you have
heard of things that I am not aware of. Do you have an idea of the name of
that company that 'might
. be thinking about a new C++ compiler for the Amiga, It might be a good
idea to try to reach them so they know that eager Amiga-ers are waiting for
something like that ?…
(thanks for the reply) — Marc
Sorry 'bout my last message, I replied before reading your two messages,
I think I'll write a letter to SAS to keep them posted, the more feedback
they have, the sooner they will do something. A sourcelevel-debugger would
be welcome, among other things.
Thanks, — Marc.
SAS C comes with a source-level debugger, just not for c++.
— Ethan
I'm sure that when SAS comes out with their version of C++ that it will
fully support use with CPR, the debugger.
— Mike Roth
Oh, I'm sure that C++ will work fine with CPR once the SAS version
comes out, I was just pointing out that as I understand it, the current
lattice version doesn't account for the preprocessor.
— Ethan
Actually, it's more like the Lattice C++ preprocessor does not account for
the debugger. 🙂 It is not set up to insert debugger line information.
It would be a lot easier for a true C++ compiler to handle debug
information than for a preprocessor to do so.
— Mike Roth
If I may, I must take issue with a few comments you've made:
>… the Lattice C++ preprocessor
Lattice C++ is based on a poor port of early version of cfront done
be a 3rd party. cfront is not a preprocessor, but a translating compiler
that generates C as it's object code.
cfront is a compiler, a full-fledged true complete compiler: it performs full
syntax checking, full semantic checking, and full error checking as well as
*all* the other normal compiler activities. C++ cannot be preprocessed into
C. C++ is too complicated and too strongly typed to be just preprocessed into
C. Input C++ code is translated into an intermediate and internal compiler
tree form looking nothing like C or C++, just like every other compiler. The
*only* difference is that during the code generation phase, cfront will happen
to output C as its intermediate shape. So, instead of a vendor specific
internal format going into the final back end, cfront depends upon a C
compiler. The C compiler is *not* expected to do any checking of any sort
(cfront did that fully already) and is only there for object code generation.
If the two must be distinguishable, "translating compiler" (although still not
fully accurate) and "direct native code compiler" is what should be used.
> Lattice C++ is not set up to handle debugger line information
I'm pretty sure the version we have performs this fine.
Greg,
I think I will have to disagree with you on terminology. I have never
heard the term translating compiler used. I have always heard the term
preprocessor used. However, I do agree with your explanations, including
the value of the Lattice C++ product.
The Lattice C++ compiler did not know how to generate debug information,
but relied on the C compiler to do that. This meant that if you wished to
debug C++ code you had to step through the generated lines of C code which
do not always look a lot like the original code, and you also had to use
the mangled variable names. This was a major deficiency for debugging
purposes.
I would not consider coming out with a C++ compiler/translator/whatever
today that could not generate debug information directly for the C++ code.
If your product handles this, that's great.
— Mike Roth
>I think I will have to disagree with you on terminology. I have never
>heard of the term translating compiler. I have always heard the >term
preprocessor used.
I sympathize with this, but please do not disagree. C++ has had many
hurdles to address and the truth of the matter is that many of them have
not been technical in nature. The term preprocessor was applied to C++ for
political/marketing reasons early on by opponents/ competitors and has
unfortunately stuck since "it appears that generating C from C++ is
trivial" and all that kinda jazz. Just ain't so. In fact, because C++
support strong type checking, it just can't be a preprocessor. That just
isn't what the computer term preprocessor means. If it is, I contest that
my UNIX C compiler which generates asm code is a preprocessor as well and I
can guarantee your the that Comeau C++ is doing lots, lots, lots more in
terms of compilation phases that a C compiler ever would. So, again, I
sympathize with some of the… slang if you will…. that's been floating
around, but it is not what it is.
It seems that both c++ programs (I'll avoid using the term compiler for
either) have their deficiencies. The Lattice product is outdated and
nothing more than a pre-processor. The Comeau has (as of now) no specific
AmigaDOS/Intuition support, and so that part of the programming will be
done the old way, in C, unless we want to write complete class libraries by
ourselves. IMNSHO, one of the best cases for using C++ over C is how much
easier it can make manipulating a GUI.
Of course, although Comeau appears to have a headstart, there is the SAS
product on the way.
— Ethan
>The Lattice C++ compiler did not know how to generate debug information, but
>relied on the C compiler to do that. This meant that if you wished to debug
>C++ code you had to step through the generated lines of C code which do not
>always look a lot like the original code, and you also had to use the mangled
>variable names. This was a major deficiency for debugging purposes.
We depend upon the C compiler for the debug information as well however,
in our case it is the C++ source that is in effect and not the C source.
>I would not consider coming out with a C++ compiler/translator/whatever today
>that could not generate debug information directly for the C++ code. If your
>product handles this, that's great.
That's a catch-22 with a C generating C++ compiler as that's typically left
to the C compiler since any debugging directives that c/w/ould be added,
would end up being rejected by the C compiler. Also, the debugger wouldn't
necessarily understand them.
>Do you have an idea of the name of that compant that might be thinking
>about a new C++ compiler for the Amiga.
I can only imagine you're speaking of us: Comeau Computing.
As mentioned in the previous message, we're *way* beyond just the
thinking stage! 😉
Greg,
Forgive me, but I'm not familiar with Comeau Computing. Could you tell us
a little about the history of the company and what other platforms
currently have your C++ compiler and for how long?
Thank you,
— Jane H. (Writing, it's easier read than done.)
Jane, I have a message here which I just posted the other day to a BBS
addressing some of your questions. Our literature also addresses some of
the others. Let me excerpt/combine/edit them and I will return tonight (or
earlier) with the info you've asked for.
>A lot of people are waiting for a decent C++ implementation for the Amiga
>The Lattice version is old. They are working on a more modern version,
>but there is no definite date.
Well, wait not longer: Comeau Computing, a multi-platform C++ vendor,
has announced an AmigaDos version of Comeau C++. Comeau Computing was
the first vendor to commercially release a 2.0 compatible compiler and
is currently the only vendor selling a 2.1 spec compatible compiler as
well as the only vendor with an ANSI C++ base compatible compiler.
Comeau C++ is a compiling translator based on AT&T cfront. The initial
release backends to Lattice 5.10a (as we emit C code as our object code).
(I suppose this message will come as a shock to y'all here but it
is legit — 'j comeau' on BIX for further info, and certainly I'm
willing to field any questions you may have here. Since questions are
apt to be redundant you're probably best off placing them here or on
BIX instead of e-mailing me).
Greg, Is your compiler being delivered now? How much is it? What about a
developer's edition, with debugger, library source, etc.?
Thanks,
Kathy
Yes, the first release of Comeau C++ 2.1 for the Amiga has been released.
Price is $250. That includes the compiler binary, include files, and the
stream I/O libraary as well as free 2nd day air shipping and handling, free
technical support, and a 60-day money-back guarantee. This release is
officially supporting a Lattice C 5.10a back end.
The will be both free and pay-for upgrades to Comeau C++ as time
progresses. In general though, we both release and announce our products at
the same time and hence we will not make committments to future product(s).
We are more than willing to discuss them on a technical level. We are also
more than interested to find out what will be needed once the product gets
into enough hands.
Greg –
Do you have an educational discount program? Also, what is your ordering
procedure? Are you selling only through dealers or also selling direct to
the end user?
Jeff Schweiger
Greg, That sounds like good value for the money. Am I correct in thinking
that your reference to "… Lattice 5.10a front end" means your product
does not contain the C subset, and requires a 'C' package that does?
Kathy
Marc, I am an **aspiring** C++ programmer, but using Zortech C++ on the PC.
(I refuse to deal with Lattice after my experience with LC 1.0). Zortech
may be working on an Amiga version — they have a Mac version in beta.
Since this is the creme de la creme of micro C++'s, I'm looking forward to
it.
What kinds of OOP are you pursuing? I'm interested in OODBMS, as well as
CASE, CAE, and HyperWhatever.
Kathy
Katherine;
First, I am a bit surprised that you had trouble with Lattice. At least my
own experience was that the were reasonable about upgrades and the like.
In any event, this is irrelevent since SAS now does everything for the
Amiga C compiler and Lattice does not have one.
,bill
Bill, Sorry for taking so long to answer. My problem with Lattice was not
with their upgrade policy. After trying to use their first attempt, I was
so disgusted I didn't order the upgrade, and swore not to waste my money on
anything they did thereafter. The version I had wouldn't even do the old
"Hello, World" thing! I tested the same .c file on a VAX cc compiler, and
it ran right through without a blink. Also, their documentation was worse
than useless. I just don't deal with people who publish such trash.
Kathy
Katherine;
Well hopefully things will continue to improve now that SAS has the entire
package (documentation too). They (SAS) really have not done much with the
docs but their work on the compiler itself is amazing.
,bill
I've talked to John Toebes who is the head of the SAS/C project for the
Amiga (the ones who have been doing the Amiga compiler all along, it was
just marketed under Lattice's name) and he has a number of things planned,
such as a video series ala Zortech as well as the 6.0 version which is
waiting in the wings. He also said that they plan on opening a forum on
Compuserve sometime in the near future for software support. I highly
recommend their C product and am expecting just as good a C++ version.
Neil,
It is not true that John Toebes and SAS have been doing the Lattice
compiler all along. Much of the work was done at Lattice. SAS did start
doing much of the compiler internals after SAS bought Lattice, but most
everything else was still done at Lattice.
BTW, it is quite unfair to credit SAS with much of the compiler internals
since they were original developed by Francis Lynch, one of the founders of
Lattice.
— Mike Roth
Although Toebes got involved in the Lattice state of affairs, it was
Lattice's compiler. SAS bought out Lattice some 2 years ago and the
Lattice name remained until recently.
Greg,
To the best of my knowledge, SAS bought out Lattice in 86 or
perhaps early 87. That makes it much closer to 5 years, not 2 years ago.
In fact, looking at my old Lattice 4.0 manual (with an 87
copyright) it shows that Lattice was a subsidary of SAS at that point.
Don
87 could make it 2 years. I suspect it has been some time now that you
mention it. Could it really be 5 years already?
Greg,
My memory of when 4.0 came out was early 87, that's the earliest I
have any "official" information on when SAS bought out Lattice. However,
my memory is that it was in late 84 or early 85 when SAS bought Lattice. I
do know that they were using Lattice on for a product they were working on
for MS-DOS machines. And that they learned that Lattice was bought out by
SAS during that time period. It may have been later on in 85 when that
occured….because we were working on the same products for both the ST and
the Amiga in that same time frame. But I do know it was sometime during
that time frame (mid 80's) when SAS bought Lattice.
Don
The earliest SAS/Lattice reference is could find in a quick scan on BIX
(where I moderate the c.language and c.plus.plus and comeau conference)
BTW, was early January 87, so it musta been during 86 that it happened.
I'll fire off some e-mail to Toebes et al to find out for sure if I
remember. My own memory is muddled (1) because I'm getting too old too fast
😉 and (2) because SAS had bought Lattice C for the mainframe early oon.
Neil;
Your "preaching to the choir," I know John quite well.
,bill
Bill, I'm just waiting for Zortech to come out with an Amiga C++. They are
in beta with their Mac version, so it probably wouldn't be too big a deal
to port it to the Amiga — same chip family, and all. I have their IBM
version, and it's very professional.
Kathy
Katherine,
I was on the phone with a Zortech chap in London this morning. "We are not
doing an Amiga C++. We did the market research, and we'd have to charge
about ~10,000 per copy." Need I say more.
Matt Stibbe
(Intelligent Games Co.)
Pity. I might go for 9K, but 10 is a bit steep <g>. Their PC version is
a very good product, though.
Thanks for the note.
Kathy
KC Lattice put out a C++ and SAS is supposedly going to support/upgrade it.
You may want to give them a call.
wmc
I think you will find that very few vendors will be willing to support C++
on the Amiga. Like SAS vs Aztec in the C world, it will be Comeau vs SAS
in the C++ world and that's about it.
~10,000 per copy? Hmmm, I believe we're some ~9000+ cheaper than that
coming in at US$250 (2-5-0).
Greg,
Is your C++ for the AMiga available? (BTW, are you the Comeau of C++
reference book bibliography/acknowledgement fame?)
wmc
Yes, Comeau C++ for the Amiga is available.
>Are you the Comeau of C++ reference book bibligraphy/acknowledgement
>fame?
I have been consulted and credited by numerous book authors and
acknowledged as such in their text if that is what you mean. If not, please
say so. That's the least of my fame though!
Greg,
Yes, that is where I spotted your name – in some C++ book acknowledgements.
If that is the least of your fame, what is the most? (I did see reference
to a 2.0 compliant Comeau C++ compiler for the MS-DOS environemnt, I think
it was – is that a symptom or the fame itself?)
wmc
The Lattice compilers have evolved reasonably over the past few years. It
still posseses bugs, idiosyncrasies, and ANSI C inconsistencies, but then
so does every other C compiler I've ever used. Their docs still stink
think IMO.
Greg, Yes, in something like a language compiler, which is presumably
created for comupter professionals or pro-level amateurs, docs are too
often given the short shrift. It's too bad, since they can make all the
difference in whether a given product is used to its full potential.
Kathy