473,466 Members | 1,465 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Etymology of "struct"

People seem to have different views as to where the C reserved word
"struct" comes from. One explanation is that it is a shortening of
"structure", and another is that it is an acronym for "single type
representing useful compound types".

Does anyone here know the history of the word?

Mar 31 '07 #1
20 1813
Fr************@googlemail.com wrote:
People seem to have different views as to where the C reserved word
"struct" comes from. One explanation is that it is a shortening of
"structure", and another is that it is an acronym for "single type
representing useful compound types".
Does anyone here know the history of the word?
It should be obvious, if only by application of the princple of Occam's
razor.

http://en.wikipedia.org/wiki/Occam's_Razor

http://en.wikipedia.org/wiki/Backronym

As somebody recently stated on comp.unix.programmer (IIRC) about the origins
of the "/usr" directory in Unix, the contemporary predilection for acronyms
is a relatively recent phenomenon. Or rather, more recent than the age from
whence C and Unix originated. Maybe somebody might dispute this, but I think
the evidence for similar name derivations makes a strong case.

Mar 31 '07 #2
As somebody recently stated on comp.unix.programmer (IIRC) about the
origins
of the "/usr" directory in Unix, the contemporary predilection for
acronyms
is a relatively recent phenomenon. Or rather, more recent than the age
from
whence C and Unix originated. Maybe somebody might dispute this, but I
think
the evidence for similar name derivations makes a strong case.
What were proposed etymologies for it?
Mar 31 '07 #3
"Army1987" <pl********@for.itschrieb im Newsbeitrag
news:eu**********@tdi.cu.mi.it...
>As somebody recently stated on comp.unix.programmer (IIRC) about the
origins
of the "/usr" directory in Unix, the contemporary predilection for
acronyms
is a relatively recent phenomenon. Or rather, more recent than the age
from
whence C and Unix originated. Maybe somebody might dispute this, but I
think
the evidence for similar name derivations makes a strong case.

What were proposed etymologies for it?
/usr -Unix System Resource (rather than USeR)

Bye, Jojo
Mar 31 '07 #4
<Fr************@googlemail.comwrote in message
news:11*********************@r56g2000hsd.googlegro ups.com...
People seem to have different views as to where the C reserved word
"struct" comes from. One explanation is that it is a shortening of
"structure", and another is that it is an acronym for "single type
representing useful compound types".
That "single type..." sounds like a backronym.

And when you consider other UNIX/c shortenings like "usr" and, especially,
"creat", I'd go for it just being a shortening.

Of course, there's always "yacc" and "awk" (among others) to give some
support to the idea.

- Bill

Mar 31 '07 #5
Joachim Schmitz wrote:
>What were proposed etymologies for it?
/usr -Unix System Resource (rather than USeR)
Can somebody ask for this to Dennis Ritchie?(I always thought this stand for
USeR)
--
Linux engine 2.6.17-11-generic i686 GNU/Linux
Mar 31 '07 #6
Manuel T said:
Joachim Schmitz wrote:
>>What were proposed etymologies for it?
/usr -Unix System Resource (rather than USeR)

Can somebody ask for this to Dennis Ritchie?(I always thought this
stand for USeR)
Why not ask in alt.folklore.computers ?
--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.
Mar 31 '07 #7
"Richard Heathfield" <rj*@see.sig.invalidwrote in message
news:EY******************************@bt.com...
Manuel T said:
>Joachim Schmitz wrote:
>>>What were proposed etymologies for it?
/usr -Unix System Resource (rather than USeR)

Can somebody ask for this to Dennis Ritchie?(I always thought this
stand for USeR)
That was my recollection. The first Unix system at Bell Labs put
the home directories for all users in /usr. When that later
spilled to a second disk, those of us sent there were put in
/crp. ("Creep" was a common synonym for "user".)

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
Mar 31 '07 #8
"Bill Leary" <Bi********@msn.comwrote in message
news:CP******************************@giganews.com ...
<Fr************@googlemail.comwrote in message
news:11*********************@r56g2000hsd.googlegro ups.com...
>People seem to have different views as to where the C reserved word
"struct" comes from. One explanation is that it is a shortening of
"structure", and another is that it is an acronym for "single type
representing useful compound types".

That "single type..." sounds like a backronym.

And when you consider other UNIX/c shortenings like "usr" and, especially,
"creat", I'd go for it just being a shortening.

