dgary@ecsvax.UUCP (D Gary Grady) (07/30/85)
The latest (Summer 1985) issue of SAS Communications announces that the SAS Institute has determined that all future releases of SAS will be written in C. Hitherto, SAS had been written in a mix of PL/I and FORTRAN and (more recently) in PL/I. But the absence of a serious PL/I compiler on the IBM PC led them to choose C as the development language for the soon-to-be-shipped PC version, and (quoting the article) "Development for the PC was so successful, that it was decided that all future versions of the SAS System, regardless of hardware, would be written in C. That decision meant that a C compiler for mainframes was needed." The article continues, "Under an agreement with Lattice, Inc., SAS Institute has developed an IBM mainframe version of the Lattice C compiler and library." The compiler is said to offer reentrant code, optimization, use of extended (31-bit) addressing modes (AMODE) under MVS/XA, and generation of identical code under OS and CMS. Also included are UNIX-style I/O, malloc, calloc, free, etc. and, of course, a math library. There is also a cross compiler that runs on the mainframe and produces 8086 object code for the PC. The native-code mainframe compiler is in beta test; the cross-compiler is available immediately. No pricing information is given, but if you're interested or want to become a test site, the article says to call (919) 467-8000, ext. 280. I have no direct experience with this compiler, nor have I any connection with the SAS Institute other than having programmed in SAS. But there have been enough queries about the availability of C on IBM mainframes that this sounds like a quite interesting development, and one that stands to promote the use of C. -- D Gary Grady Duke U Comp Center, Durham, NC 27706 (919) 684-3695 USENET: {seismo,decvax,ihnp4,akgua,etc.}!mcnc!ecsvax!dgary
stevens@hsi.UUCP (Richard Stevens) (08/02/85)
I talked to them on the phone and they will want $3,500 per year for the compiler (its licensed, not sold). It will also come with all of the non-standard Lattice C "features" that will break all your code (#define definitions and invocations cannot take more than one source line, lack of unsigned chars and unsigned longs, comments that nest by default, conversion of structure arguments to structure addresses, abysmal support for printf and scanf, and on and on). We've been using Lattice for over 2 years for our PC product and just dumped it for the new Microsoft compiler (which has worked flawlessly). We can finally get rid of all the "#ifdef LATTICE" statements !! We don't have to deal with Lifeboat anymore either !! We're just about to order an IBM mainframe compiler and we're going with Whitesmiths, now that they finally provide a Version 7 run-time library as an option. I have a lot more faith in the Whitesmiths compiler faithfully following K&R than what I've seen from Lattice. Also, Whitesmiths runs under CMS, OS and DOS, while SAS has no plans at all for DOS. Whitesmiths is also considering CICS which SAS won't talk about. The people at SAS also said when I called that their ads had been placed "prematurely" as the product is not available yet (but you can get a beta test version for free, if you like finding other people's bugs). One support issue that I should mention is that I think the Whitesmiths compiler was done out-of-house and I don't think they have an IBM mainframe in-house, while I'd bet SAS has an actual system in-house. Richard Stevens Health Systems International, New Haven, CT ihnp4 ! hsi ! stevens
peter@kitty.UUCP (Peter DaSilva) (08/06/85)
How compatible with K&R is Microsoft C? How much of section 3 does the library emulate? Last time I looked at compilers Lattice was the only one that made a decent effort at implementing section 3. That was 6 months ago and that was the one I bought. Also, I don't have any #ifdef LATTICE statements. I do have a couple of #ifdef IBMPC, but that's because the IBM-PC doesn't implement ioctl and stat. :-> How many macros do you use that extend over 1 line anyway? Anyway, if uSoft 'C' is particularly UNIX-library-compatible I'd like to know about it. I'm always looking for anything to help my massive porting habit.
brownc@utah-cs.UUCP (Eric C. Brown) (08/07/85)
In article <252@kitty.UUCP> peter@kitty.UUCP (Peter DaSilva) writes: >How compatible with K&R is Microsoft C? How much of section 3 does the >library emulate? Last time I looked at compilers Lattice was the only >one that made a decent effort at implementing section 3. That was 6 months >ago and that was the one I bought. You call 30 incompatible string functions, no math library, and a broken setjmp.h implementing section 3???? At the time, Wizard was selling a compiler that emulated a full System III library with MS-DOS extensions that was at least as bug free as Lattice 2.1[34] (not sure which version was current). >Also, I don't have any #ifdef LATTICE statements. I do have a couple >of #ifdef IBMPC, but that's because the IBM-PC doesn't implement ioctl >and stat. :-> How many macros do you use that extend over 1 line anyway? Well, you must never use realloc, since realloc is not implemented in Lattice 2.15 and below. Furthermore, since Lattice doesn't support struct assignment, I end up with lots of multiline macros to fake the struct assignment. Also, Lattice apparently never heard of unsigned long, since Lattice barfs on it. >Anyway, if uSoft 'C' is particularly UNIX-library-compatible I'd like to >know about it. I'm always looking for anything to help my massive porting >habit. As far as I can tell, Microsoft C is a port of their Xenix C compiler to MS-DOS. At least the library looks like a bunch of Xenix functions. Happy with Wizard C, Eric C. Brown brownc@utah-cs ...!{ihnp4, seismo, decvax}!utah-cs!brownc
peter@kitty.UUCP (Peter DaSilva) (08/07/85)
> >Me > Eric Brown Me :-> [I made a request for information. Eric responded with what looks like a flame] > >one that made a decent effort at implementing section 3. That was 6 months > >ago and that was the one I bought. > > You call 30 incompatible string functions, no math library, and a broken > setjmp.h implementing section 3???? At the time, Wizard was selling a > compiler that emulated a full System III library with MS-DOS extensions that > was at least as bug free as Lattice 2.1[34] (not sure which version was > current). I'm using Lattice 2.15. It supports the math library and the UNIX string functions. Setjmp works fine. I don't know what older versions are like, just what's available now. > >Also, I don't have any #ifdef LATTICE statements. I do have a couple > >of #ifdef IBMPC, but that's because the IBM-PC doesn't implement ioctl > >and stat. :-> How many macros do you use that extend over 1 line anyway? > > Well, you must never use realloc, since realloc is not implemented in Lattice No, I don't. Do I have to? > 2.15 and below. Furthermore, since Lattice doesn't support struct assignment, Neither does V7 UNIX 'C', which is the base defacto language definition. Since I'm currently using a slightly berkeleyised V7 I'm quite satisfied. > I end up with lots of multiline macros to fake the struct assignment. Why not just use pointers? I've never felt the need to assign structures, at least not if I can't add & multiply them as well (the only thing I like about ADA is that you can do this, with a little care). > Also, > Lattice apparently never heard of unsigned long, since Lattice barfs on it. So does K&R. > >Anyway, if uSoft 'C' is particularly UNIX-library-compatible I'd like to > >know about it. I'm always looking for anything to help my massive porting > >habit. > > As far as I can tell, Microsoft C is a port of their Xenix C compiler to > MS-DOS. Last time I looked Microsoft 'C' was a slightly modified version of Lattice 'C', which is why I asked the question. If it's Xenix 'C' that's more like it. > At least the library looks like a bunch of Xenix functions. > > > Happy with Wizard C, > > Eric C. Brown Beating out the fires, Peter da Silva