bs@alice.UucP (Bjarne Stroustrup) (10/14/86)
> Path: ..!watnot!cgoudeseune (center of gravity @ U of Waterloo, Ontario) > I hear all these complaints that most C's only support 8-character > identifiers, and the C++ preprocessor *needs* thirty-two. These days I think most C compilers do support many characters (Unix SysV, BSD, and derivatives have VERY long names, Microsoft, DEC, and others support 31 characters). C++ prefers arbitrary long names, but you can live with 31 if you have to. > Say we use only 7-character letters-only identifiers. > 26^7 = 8 031 810 176. > Seeing as how any C++ preprocessor is unlikely to produce over 8 billion > different identifiers, is there a good reason why a little filter couldn't > be inserted between C++'s output and C's input to shrink the size of these > huge identifiers to a manageable size. There are two practical snags here: (1) separate compilation: you don't know what identifiers are used in other separately compiled programs so that it is hard, but not impossible to make up unique names. > Sure, it's slow; we've got a 8 MHz 68000. > Sure, it's a kludge; it works! (I hope) It does indeed. I once had a version that did it. However, you will not like it, because (2) having encrypted your identifiers you'll find it impossible to use a debugger. Don't accept short names if you have any choice at all.