From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=0.0 required=3.0 tests=BAYES_20,MSGID_SHORT autolearn=no autolearn_force=no version=3.4.5-pre1 Date: 20 Apr 92 02:38:17 GMT From: fedfil!news@uunet.uu.net (news) Subject: Re: Open comment to Ted Holden Message-ID: <2733@fedfil.UUCP> List-Id: In article , dappel@grafted.UUCP (Dave Appel) writes : > news@fedfil.UUCP (news) writes: > I hate to burst your bubble Ted, but "everbody" doesn't > use C/C++. > Most business systems (counting systems or packages, not > installations) are written in COBOL. There is still more > lines of COBOL "in production" than any other language in > the business environment. > Most scientific stuff is still in Fortran. I did a survey > in comp.sys.super and by FAR the largest amount of production > code and by FAR the largest amount of development is in > Fortran when dealing with supercomputers. I talked to people > involved in NCSA and they say Fortran is by far and away the > language of choice on supers. I can't honestly recommend C++ or C for anything like a majority of coding which goes on in DOD. I would recommend it for anything which remotely resembles the sort of applications which C, Pascal, Ada, or anything LIKE that is used for. Borland's PAL might be a good evolving choice for a lot of other kinds of applications. Cobol is anti-structurable. The fact that it is used at all is a tribute to intertia and to nothing else. The fact that Fortran is used at all is likewise disgraceful. C++ with it's facilities for extension and function overloading can match all of the functionality not only of Fortran, but of APL as well, with none of the slowness whenever IO beyond the trivial is required, and with far greater connectivity to anything resembling modern computer science. > Also, there is no "Standard C". Ansi C and K&R C are *NOT* > "standards" that are adhered to. Talk to the people at > Aldus corporation, the people who wrote PageMaker. They > have PageMaker on the Mac and PageMaker on the PC. Only > about 80% of the code is identical between the two systems. Nonetheless, from everything I've ever read or heard, the best luck anybody has had making applications portable for the last 15 years has been simply writing them in C, DESPITE the fact that C was not even a standard in name much of that time. Fortran and Cobol are standards, and I can tell you horror stories all day and all night about portability in them. Take FORTRAN... The 77 spec was a subset of functionality which which everybody in the room agreed to before the cigar smoke killed them all. Each separate vendor kept his own items which didn't make the list which, by the way, was minimal; you got two guys who couldn't do something and it didn't make the standard, but everybody else kept on doing it anyhow. Namelist reads for instance. Aside from that sort of thing, practices common to earlier varients, such as storing text in integer arrays didn't make the spec either, and guess what happened when people started writing FORTRAN compilers for minis and micros? That's right! Those yuppies just bought a copy of the 77 standard and wrote a compiler for it; none of the stuff every bit of existing code on the planet used would work. > Graphic handling and system calls are still too different. They've GOT to be. Different systems handle graphics differently. The only other possibility is to write an operating system for/by/with Ada and figure to have that OS on every machine you ever use, but, if you recollect, as one of the problem-report authors from that Ada-Woe BBS noted, you can't write an OS in Ada. Let me tell you about portability in Ada. There are so many things you can't do in Ada, that any real-world application which is forced to use Ada to any extent ends up being a mixed-language application, and there's NOTHING less portable than that. That's guaranteed non-portable. I ended up writing all of the low-level file-handling routines for a typical large database application like that once, in C of course, and those routines had to be callable from Ada, Cobol, and Informix SQL with the same conventions. This was for one of the larger applications which runs on a CTASC-II (Unisys 5000, soon to be Sequent) mobile unit. > I went over this "C is not C all around the world" with a friend > of mine when we discussed writing a business program in C. > I wanted a C program that was portable to mini-computers and > workstations. He wanted to write it in Borland C with > Borland's user interface package. I can think of 3 > completely different versions of the package: > 1) character based version for minicomputer users running > dumb terminals > 2) X-windows based version for workstations > 3) PC-based version with Brand-X user interace package. For total compatibility amongst UNIX systems and on DOS and/or anything remotely close to normal, you needed to either use the curses library or some totally generic character-based interface like JAM. That's how it's done in the real world. > The Grafted Branch BBS > Dave Appel > 317-881-4369 > internet: dappel@grafted.UUCP > uucp: ..!uunet!grafted.UUCP!dappel > = = Grafted Branch BBS (317) 889-6997 2 Gig on-line = = Ted Holden -- HTE bear