Of course, there's always "yacc" and "awk" (among others) to give some
support to the idea.
"struct" is short for "structure", just as "union" is short for
"union".

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
Mar 31 '07 #9
"P.J. Plauger" <pj*@dinkumware.comwrote in message
news:-M******************************@giganews.com...
"Bill Leary" <Bi********@msn.comwrote in message
news:CP******************************@giganews.com ...
><Fr************@googlemail.comwrote in message
news:11*********************@r56g2000hsd.googlegr oups.com...
>>People seem to have different views as to where the C reserved word
"struct" comes from. One explanation is that it is a shortening of
"structure", and another is that it is an acronym for "single type
representing useful compound types".

That "single type..." sounds like a backronym.

And when you consider other UNIX/c shortenings like "usr" and,
especially, "creat", I'd go for it just being a shortening.

Of course, there's always "yacc" and "awk" (among others) to give some
support to the idea.

"struct" is short for "structure", just as "union" is short for
"union".
I agree. If I gave an impression otherwise, sorry about that.

- Bill

Mar 31 '07 #10
On Mar 31, 10:39 pm, "Bill Leary" <Bill_Le...@msn.comwrote:
"P.J. Plauger" <p...@dinkumware.comwrote in message

news:-M******************************@giganews.com...
"Bill Leary" <Bill_Le...@msn.comwrote in message
news:CP******************************@giganews.com ...
<Francine.Ne...@googlemail.comwrote in message
news:11*********************@r56g2000hsd.googlegr oups.com...
People seem to have different views as to where the C reserved word
"struct" comes from. One explanation is that it is a shortening of
"structure", and another is that it is an acronym for "single type
representing useful compound types".
That "single type..." sounds like a backronym.
And when you consider other UNIX/c shortenings like "usr" and,
especially, "creat", I'd go for it just being a shortening.
Of course, there's always "yacc" and "awk" (among others) to give some
support to the idea.
"struct" is short for "structure", just as "union" is short for
"union".

I agree. If I gave an impression otherwise, sorry about that.
Well, OK, I mean that seems the most likely to me too. But I was
really wondering if there's any records to support that, e.g. if an
early C manual said something like "a struct (or structure) is...", or
if people who were around in the early days remember how the name came
about.

Mar 31 '07 #11
Fr************@googlemail.com writes:
On Mar 31, 10:39 pm, "Bill Leary" <Bill_Le...@msn.comwrote:
>"P.J. Plauger" <p...@dinkumware.comwrote in message
[...]
"struct" is short for "structure", just as "union" is short for
"union".

I agree. If I gave an impression otherwise, sorry about that.

Well, OK, I mean that seems the most likely to me too. But I was
really wondering if there's any records to support that, e.g. if an
early C manual said something like "a struct (or structure) is...", or
if people who were around in the early days remember how the name came
about.
<http://www.cs.bell-labs.com/who/dmr/primevalC.html>, written by
Dennis Ritchie:

"prestruct-c" is a copy of the compiler just before I started
changing it to use structures itself.

...

The earlier compiler does not know about structures at all: the
string "struct" does not appear anywhere. The second tape has a
compiler that does implement structures in a way that begins to
approach their current meaning. Their declaration syntax seems to
use () instead of {}, but . and -for specifying members of a
structure itself and members of a pointed-to structure are both
there.

On the other hand, a Google search for the phrase "single type
representing useful compound types" gets exactly zero hits, and a
Google Groups search finds only this thread.

