Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!purdue!i.cc.purdue.edu!k.cc.purdue.edu!l.cc.purdue.edu!cik From: cik@l.cc.purdue.edu (Herman Rubin) Newsgroups: comp.lang.c Subject: Re: Third public review of X3J11 C Summary: FORTRAN is worse than C much of the time. Also, subroutine calls are expensive, and a different language cannot be used for each line. Message-ID: <897@l.cc.purdue.edu> Date: 27 Aug 88 12:04:51 GMT References: <8365@smoke.ARPA> <225800053@uxe.cso.uiuc.edu> <8374@smoke.ARPA> <4203@adobe.COM> Organization: Purdue University Statistics Department Lines: 64 In article <4203@adobe.COM>, burgett@steel.COM (Michael Burgett) writes: > These discussions about the flaws of the C language in dealing with complex > floating point ops, and the *failure* of X3J11 to solicit input and rectify > these things are getting _old_.... > > 1) C is not now, has not been in the past, and (hopefully) will not be in > the future, a lanugage designed for writing scientific applications > > 2) C was designed and implemented to remove the onus of using assembly language > to write operating systems, utilities, device drivers and the ilk. In this > regard, it has no equal. Whether C was designed for writing scientific applications is absolutely irrelevant. English was not designed for discussing computer issues. It was at least somewhat recognized that it might not be possible or desirable to eliminate the use of assembler in C. FORTRAN was designed specifically for the IBM704, and was not intended for subroutine libraries. Unfortunately, this language, whose inadequacies should have been obvious to anyone with any understanding of computer hardware and numerical mathematics, has become so common that many of its devotees cannot understand that they could profitably use other languages. Many people have posted that they can do a better job of programming numerical applications in C than in FORTRAN. How can _you_ flame them for that? > In light of 1 & 2... where's the beef? C is doing what it is designed to do, > and from what I've seen of the ANSI standard, will continue to do so. My hat > off to the committee for not bowing to public pressure to try to make C all > things to all people (can you say PL/1... I knew you could.) That a badly designed language was rejected is irrelevant. > If you want to write an application demanding scientific functions, write the > damn things in fortran and then write all the stuff that makes sense to, in C. > (How would you like it if you hired a carpenter and he showed up with one tool > to try and add a room on your house?) This seems to me the essence of why we > have different languages to begin with, and all the whining, sniveling and > crying *shouldn't* change that... just face it, to program effectively > you just might have to learn more than one language.... (shock! disbelief!!) Can you provide me with a good way to program where one _line_ is in C and another in FORTRAN? Of course not. Subroutine calls, cheap when FORTRAN and ALGOL were produced, range from expensive to very expensive. I do not exag- gerate when I say one line. I consider an instruction a tool, and a programming language a tool box. It is useful to have electric drills, power saws, etc. But a competent tool- user knows when to use a given tool. I expect a carpenter to know when not to use a high-level power saw and use a low-level hand saw instead. I expect a programmer to know when to use an assembler instruction instead of clumsily using C. Also, a programmer is more like a constructor than a carpenter. It is sometimes even necessary for the same person to combine the tasks of a carpenter, plumber, and electrician simultaneously. Thus, the tool box must contain all of the relevant tools. BTW, I find the instruction set of any computer far simpler than any HLL. Now the obfuscated assembler directives are another matter. -- Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907 Phone: (317)494-6054 hrubin@l.cc.purdue.edu (Internet, bitnet, UUCP)