Path: utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!uunet!cbmvax!daveh From: daveh@cbmvax.commodore.com (Dave Haynie) Newsgroups: comp.sys.amiga.programmer Subject: Re: Lattice C++ Keywords: C++ Message-ID: <18020@cbmvax.commodore.com> Date: 24 Jan 91 20:08:00 GMT References: <2875@dsacg3.dsac.dla.mil> <1991Jan18.120415.22068@zorch.SF-Bay.ORG> Reply-To: daveh@cbmvax.commodore.com (Dave Haynie) Organization: Commodore, West Chester, PA Lines: 61 In article <1991Jan18.120415.22068@zorch.SF-Bay.ORG> xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) writes: >nfs1675@dsacg3.dsac.dla.mil ( Michael S Figg) writes: >I'd wait. It is a port of the C++ 1.0 release, which is a long, long >way from current C++ 2.1, and you really wouldn't be learning enough >useful to do you good later. Well, actually, it's C++ 1.1a, as I recall. It is sufficient to get you started on C++, but it does have a number of missing pieces when compared to modern C++. >And, it really isn't a good stand alone package; though C++ 1.0 is >supposed to be a completely upward compatible revision of C, and this >package nominally comes with the 4.0 C compiler, they left out so much >of the C stuff that you can't compile even crufty old rev. 3.6 C code >with it, much less start with that and build in C++ functionality. According to Lattice, they didn't intend the C++ distribution to be C++ with the revision 4.0 compiler, they intended it simply to be C++. The fact that they used the 4.0 compiler as a back end, and based their C++ 1.0 release on AT&T's "cfront", was just an implementation detail. They could very easily, at any time, offer an upgrade which didn't use the C compiler as a back end. So, no documentation on the 4.0 compiler, and none of the 4.0 extras that would not be useful under C++. They did, however, include the full C library with the C++ program. When it first shipped, they hadn't considered the library a supported part of C++. Based mainly on user feedback, I suppose, they did change their mind on this, rather early in the life of the product, too, and shipped out a manual to all registered C++ owners detailing the C function library stuff. >On the other hand, Dave Haynie long ago reported doing some good work >with it, so gather other opinions. I did, though I haven't used it recently. They have only themselves to blame. I found the C++ distribution, initially, to have two annoying problems. The first was speed -- going through cpp, cfront, LC1, LC2, and BLINK to produce code takes longer than you might like. I suspect the real problem is the first three phases -- each of these requires a lexical analysis of ASCII input, which is often one of the most time consuming phases of any compiler. Faster Amigas and disks solved this problem for me, basically. The next problem was the compiler's tendency to crash on syntax errors. Large stack (a meg or so) helped, but didn't eliminate, this problem. I suppose the typically sloppy coding (from AT&T, not Tim's fault) of the originally UNIX based C code in cpp and cfront is more than likely the problem here, but it put a damper on things. What finally got me to stop using it much, though, was neither of these. When Lattice released CodeProbe, I got spoiled. It didn't read C++, and I found I could get much more done with C and source level debugging than with C++ and my older, more primitive debugging techniques. I still write better code in C++, and would pay to switch back if I can have C++ source level debugging along with it. >Kent, the man from xanth. -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy "What works for me might work for you" -Jimmy Buffett