I remember one of the regulars here (I don't remember who it was)
coining a "backronym" for the "struct" keyword. His intent, I think,
was not to seriously suggest that the word "struct" is an acronym, but
to emphasize that a struct, not a typedef, is the way to create a new
type. I suspect the author would be surprised to see his invented
derivation being taken seriously.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
Mar 31 '07 #12
In article <ln************@nuthaus.mib.org>,
Keith Thompson <ks***@mib.orgwrote:
>I remember one of the regulars here (I don't remember who it was)
coining a "backronym" for the "struct" keyword. His intent, I think,
was not to seriously suggest that the word "struct" is an acronym, but
to emphasize that a struct, not a typedef, is the way to create a new
type. I suspect the author would be surprised to see his invented
derivation being taken seriously.
Chris Torek, if I'm not mistaken. And it was "STRange spelling for
User-defined abstraCT type", which I suspect was in part designed to be
hard to take seriously.
dave

--
Dave Vandervies dj******@csclub.uwaterloo.ca
Next year I'll have one who is 19, one who is 9, and one who is 3.
It's like having three "only children".
--David P. Murphy in the scary devil monastery
Mar 31 '07 #13
dj******@caffeine.csclub.uwaterloo.ca (Dave Vandervies) writes:
In article <ln************@nuthaus.mib.org>,
Keith Thompson <ks***@mib.orgwrote:
>>I remember one of the regulars here (I don't remember who it was)
coining a "backronym" for the "struct" keyword. His intent, I think,
was not to seriously suggest that the word "struct" is an acronym, but
to emphasize that a struct, not a typedef, is the way to create a new
type. I suspect the author would be surprised to see his invented
derivation being taken seriously.

Chris Torek, if I'm not mistaken. And it was "STRange spelling for
User-defined abstraCT type", which I suspect was in part designed to be
hard to take seriously.
Yeah, that's what I was thinking of.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
Apr 1 '07 #14
On Mar 31, 3:02 pm, Francine.Ne...@googlemail.com wrote:
>
"P.J. Plauger" <p...@dinkumware.comwrote
"struct" is short for "structure", just as "union" is short for
"union".

Well, OK, I mean that seems the most likely to me too. But I was
really wondering if there's any records to support that, e.g. if an
early C manual said something like "a struct (or structure) is...", or
if people who were around in the early days remember how the name came
about.
We don't often hear from Dennis Ritchie here these days, but since P.
J. Plauger worked close to him through the original development of C,
wrote the first commercial C compiler, and was secretary of the
original ANSII C Standardization committee, you should be able to
treat his opinion as fairly definitive. That and common sense - struct
is obviously an abbreviation of structure. Strained contorted acronym
explanations for words which have obvious derivations are almost
always spurious (or, at the very least, deliberately invented to fit
the abbreviation).

Apr 1 '07 #15
"P.J. Plauger" <pj*@dinkumware.comschrieb im Newsbeitrag
news:-M******************************@giganews.com...
"Richard Heathfield" <rj*@see.sig.invalidwrote in message
news:EY******************************@bt.com...
>Manuel T said:
>>Joachim Schmitz wrote:

What were proposed etymologies for it?
/usr -Unix System Resource (rather than USeR)

Can somebody ask for this to Dennis Ritchie?(I always thought this
stand for USeR)

That was my recollection. The first Unix system at Bell Labs put
the home directories for all users in /usr. When that later
spilled to a second disk, those of us sent there were put in
/crp. ("Creep" was a common synonym for "user".)
I think /usr used to stand for USeR, but with more modern version of UNIX
tzhe users got moved elsewhere, usually /home, so /usr got "backronymed" to
Unix System Resource

Bye, Jojo
Apr 1 '07 #16
"Joachim Schmitz" <no*********@schmitz-digital.dewrites:
"P.J. Plauger" <pj*@dinkumware.comschrieb im Newsbeitrag
news:-M******************************@giganews.com...
>"Richard Heathfield" <rj*@see.sig.invalidwrote in message
news:EY******************************@bt.com...
>>Manuel T said:

Joachim Schmitz wrote:

>What were proposed etymologies for it?
/usr -Unix System Resource (rather than USeR)

Can somebody ask for this to Dennis Ritchie?(I always thought this
stand for USeR)

That was my recollection. The first Unix system at Bell Labs put
the home directories for all users in /usr. When that later
spilled to a second disk, those of us sent there were put in
/crp. ("Creep" was a common synonym for "user".)
I think /usr used to stand for USeR, but with more modern version of UNIX
tzhe users got moved elsewhere, usually /home, so /usr got "backronymed" to
Unix System Resource
On Linux /usr is *User* <systemResources.

Things optional to the core system installed as options by users of
the system gets installed there.

http://www.openaddict.com/documents/...archy/usr.html
Apr 1 '07 #17
>That and common sense - struct
>is obviously an abbreviation of structure. Strained contorted acronym
explanations for words which have obvious derivations are almost
always spurious (or, at the very least, deliberately invented to fit
the abbreviation).
Is there any truth to the rumor that the 'a' in acronym stands for
"asinine" :-?
Apr 1 '07 #18
On Mar 31, 11:53 pm, Keith Thompson <k...@mib.orgwrote:
Francine.Ne...@googlemail.com writes:
On Mar 31, 10:39 pm, "Bill Leary" <Bill_Le...@msn.comwrote:
"P.J. Plauger" <p...@dinkumware.comwrote in message
[...]
"struct" is short for "structure", just as "union" is short for
"union".
I agree. If I gave an impression otherwise, sorry about that.
Well, OK, I mean that seems the most likely to me too. But I was
really wondering if there's any records to support that, e.g. if an
early C manual said something like "a struct (or structure) is...", or
if people who were around in the early days remember how the name came
about.

<http://www.cs.bell-labs.com/who/dmr/primevalC.html>, written by
Dennis Ritchie:

"prestruct-c" is a copy of the compiler just before I started
changing it to use structures itself.

...

The earlier compiler does not know about structures at all: the
string "struct" does not appear anywhere. The second tape has a
compiler that does implement structures in a way that begins to
approach their current meaning. Their declaration syntax seems to
use () instead of {}, but . and -for specifying members of a
structure itself and members of a pointed-to structure are both
there.
Thanks, that's a really interesting site. It's good that Dr. Ritchie
has written up some of the history for posterity - he must be really
quite old by now :)
On the other hand, a Google search for the phrase "single type
representing useful compound types" gets exactly zero hits, and a
Google Groups search finds only this thread.
So it does! I guess I must have misremembered one of the words... I
was actually at a presentation of programming jobs, and some guy swore
blind it was an acronym - real smooth talker :)
I remember one of the regulars here (I don't remember who it was)
coining a "backronym" for the "struct" keyword. His intent, I think,
was not to seriously suggest that the word "struct" is an acronym, but
to emphasize that a struct, not a typedef, is the way to create a new
type. I suspect the author would be surprised to see his invented
derivation being taken seriously.

--
Keith Thompson (The_Other_Keith) k...@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"

Apr 1 '07 #19
"Richard" <rg****@gmail.comschrieb im Newsbeitrag
news:87************@gmail.com...
"Joachim Schmitz" <no*********@schmitz-digital.dewrites:
>"P.J. Plauger" <pj*@dinkumware.comschrieb im Newsbeitrag
news:-M******************************@giganews.com...
>>"Richard Heathfield" <rj*@see.sig.invalidwrote in message
news:EY******************************@bt.com.. .

Manuel T said:

Joachim Schmitz wrote:
>
>>What were proposed etymologies for it?
>/usr -Unix System Resource (rather than USeR)
>
Can somebody ask for this to Dennis Ritchie?(I always thought this
stand for USeR)

That was my recollection. The first Unix system at Bell Labs put
the home directories for all users in /usr. When that later
spilled to a second disk, those of us sent there were put in
/crp. ("Creep" was a common synonym for "user".)
I think /usr used to stand for USeR, but with more modern version of UNIX
the users got moved elsewhere, usually /home, so /usr got "backronymed"
to
Unix System Resource

On Linux /usr is *User* <systemResources.

Things optional to the core system installed as options by users of
the system gets installed there.

http://www.openaddict.com/documents/...archy/usr.html
Ah, well, close enough, esp. as Linux == Linux Is Not UniX ;-)

Bye, Jojo
Apr 2 '07 #20
>In article <ln************@nuthaus.mib.org>,
>Keith Thompson <ks***@mib.orgwrote:
>>I remember one of the regulars here (I don't remember who it was)
coining a "backronym" for the "struct" keyword. ...
In article <eu**********@rumours.uwaterloo.ca>,
Dave Vandervies <dj******@caffeine.csclub.uwaterloo.cawrote:
>Chris Torek, if I'm not mistaken. And it was "STRange spelling for
User-defined abstraCT type", which I suspect was in part designed to be
hard to take seriously.
Yes, although the T goes with "type". See also
<http://web.torek.net/torek/c/types2.html#1>.
--
In-Real-Life: Chris Torek, Wind River Systems
Salt Lake City, UT, USA (40°39.22'N, 111°50.29'W) +1 801 277 2603
email: forget about it http://web.torek.net/torek/index.html
Reading email is like searching for food in the garbage, thanks to spammers.
Apr 3 '07 #21

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: XiongBin | last post by:
anybody who tell me: what is the difference between "struct" and "class"? :-)
3
by: Pablo Gutierrez | last post by:
I have a C# method that reads Binary data (BLOB type) from a database and returns the data an array of bytes (i.e byte outbyte = new byte;). The BLOB column is saved into the database by a C...
10
by: Pantokrator | last post by:
Hi, Is there any way to "overload" a struct? e.g. having already struct stA1 { int i_ID; int i_Type; };
8
by: Mohammad Omer Nasir | last post by:
Hi, i made a structure in header file "commonstructs.h" is: typedef struct A { int i; A( ) {
8
by: cman | last post by:
What does this kind of typedef accomplish? typedef struct { unsigned long pte_low; } pte_t; typedef struct { unsigned long pgd; } pgd_t; typedef struct { unsigned long pgprot; } pgprot_t I am...
15
by: arnuld | last post by:
-------- PROGRAMME ----------- /* Stroustrup, 5.6 Structures STATEMENT: this programmes *tries* to do do this in 3 parts: 1.) it creates a "struct", named "jd", of type "address". 2. it...
8
by: anon.asdf | last post by:
Hi! OK, lets try "array-copy": { char arrayA; arrayA = (char){1, 2, 3}; } it does *not* work since we're trying to make a fixed array-pointer arrayA, point to another location/address...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.