Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!apple!agate!garnet.berkeley.edu!ked From: ked@garnet.berkeley.edu (Earl H. Kinmonth) Newsgroups: comp.sys.ibm.pc Subject: Re: Trouble compiling flip with TurboC 1.5 Message-ID: <26557@agate.BERKELEY.EDU> Date: 21 Jul 89 03:30:19 GMT References: <14517@dartvax.Dartmouth.EDU> <26514@agate.BERKELEY.EDU> <23591@iuvax.cs.indiana.edu> Sender: usenet@agate.BERKELEY.EDU Reply-To: ucbvax!ucdavis!ucdked!cck (Earl H. Kinmonth) Organization: University of California, Berkeley Lines: 71 In article <23591@iuvax.cs.indiana.edu> bobmon@iuvax.cs.indiana.edu (RAMontante) writes: >Turbo C v1.5 did/does not support signals as such. No, but it did have a signal() style function named, for no apparent reason, ssignal(). This is a classic case of, IF YOU'RE GOING TO DO IT, DO IT RIGHT, OR DON'T DO IT AT ALL. This is just close enough to UNIX practice (the documentation even claims "available on UNIX systems") to invite the expectation of compatability, when in fact, the function is about as useful as the proverbial "teats on a boar hog." >In (lukewarm) defense of v1.0/v1.5, much of the missing stuff (such as >signals) was stuff that makes little sense in a single-tasking >environment. TC's target market, and the reviewers' readers, were not >primarily UNIX gurus slumming on the toy machines, but people who lived >exclusively in the MSDOS world --- and perhaps starting to get >dissatisfied with BASICA. I don't buy this. Throughout the Turbo C manual, "UNIX" is the clear standard. Almost every function contains a note explaining the degree to which a given function conforms or does not conform to "UNIX" standards. The problem is that whoever wrote these must have been using a version of "UNIX" distributed by K-Mart. The notes are usually wrong, incomplete, or indicate conformity with a version of UNIX that has .001 percent of the market. It is understandable why magazine reviewers did not catch this. MSDOS reviewers are almost as parochial as MAC-types. Nevertheless, one of the selling points of C is PORTABILITY, indeed, a cynic (but not me) might even say that is the ONLY attraction of C. Therefore, some test of portability should be included in any review. Moreover, since Turbo C was entering a market where, to a large degree, Microsoft C was the standard, and since Microsoft C is/was more **IX compatible, Turbo C should have been judged against MSC on this point too. Finally, there is in my own mind, absolutely no excuse for reviewers of TC 1.0 to have NOT discovered the many bugs in floating point operations, in the larger memory models, etc. I had to try only one or two programs to find bugs, and I'm an historian, not a programmer!!!!! >Of course, I personally want TC to look as UNIX-like as possible, so I >can port stuff. But then, the MSDOS environment is the bottleneck there >anyway... Perhaps, but my experience has been somewhat different. I've ported Bibliofile, my freeform data base UNIX PDP-11/70 --> Xenix --> BSD --> Ultrix --> MSDOS. In porting to MSDOS, the only real hassle from MSDOS itself was file name expansion. All of the other hassles came from bugs in TC 1.0. With TC 2.0, I was able to dispense with several hundred lines of assembler and countless #ifdef statements. Lest all of this be misinterpreted, I would note that I also purchased Quick C (Microsoft) when it appeared. Talk about brain-dead design!!!!! As far as I'm concerned, anyone who purchased QC ought to get an IRS credit for making a contribution to an institution for the developmentally disabled. Maybe it's improved, but with all its bugs, TC 1.0 was good enough that I bought TC 2.0. When I received my discount coupon for the second generation of QC, my instinctive reaction was to place it in the circular file. Earl H. Kinmonth History Department University of California, Davis 916-752-1636 (voice, fax [2300-0800 PDT]) 916-752-0776 secretary (bitnet) ehkinmonth@ucdavis.edu (uucp) ucbvax!ucdavis!ucdked!cck (telnet or 916-752-7920) cc-dnet.ucdavis.edu [128.120.2.251] request ucdked, login as guest, no password