From: R!ch Newsgroups: alt.folklore.computers,comp.unix.programmer Subject: Etymology of creat(2)? Date: Wed, 21 Jan 1998 13:43:59 +0000 Lines: 31 Message-ID: Reply-To: R!ch NNTP-Posting-Host: paddington.uk.sun.com Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Sender: richardt@paddington Path: ccw.ch!aetna.dolphins.ch!news.planetc.com!leto.ou.edu!hammer.uoregon.edu!logbridge.uoregon.edu!news-peer.gip.net!news.gsl.net!gip.net!newsfeed.internetmci.com!194.72.7.126!btnet-peer!btnet-feed2!btnet!carbon.eu.sun.com!uk-usenet.uk.sun.com!paddington!richardt Hi all, Does anyone have an *authoritive* etymology of the "creat" system call? I vaguely remember something about create() being used by a really early version of UNIX. When Dennis and Ken wanted to replace it's functionality, they had to call its successor creat(), so as not to overload create(). Is this correct - or is there some other deep and mysterious reason? Please CC me, as I don't get much time to read these groups! TIA, -- R!ch (Email is flakey at present: use richard.teer@keaton.uk.sun.com) If it ain't analogue, it ain't music. #include \\|// - ? (o o) /==================================oOOo=(_)=oOOo========\ | Richard Teer richard.teer@uk.sun.com | | | | | | WWW: www.rkdltd.demon.co.uk | | .oooO | | ( ) Oooo. | \===================================\ (==( )==========/ \_) ) / (_/ ###### From: tsw@cagent.com (Tom Watson) Newsgroups: alt.folklore.computers,comp.unix.programmer Subject: Re: Etymology of creat(2)? Date: Wed, 21 Jan 1998 10:29:37 -0800 Organization: CagEnt, Inc. Lines: 28 Message-ID: References: NNTP-Posting-Host: alfred.cagent.com Cache-Post-Path: alfred.cagent.com!unknown@cypher.cagent.com Path: ccw.ch!aetna.dolphins.ch!news.planetc.com!newsfeed.usit.net!solaris.cc.vt.edu!newsgate.duke.edu!nntprelay.mathworks.com!enews.sgi.com!newshub1.home.com!news.home.com!news.rdc1.sfba.home.net!cypher.cagent.com!user In article , R!ch wrote: > Hi all, > > Does anyone have an *authoritive* etymology of the "creat" system > call? I vaguely remember something about create() being used by a > really early version of UNIX. When Dennis and Ken wanted to replace > it's functionality, they had to call its successor creat(), so as not > to overload create(). Is this correct - or is there some other deep > and mysterious reason? > > Please CC me, as I don't get much time to read these groups! > My understanding is that names at one time were limited to 5 characters on the pdp11. With 32 bits to hold a name (2 pdp11 words) one could fit 5 upper case characters in a word (and have 2 bits left over). Thus the deletion of the last letter. In later writings, one of Thompson/Ritchie was asked if they would do anything different, and the answer was "Spell 'creat' with an 'e'" (or words to that effect. The five letter restriction may be totally bogus, but I do know for a fact that IBM 1130 linkages were done that way, and limited to 5 letters. It also sounds pretty good. -- tsw@cagent.com (Home: tsw@johana.com) Please forward spam to: annagram@hr.house.gov (my Congressman), I do. ###### From: johnl@Radix.Net (John A. Limpert) Newsgroups: alt.folklore.computers,comp.unix.programmer Subject: Re: Etymology of creat(2)? Date: Thu, 22 Jan 1998 08:01:21 GMT Organization: RadixNet Internet Services Lines: 18 Message-ID: <34c8da3c.3122187@news1.Radix.Net> References: NNTP-Posting-Host: port43.annex1.radix.net Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Newsreader: Forte Agent 1.5/32.451 Path: ccw.ch!aetna.dolphins.ch!news.planetc.com!leto.ou.edu!hammer.uoregon.edu!logbridge.uoregon.edu!news1.chicago.iagnet.net!streamer1.cleveland.iagnet.net!qual.net!iagnet.net!tor-nx1.netcom.ca!news1.radix.net!not-for-mail On Wed, 21 Jan 1998 13:43:59 +0000, R!ch wrote: >Does anyone have an *authoritive* etymology of the "creat" system >call? I vaguely remember something about create() being used by a >really early version of UNIX. When Dennis and Ken wanted to replace >it's functionality, they had to call its successor creat(), so as not >to overload create(). Is this correct - or is there some other deep >and mysterious reason? I suspect it was due to linkage editor symbol length restrictions. Some older UNIX systems restricted symbol lengths to 6/8 characters. "_creat" is 6 characters. I used to run V7 on a PDP-11 and was stuck with 7 usable characters on extern symbols. PDP-11 systems often used RAD50 encoding, packing 3 characters in a 16 bit word. -- John A. Limpert johnl@Radix.Net ###### From: R!ch Newsgroups: alt.folklore.computers,comp.unix.programmer Subject: Re: Etymology of creat(2)? Date: Thu, 22 Jan 1998 20:09:38 +0000 Message-ID: References: NNTP-Posting-Host: rkdltd.demon.co.uk X-NNTP-Posting-Host: rkdltd.demon.co.uk [194.222.45.218] X-Sender: rich@zen To: Tom Watson In-Reply-To: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Lines: 40 Path: ccw.ch!aetna.dolphins.ch!news.planetc.com!leto.ou.edu!hammer.uoregon.edu!xfer.kren.nm.kr!news.maxwell.syr.edu!dispose.news.demon.net!demon!news.demon.co.uk!demon!rkdltd.demon.co.uk!zen!rich On Wed, 21 Jan 1998, Tom Watson wrote: > My understanding is that names at one time were limited to 5 characters on > the pdp11. With 32 bits to hold a name (2 pdp11 words) one could fit 5 > upper case characters in a word (and have 2 bits left over). Thus the > deletion of the last letter. In later writings, one of Thompson/Ritchie > was asked if they would do anything different, and the answer was "Spell > 'creat' with an 'e'" (or words to that effect. I've heard this quote before, so there must be some veracity to it. > The five letter restriction may be totally bogus, but I do know for a fact > that IBM 1130 linkages were done that way, and limited to 5 letters. It > also sounds pretty good. I've just had a look in my copy of the Lions Book. This has a complete listing of the Version 6 kernel, and there are function names longer than 5 characters, for example, getuid(), access(), getpid(), etc. So I think we can discount this (good sounding!) theory. Which brings me right back to my original question: why is creat() not called create()? -- R!ch If it ain't analogue, it ain't music. #include \\|// - ? (o o) /==================================oOOo=(_)=oOOo========\ | Richard Teer richard.teer@rkdltd.demon.co.uk | | Risc Key Developments Ltd | | Voice: +44 (0)1256 330612 | | WWW: www.rkdltd.demon.co.uk | | .oooO | | ( ) Oooo. | \===================================\ (==( )==========/ \_) ) / (_/ ###### From: R!ch Newsgroups: alt.folklore.computers,comp.unix.programmer Subject: Re: Etymology of creat(2)? Date: Thu, 22 Jan 1998 20:15:31 +0000 Message-ID: References: <34c8da3c.3122187@news1.Radix.Net> NNTP-Posting-Host: rkdltd.demon.co.uk X-NNTP-Posting-Host: rkdltd.demon.co.uk [194.222.45.218] X-Sender: rich@zen To: "John A. Limpert" In-Reply-To: <34c8da3c.3122187@news1.Radix.Net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Lines: 28 Path: ccw.ch!aetna.dolphins.ch!news.planetc.com!leto.ou.edu!hammer.uoregon.edu!newsxfer3.itd.umich.edu!news-peer.sprintlink.net!news-backup-east.sprintlink.net!news-in-east.sprintlink.net!news.sprintlink.net!Sprint!152.158.16.55!newsfeed2.uk.ibm.net!ibm.net!news.freedom2surf.net!colt.net!dispose.news.demon.net!demon!news.demon.co.uk!demon!rkdltd.demon.co.uk!zen!rich On Thu, 22 Jan 1998, John A. Limpert wrote: > I suspect it was due to linkage editor symbol length restrictions. Some > older UNIX systems restricted symbol lengths to 6/8 characters. "_creat" > is 6 characters. I used to run V7 on a PDP-11 and was stuck with 7 > usable characters on extern symbols. PDP-11 systems often used RAD50 > encoding, packing 3 characters in a 16 bit word. Fair point, but how does this explain the existance of getuid(), getpid(), etc, whose names are longer than creat()'s? -- R!ch If it ain't analogue, it ain't music. #include \\|// - ? (o o) /==================================oOOo=(_)=oOOo========\ | Richard Teer richard.teer@rkdltd.demon.co.uk | | Risc Key Developments Ltd | | Voice: +44 (0)1256 330612 | | WWW: www.rkdltd.demon.co.uk | | .oooO | | ( ) Oooo. | \===================================\ (==( )==========/ \_) ) / (_/ ###### From: Barry Margolin Newsgroups: alt.folklore.computers,comp.unix.programmer Subject: Re: Etymology of creat(2)? References: <34c8da3c.3122187@news1.Radix.Net> Organization: GTE Internetworking, Cambridge, MA X-Newsreader: trn 4.0-test60 (5 October 1997) Originator: barmar@bbnplanet.com (Barry Margolin) Lines: 17 Message-ID: Date: Thu, 22 Jan 1998 22:01:05 GMT NNTP-Posting-Host: tools.bbnplanet.com NNTP-Posting-Date: Thu, 22 Jan 1998 17:01:05 EST Path: ccw.ch!aetna.dolphins.ch!news.planetc.com!newsfeed.usit.net!news.clark.net!europa.clark.net!4.1.16.34!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!cam-news-reader1.bbnplanet.com!not-for-mail In article , R!ch wrote: >Fair point, but how does this explain the existance of getuid(), getpid(), >etc, whose names are longer than creat()'s? They probably came later. The story goes that when Dennis Ritchie was asked what he would do differently if he had to do Unix over, he said "I would spell 'creat' with a second 'e'." -- Barry Margolin, barmar@bbnplanet.com GTE Internetworking, Powered by BBN, Cambridge, MA Support the anti-spam movement; see Please don't send technical questions directly to me, post them to newsgroups. ###### From: Robert Billing Newsgroups: alt.folklore.computers,comp.unix.programmer Subject: Re: Etymology of creat(2)? Date: Fri, 23 Jan 98 09:28:30 GMT Message-ID: <885547710snz@tnglwood.demon.co.uk> References: Reply-To: unclebob@tnglwood.demon.co.uk X-Mail2News-User: unclebob@tnglwood.demon.co.uk X-Mail2News-Path: post-20.mail.demon.net!post.mail.demon.net!tnglwood.demon.co.uk X-Trace: mail2news.demon.co.uk 885550431 15120 unclebob tnglwood.demon.co.uk X-Complaints-To: abuse@demon.net X-Newsreader: Demon Internet Simple News v1.29 Lines: 27 Path: ccw.ch!aetna.dolphins.ch!news.planetc.com!leto.ou.edu!hammer.uoregon.edu!newsxfer3.itd.umich.edu!news-out.internetmci.com!newsfeed.internetmci.com!194.72.7.126!btnet-peer!btnet!dispose.news.demon.net!demon!news.demon.co.uk!demon!mail2news.demon.co.uk!tnglwood.demon.co.uk!unclebob In article tsw@cagent.com "Tom Watson" writes: > The five letter restriction may be totally bogus, but I do know for a fact > that IBM 1130 linkages were done that way, and limited to 5 letters. It > also sounds pretty good. I'm a little doubtful about the PDP-11 ever having imposed a 5 character name limit. I started using them in '73 and identifiers were definitely 6 chars in RAD50 then, however what you say about the 1130 is true. The other machine that might have something to do with this is the DG Nova, which I also used in the period, which IIRC did impose a 5 char limit, although I did so little on the Nova I could be wrong. The reason I suspect it was the Nova is that I clearly remember explaining on the blackboard to someone how some code I had written for the Nova used RAD50 to get 6 chars into the space of 5. This implies that I had brought the idea of RAD50 from the PDP-11 *to* the Nova, and that it wasn't there before. -- I am Robert Billing, Christian, inventor, traveller, cook and animal lover, I live near 0:46W 51:22N. http://www.tnglwood.demon.co.uk/ "Bother," said Pooh, "Eeyore, ready two photon torpedoes and lock phasers on the Heffalump, Piglet, meet me in transporter room three"