Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!csd4.csd.uwm.edu!gem.mps.ohio-state.edu!ginosko!uunet!gistdev!joe From: joe@gistdev.UUCP (Joe Brownlee) Newsgroups: comp.sys.mac.programmer Subject: THINK C 4.0 Summary: Opinions on the new release re: ANSI compatibility Message-ID: <581@gistdev.UUCP> Date: 29 Aug 89 23:17:38 GMT Reply-To: joe@gistdev.UUCP (Joe Brownlee) Followup-To: comp.sys.mac.programmer Organization: Global Information Systems Technology Inc., Savoy, IL Lines: 48 I thought I'd throw in my $.02 about THINK C 4.0, which I got about a week ago. As has been stated many times here, it is not C++, but it is certainly a useful subset of C++. The class library is impressive on the surface; when I really get a chance to dig into it, I have a feeling I will be even more impressed. I was a little upset about another $69 upgrade charge, but I have to admit, the changes seem to be well worth it. And, oh -- my upgrade came in about a week to 10 days by standard carrier, so I have no complaints about that. One complaint I do have is about TC 4.0's ANSI compatibility, though. I am really just a hobbyist Mac programmer, since my main area I work in is UNIX. One of the things I have liked about LSC was the ability to bring UNIX work home, and be able compile to run it reasonably under LSC on the Mac. I think that some of the omissions of from ANSI in TC 4.0 will be a problem for me in trying to continue to do this. Now, I don't expect the world in a first release, and I understand that ASNI C is not chisled in stone yet. The thing that bothered me was the statement in the manual (in the differences from previous versions section) that the ANSI features that were omitted were either fundamental changes (i.e. too hard) or unusual features which aren't that useful. OK, I suppose I can live without trigraphs and such, but the implication from the statement in the manual is that we shouldn't be looking for a true ANSI compiler out of Symantec in the future. That would be a shame, because I like THINK C, and I want to continue to use it. I particularly was disappointed to see the omission of the keywords "const" and "signed". And I _really_ think it was a mistake not to reserve them -- that is, if you plan ANSI compliance in the future. Sure, someone said earlier you can #define them yourself, but that's not the point. This once again implies that they are not planned for future versions. I won't go into a list of what is or isn't ANSI compliant in TC 4.0, but suffice it to say that there are features there that are not just obscure things nobody uses. Full ANSI compatibility is _very_ important to me, and anyone else who works with C on a number of diverse platforms (though I guess I can't _really_ speak for "anyone else" :-). I hope that the disclaimer in the manual just conveyed the wrong impression to me. But -- just to repeat -- I am very impressed with TC 4.0, and though full C++ support would be nice, its subset of C++ is fine with me. I will use objects, though I will probably #define "class" for portability. That one would have been nice in the compiler, too, but I understand the reluctance to add any new keywords very well, since my work involves development of a training 4GL. Joe Brownlee | Captain, please -- not in front of the Klingons. GIST, Inc. | -- Mr. Spock, Star Trek V 1800 Woodfield Dr. | Pay attention to what I say, and you might start a trend. Savoy, IL 61874 | ARPANET: joe%gistdev@uxc.cso.uiuc.edu (217) 352-1165 | UUCP : {uunet,pur-ee,convex}!gistdev!joe