lepreau@utah-cs.UUCP (Jay Lepreau) (08/01/84)
The following program fails to compile under the Sys V.1 compiler:
main()
{
int godamnid1;
int godamnid2;
}
This bug is, as usual, not present in the 4.2 BSD C compiler,
which I use in preference to the Sys V one.
gwyn@brl-tgr.UUCP (08/01/84)
And of course you turkeys are careful to write code that uses long identifiers so that porting it to non-BSD UNIXes is much more work than it had to be. Very professional.
clyde@ut-ngp.UUCP (Clyde W. Hoover) (08/02/84)
> And of course you turkeys are careful to write code that > uses long identifiers so that porting it to non-BSD UNIXes > is much more work than it had to be. Very professional. <<<<FLAME ON>>>> Doug, I for one am SICK AND GODDAMN TIRED of your kneejerk Berkeley phobia! You also seem to prefer personal insult (as I have learned firsthand) to discussion of issues. I can no longer put up with such junk, so I will no longer read your submissions, which is a shame because you do make some useful contributions (especially in net.lang.c). Net.unix-wizards should be for the discussion of UNIX problems and solutions NOT for axe-grinding and personal insults. You are a respected computer professional (thanks for the System V emulation package). I wish you could behave in a more 'professional' manner with people on this net, especially people whom you disagree with. <<<<FLAME off>>>> .... Flames to /dev/null (Forgive my flamage, fellow wizards) -- Clyde W. Hoover @ Univ. of Texas Computation Center; Austin, Texas (Shouter-To-Dead-Parrots) "The ennui is overpowering" - Marvin clyde@ut-ngp.{UUCP,ARPA} clyde@ut-sally.{UUCP,ARPA} ihnp4!ut-ngp!clyde
mcferrin@inuxc.UUCP (P McFerrin) (08/03/84)
main()
{
int godamnid1;
int godamnid2;
}
The above is not bug for system V C compiler. Only the 1st 8 characters
of internal names are significant. Thus the above example attempted to
declare the variable 'godamnid' twice.
jwp@sdchema.UUCP (John Pierce) (08/03/84)
In article <3726@brl-tgr.ARPA> gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) writes: >And of course you turkeys are careful to write code that >uses long identifiers so that porting it to non-BSD UNIXes >is much more work than it had to be. Very professional. Gee, I didn't realize any of you really extra super professional people working on those really super professional non-BSD systems considered any of us poor turkeys running BSD systems capable of writing anything you might *want*. My goodness!!! Do you really mean that someday some really extra super non-BSD superior professional type programmer might really ... God! This has me so excited I can hardly type!! ... might really actually maybe want to port something some slob BSD hacker wrote to their lovely pristinely professional non-BSD system!!?? I can hardly believe it! I mean, like, man, the thought just really boggles my (admittedly inferior nonprofessional) mind!!! Golly Whiz!!! I gonna have to start giving this some thought though that's probably gonna be hard for a poor nonprofessional like me. Let's see... I guess I can start with cutting identifiers back to 8 characters (since that seems to be what all the great professional people on the standards committee think is best)... And I guess I could put in line numbers so they could find things easier... WOW, MAN!! I just had a BRILLIANT idea (in my nonprofessional judgement, of course)... I could write everything in FORTRAN (pure ANSII standard, of course) since we all know that that's really easy to port... John Pierce, Chemistry, UC San Diego sdcsvax!sdchema!jwp
rcd@opus.UUCP (Dick Dunn) (08/04/84)
> > And of course you turkeys are careful to write code that > > uses long identifiers so that porting it to non-BSD UNIXes > > is much more work than it had to be. Very professional. > <<<<FLAME ON>>>> > Doug, I for one am SICK AND GODDAMN TIRED of your kneejerk Berkeley phobia! > > Net.unix-wizards should be for the discussion of UNIX problems and solutions > NOT for axe-grinding and personal insults... Go back and read the whole sequence. Then just back off. Doug was responding to some fool posting that claimed that the System V C compiler had a bug because it didn't discriminate between two overly-long identifiers. Since the poster of THAT article labeled his coding problem as a compiler bug, and compounded it by using "godamnid1" as the identifier which illustrated it, it had already gone from a technical matter to a flame when Doug shot back. I don't find the treatment of long identifiers to be particularly nice, but that's the way the language works right now and it gets tired to see people keep flaming about the same old problems. Moreover, I'm neither a Berkeleyphobe nor a Berkeleyphile, but it's getting pretty old to see such a cheap shot anytime someone like Doug tries to advocate software which is portable to the extent of not using every little feature and featurette that Berkeley tossed in. -- Dick Dunn {hao,ucbvax,allegra}!nbires!rcd (303)444-5710 x3086 ...Lately it occurs to me what a long, strange trip it's been.
ron@BRL-TGR.ARPA (08/04/84)
From: Ron Natalie <ron@BRL-TGR.ARPA> The problem is that even cutting back to only eight letters is not sufficient because no AT&T C compiler seems to be able to handle even eight properly. -Ron
mats@dual.UUCP (Mats Wichmann) (08/04/84)
The sharp wit and biting sarcasm of the referenced articles has me falling asleep. I am not going to hope that this old argument can be put to rest, but....could we please try? The use of long identifiers provided in the BSD compiler is typical of nonportable language exentsions that we have all suffered through with many other languages, and it would have been nice if this could have been avoided with C. However.....now AT&T is muddying the waters with flexnames in the Sys V compiler, while the ANSI standard proposal does not call for this `feature'. It is hard to flame someone for using the tools available to him locally, UNLESS that person is specifically working on a commercial product designed to be portable. For some reason we (and I don't claim innocence here myself) seem very ready to pronounce the author of a program an idiot for using some particular feature. Mats Wichmann Dual Systems Corp. ...{ucbvax,amd,ihnp4,cbosgd,decwrl,fortune}!dual!mats
gwyn@brl-tgr.UUCP (08/05/84)
Lack of Berkeleyphilia is not synonymous with Berkeleyphobia. It is interesting (psychologically, not technically) that every time I suggest that there has been considerable progress made in some aspects of UNIX inside AT&T (in this case, a better VAX C compiler), I get accused of raving Berkeleyphobia. Do you people who blindly believe that everything Berkeley does is perfect whereas everything AT&T does is stupid feel threatened when your (unjustified and unjustifiable) beliefs are called into question? Jay's silly example of a UNIX System V compiler "bug" (in not supporting identifiers longer than 8 characters, which is not even true any more) in response to my pointing out that one can get correct code generation on 4.2BSD by using the System V compiler (which is what I do), seemed to me to call for some sort of rebuttal. Since my team had not long ago tried to port some of U. Utah's C code to a non-BSD UNIX system (by the way, we helped fund the development of some of this code, so I feel I have a right to complain), I have had first-hand experience with the unnecessary porting difficulty that extreme reliance on long identifiers can cause. Clyde's "personal insult" from me consisted of my private response to his net flame that the Teletype 5620 and the layers software were "obsolete klunkers" (or words to that effect) in which I said that I did not think he knew what he was talking about (as 5620 users can attest). When he in turn responded that he was used to receiving personal abuse, I suggested that there might be a reason for that (using approximately the same number and tone of words that appear in my paraphrases here). I wanted to keep this correspondence private, but Clyde has referred to it publicly without explaining what transpired. One nice thing, though, is that since he is no longer reading my postings I don't have to worry about a flame back in response to this. Sorry to tie up net bandwidth with this, but I felt that silence could be misconstrued as acquiescence.
henry@utzoo.UUCP (Henry Spencer) (08/05/84)
Some of us agree with Doug. Using not-distinct-in-first-8 identifiers and then claiming that your software is "portable" is fraud. -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!henry
mcferrin@inuxc.UUCP (P McFerrin) (08/06/84)
> From ihnp4!zehntel!hplabs!sri-unix!ron@BRL-TGR.ARPA Sat Aug 4 07:08:15 1984 > Relay-Version: version B 2.10.1 6/24/83; site inuxc.UUCP > Path: inuxc!ihnp4!zehntel!hplabs!sri-unix!ron@BRL-TGR.ARPA > From: ron@BRL-TGR.ARPA > Newsgroups: net.unix-wizards > Subject: Re: Bug in Unix System V C compiler > Message-ID: <739@sri-arpa.UUCP> > Article-I.D.: sri-arpa.739 > Posted: Sat Aug 4 07:08:15 1984 > From: Ron Natalie <ron@BRL-TGR.ARPA> > > The problem is that even cutting back to only eight letters is not > sufficient because no AT&T C compiler seems to be able to handle even > eight properly. > > -Ron > > The limit of 8 characters for variable names are for 'internal' variables. The ones that are NOT global and defined within local proceedures. It is the external (globbal) variables that have additional characters added to form the external symbol. Therefore, external variables usually have a limit less than 8. I don't remember how much but I think that it varies among different releases of the compiler.
laura@utzoo.UUCP (Laura Creighton) (08/06/84)
But how many ``clearly not intended to be portable'' ``obviously of local interest only'' and ``but gee, I only wrote it as a 10 minute throw away program'' hacks get pressed into service? And who has time to rewrite them? (answer: the poor sucker who has to port them to another architecture and/or another flavour of UNIX.) Laura Creighton utzoo!laura
LeFebvre.wbst@XEROX.ARPA (08/06/84)
> And of course you turkeys are careful to write code that > uses long identifiers so that porting it to non-BSD UNIXes > is much more work than it had to be. Very professional. No gwyn, us "turkeys" believe in writing code that is readable and understandable (not to mention professional). This requires variable names that make more sense than "ad", "admod", "pts", "pslp", "ev", "evi", "it", "itmac", "lt1", "ndf", "nx", "pto", "smnt", "nrbits" (I could go on and on and on). I think a program that has descriptive variable names *is* very professional. William LeFebvre Department of Computer Science Rice University <phil@Rice.arpa> Using long variable names at Xerox for the summer
ron@BRL-TGR.ARPA (08/06/84)
From: Ron Natalie <ron@BRL-TGR.ARPA> The truth of the matter that with the system V compiler only 7 characters are significant. If you had done the test that the person reporting the bug had asked to, you would have seen the problem. The test had eight character identifiers, not nine as you used in your example. When you use two identifiers that differ only in the eighth character it generates a message saying the identifiers conflict. This is only slightly better than the earlier versions of the compiler that actually used the same symbol for both and caused the assembler's heart to break, issuing the message 'm 0012'. Not entirely obvious. This is all becuase the C compiler prepends it's variable names with _ making the eight character names nine characters and the assmebler only has eight characters of significance as well. One solution would be not to prefix the symbol with the underscore. This leads to other problems. The RSI compiler for the 370 did this. When you declare C variables to be things like R0 all hell breaks loose. -Ron
lcc.bob@UCLA-LOCUS.ARPA (08/06/84)
From: Bob English <lcc.bob@UCLA-LOCUS.ARPA> Date: Sat, 4 Aug 84 06:34:24 PDT From: oly.postman Date: Sat, 4 Aug 84 8:08:15 EDT From: Ron Natalie <ron@BRL-TGR.ARPA> To: hplabs!sdcrdcf!sdcsvax!sdchema!jwp@UCB-VAX.ARPA cc: Unix-Wizards@BRL-VGR.ARPA Subject: Re: Bug in Unix System V C compiler The problem is that even cutting back to only eight letters is not sufficient because no AT&T C compiler seems to be able to handle even eight properly. -Ron When you all get tired of questioning each other's ancestry, I suppose you'll stop clogging the mail with invective. --bob--
moss@BRL-VLD.ARPA (08/06/84)
From: "Gary S. Moss (DRXBR-VLD-V)" <moss@BRL-VLD.ARPA> Seriously folks, it is MOST ASSUREDLY professional to use long variable names that are unique in the first 8 characters, this allows descriptive names with minimal restriction. After all, just because the compiler ignores the rest of the name doesn't mean you have to. Let's face it, either you're aware of non-portable constructs or you aren't, either you choose to write portable code or you don't, but implying that portable code must have short variable names is misleading. That's why the original example didn't bomb out with a compiler error like "Identifier too long : godamnid1" or "Godamn what? [ Let's leave God out of this one ;-) ]". -- Moss.
bsa@ncoast.UUCP (The WITNESS) (08/07/84)
Come on, guys! I have complained about 4.2BSD in the past, but mainly because I have been working with Unix for only 8 months and the system manager here expects me to take every program we get with BSD stuff in it and get it running on here -- while Rich thinks I'm a wizard, apprentice sorceror comes a little closer to the mark. (What the heck is a SIGTSTP, anyway?) The past few weeks or so have seen the coming of wars between System V users and Berkeleyites. Personally, I like what I hear of 4.2 more (and am eagerly awaiting an upgrade to it (on a new system) here), but then I have yet to hear SysV people come out and tell us what their system really does, as opposed to LOTS of 4.2 articles all over the net. Will someone please tell me why it matters which is "better", anyway? And why we compare them at all, given that 4.2 is a programming environment and SysV is a runtime business environment? After all, there are not that many com- panies that really need the C language, make, and so on (not to mention f77, which we don't have, and lex and yacc, which we do). Why would Widget Mfg. Co. which has purchased a full business package (Micro Manufacturing Systems' MCS package, requiring RM-COBOL runtime but nothing else, for example), need to play with /usr/include/sys/callo.h? Or "symbolic links"? (I speak from experience here; I do some business programming... mainly because the mfg. package we use is not compatible with the customer order entry package; we don't have the room on our current system to run the compatible one.) If System V people want to do development work, they probably can, with AT&T "add-on" packages. Bugs? System V is still fairly new; let them get worked out by being reported; with enough pressure brought to bear, even AT&T will bend. And 4.2, from all accounts, has a few bugs of its own. If you guys have time to burn (by flaming each other), why don't you come up with a standardized way of easily making 4.2 and SysV source compatible? Maybe some kind of alternate -lc with simulations for those functions that can be simulated, such things as the Berkeley compatibility library to present the "old-style" Unix directory in the "new" Berkeley format, and such? Those without source licenses might not be able to use them, but there could be a way to get object code for "standard" systems, and source-licensed sites for the others could provide object versions on their own; maybe a hex-type protocol could be used to post them to the net for VAXen, etc. (Look out: Intel hex format rides again! :-) Not only will it give you something to do, it would benefit all of us (including both Berkeley and AT&T). <<<<flame off>>>> -- Brandon Allbery: decvax!cwruecmp{!atvax}!bsafw 6504 Chestnut Road, Independence, OH 44131 Witness, n. To watch and learn, joyously.
gwyn@BRL-VLD.ARPA (08/08/84)
From: Doug Gwyn (VLD/VMB) <gwyn@BRL-VLD.ARPA> The restriction to 7 significant characters in a C symbol applies only to static symbols, not auto or register variables. The latter have truncated symbols in the symbol table but the code generated is correct, since it does not have to refer to the symbol name. The extra character prepended to the symbol is ~ in this case, _ for externs. The current PDP-11 (Ritchie) C compiler, as Ron noted, warns whenever there is an important symbol clash, but it is quiet in those cases where correct code will result. A complete solution to the problem of using the 8 characters at the assembler level would require that all `reserved' assembler symbols be given a special form different from any possible compiler-generated symbols, e.g. they could start with a . This seems like too much work. Another approach would be to convert the PDP-11 to flexnames but for some unknown reason this has not been done.
grt@hocda.UUCP (G.TOMASEVICH) (08/09/84)
>The problem is that even cutting back to only eight letters is not >sufficient because no AT&T C compiler seems to be able to handle even >eight properly. The compiler prefixes the name with underscore in the translation to assembly code, so if the assembler takes only 8 characters, then only 7 of the original characters get through. George Tomasevich, AT&T-BL
root%nsf-cs.csnet@CSNET-RELAY.ARPA (08/09/84)
From: usually Rick Adrion <root%nsf-cs.csnet@CSNET-RELAY.ARPA> Sorry to land on you but I have to stop unix wizards by Friday. Please stop sending mail to bboard.nsf-cs@csnet-relay. Thanks
gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (08/10/84)
Brandon, someone HAS done something about bringing about source compatibility between 4.2BSD and UNIX System V. Happens he was one of the persons most deeply embroiled in the recent flaming. Directory access routines? Yes. Alternate C library? Yes. Hex protocol? No way. Send for more details: gwyn@brl-vld.arpa {esquire,decvax,research}!brl-bmd!gwyn (UUCP)
ron@BRL-TGR.ARPA (08/13/84)
From: Ron Natalie <ron@BRL-TGR.ARPA> It slices, it dices, it makes julienne fries, but you've got to hit that sucker just right. Sounds like "an automatic vegetable slicer that works on television but not when you get it home" (Apologies to Alan Sherman). Enter John Little, inventor of the vegamatic operating system. -Ron
bsa@ncoast.UUCP (The WITNESS) (08/15/84)
THEN WHY IN USENET ARE THEY FLAMING, FOR GOODNESS' SAKE???????????????????? --bsa -- Brandon Allbery: decvax!cwruecmp{!atvax}!bsa: R0176@CSUOHIO.BITNET ^ Note name change! 6504 Chestnut Road, Independence, OH 44131 <> (216) 524-1416 "The more they overthink the plumbin', the easier 'tis tae stop up the drain."
cdash@druxv.UUCP (Shub) (08/15/84)
> From: Ron Natalie <ron@BRL-TGR.ARPA> > > It slices, it dices, it makes julienne fries, but you've got to hit > that sucker just right. > > Sounds like "an automatic vegetable slicer that works on television but > not when you get it home" (Apologies to Alan Sherman). > > Enter John Little, inventor of the vegamatic operating system. > > -Ron sounds more like a SLEDGEomatic to me :-)>>> (bearded smile) ...!druxv!cdash {charlie shub AT&T-IS Denver (303) 538-3922}