MathStat.jmrubin@Berkeley@sri-unix (08/04/82)
Date: 13 Jul 1982 17:52:41-PDT N.B. PLEASE RESPOND DIRECTLY--I can not readily see this news group. Supposedly, C is a readily portable language. A C program written for one compiler, operating system, and machine, can readily be transported elsewhere, especially if it takes advantage of the standard library functions and include files. Unfortunately, this is not true. "Standard" include files and library functions often differ in name and/or function from one compiler to another. Since C does not include such relatively common features as input and output, comparison of two strings, or square roots, all of which are implemented by "standard" include files and functions, this can actually make C less portable than some other languages. (1) There is a need for a C to C dictionary (2) There should be a list of truly standard functions which will always do the same thing and have the same name. It may be necessary to do I/O differently on CP/M than on Unix, but surely this can be hidden at some level. With the string functions, there is no excuse for different names, different orders of argument, et. al. I wonder how much of this, if any, is due to Bell copyrights, and a necessity for producers of Unix look-alikes to give everything a different name. Joel Rubin