compoundNames

324 views
Skip to first unread message

Ian Feldman

unread,
Mar 28, 1990, 2:07:06 PM3/28/90
to

Does anyone know the origins (and/or the etymology) of the compound
variable (and other item) naming convention ie, `variableName'
`otherItem' etc., in which the two or more parts of someThing are
delimited by its consecutive parts' beginning letters uppercase
state, with no spaces in between. I assume it to have come about
because of some specific compiler's requirement of strictly alpha
letters in its variable names. I believe also to have seen it in
use around 1985, though I don't quite recall in what circumstances.
It would be interesting to find out who was the original
`motherFather' of such a construct.

Please enlighten.

--Ian Feldman / ia...@nada.kth.se || uunet!nada.kth.se!ianf / "There, Watson!
/ obviously he is not the ImageWriter hacker we suspected him of"

David J. Bianco

unread,
Mar 28, 1990, 5:27:19 PM3/28/90
to
In article <32...@draken.nada.kth.se> ia...@nada.kth.se (Ian Feldman) writes:

Does anyone know the origins (and/or the etymology) of the compound
variable (and other item) naming convention ie, `variableName'
`otherItem' etc., in which the two or more parts of someThing are
delimited by its consecutive parts' beginning letters uppercase
state, with no spaces in between. I assume it to have come about
because of some specific compiler's requirement of strictly alpha
letters in its variable names. I believe also to have seen it in
use around 1985, though I don't quite recall in what circumstances.
It would be interesting to find out who was the original
`motherFather' of such a construct.

Well, I dont know the origins, but I didnt know it was a strange convention.
I started out using it when I got into the CS program here at the university.
It just seems natural to me. Perhaps its because I am too lazy to reach
for the underscore key. 8) Most likely, thats why you saw it.....


--


------------------------
So sayeth me! Internet: bia...@cs.odu.edu
No disclaimer, these aren't opinions, they're *facts*.

"Madness is to think of too many things in succession
too fast or of one thing too exclusively."
-- Voltaire
Gee, didnt think they had computers back then! 8D

Christopher Pettus

unread,
Mar 28, 1990, 7:05:53 PM3/28/90
to
In article <32...@draken.nada.kth.se> ia...@nada.kth.se (Ian Feldman) writes:
> Does anyone know the origins (and/or the etymology) of the compound
> variable (and other item) naming convention ie, `variableName'
> `otherItem' etc., in which the two or more parts of someThing are
> delimited by its consecutive parts' beginning letters uppercase
> state, with no spaces in between.

I believe that particular convention began with Pascal, which in
its original form did not allow underscore as a character in an
identifier. Most implementations of Pascal that anyone is using
for anything now permit underscore, but the convention remains.

Now, of course, there was Algol 68, in which space was a perfectly
valid in identifiers (although I don't remember whether or not it
was significant, i.e., were "hello there" and "hellothere" different
identifiers?).
--
Christopher Pettus, Network Connectivity Development, Apple Computer, Inc.
MS 35-K -- 408/974-0004 -- c...@apple.com -- sun!apple!cep -- link PETTUS.C

Steven Fruitbat Foster

unread,
Mar 29, 1990, 8:37:07 AM3/29/90
to

In article <32...@draken.nada.kth.se>, ia...@nada.kth.se (Ian Feldman) writes...

>
> Does anyone know the origins (and/or the etymology) of the compound
> variable (and other item) naming convention ie, `variableName'
> `otherItem' etc., in which the two or more parts of someThing are
> delimited by its consecutive parts' beginning letters uppercase
> state, with no spaces in between.

I always thought it was done with caps at the start too? Like TwoThings etc.

We ex-basic programmers often adopt such things (first admission - I've just
came out as a basic programmer on the net). AFTER HAVING TO SHOUT ALL THE
TIME IT'S REFRESHING to completely do without capitals (as in C, pascal).
quite often never ever using them at all. Eventually one Adopts a Happy
Medium, with these things being _de rigeur_ in languages such as Modula-2,
where it's a necessary convention.

I think its a nice way to separate words, even though it leads to identifiers
such as ThisIsAVeryDifficultIdentifierForYourIndenterToCopeWith. I suppose
the convention came about when restrictions of 6 char identifiers were
finally removed. Several languages now have these as clarifiers - the object
thisthing, ThisThing and THISTHING can have their types known by how they are
writ.

Fruitbat.

+----------------------------------------------------------------------------+
| Steve Fruitbat Foster | fos...@jumbly.dec.com [+...@uk.ac.nsfnet-relay] |
| Digital Equipment Corp. +--------------------------------------------------|
| Reading, UK. | These opinions are not necessarily those of DEC, |
| **STUFF THE POLL TAX** | my assorted cuddly toys or anybody whatsoever. |
+----------------------------------------------------------------------------+

Homosexuality: Eight out of ten owners (who expressed a preference) said their
bats *preferred* it.

Al Evans

unread,
Mar 29, 1990, 9:57:24 AM3/29/90
to
In article <32...@draken.nada.kth.se> ia...@nada.kth.se (Ian Feldman) writes:
-
- Does anyone know the origins (and/or the etymology) of the compound
- variable (and other item) naming convention ie, `variableName'
- `otherItem' etc., in which the two or more parts of someThing are
- delimited by its consecutive parts' beginning letters uppercase
- state, with no spaces in between. I assume it to have come about
- because of some specific compiler's requirement of strictly alpha
- letters in its variable names. I believe also to have seen it in
- use around 1985, though I don't quite recall in what circumstances.
- It would be interesting to find out who was the original
- `motherFather' of such a construct.

The first instances of this style I remember seeing were in early
articles about SmallTalk. I first *used* it in the context of
programming in Lisa Pascal -- it was part of Apple's recommended
coding guidelines for Lisa Toolkit (? early abortive object Pascal
environment) programming. Then came the Mac, and the rest is
history.
--Al Evans--
--
---
Al Evans -- uunet!execu!sequoia!crucible!al
History is just the story of what happens to have happened. It is no more
or less true than any story of what happens not to have happened.

Richard H. Gumpertz

unread,
Mar 29, 1990, 10:01:24 AM3/29/90
to
In article <32...@draken.nada.kth.se> ia...@nada.kth.se (Ian Feldman) writes:
> Does anyone know the origins (and/or the etymology) of the compound
> variable (and other item) naming convention ie, `variableName'
> `otherItem' etc., in which the two or more parts of someThing are
> delimited by its consecutive parts' beginning letters uppercase
> state, with no spaces in between.

I first encountered it in BCPL programs of the early 70s. I don't know its
history before that.

There was also a related convention (enforced in one compiler -- was it the
Pedagogic Algorithmic Language??) that user symbols started with a capital
letter OR were one character long; identifiers of two or more characters
starting with lower case were reserved for use as keywords in the language.
--
==========================================================================
| Richard H. Gumpertz r...@CPS.COM (913) 642-1777 or (816) 891-3561 |
| Computer Problem Solving, 8905 Mohawk Lane, Leawood, Kansas 66206-1749 |
==========================================================================

Melinda Shore

unread,
Mar 29, 1990, 1:58:32 PM3/29/90
to
[]
I first encountered it in the wacky world of MacIntosh programming around
1984 (shortly after they first came out). I attended MacHigh School (how
embarrassing), where we were told that at Apple constants were capitalized
one way, globals another, and locals were, I think, all lowercase. I think
perhaps globals had lowercase first letters but a cap in the middle
(lowerCase, for example), and constants had uppercase first letters and
perhaps a cap in the middle (UpperCase).
--
Melinda Shore sh...@mtxinu.com
mt Xinu ..!uunet!mtxinu.com!shore

Carrington Dixon

unread,
Mar 29, 1990, 11:48:03 PM3/29/90
to
In article <74...@goofy.Apple.COM> c...@Apple.COM (Christopher Pettus) writes:
>In article <32...@draken.nada.kth.se> ia...@nada.kth.se (Ian Feldman) writes:
>> Does anyone know the origins (and/or the etymology) of the compound
>> variable (and other item) naming convention ie, `variableName'

>I believe that particular convention began with Pascal, which in


>its original form did not allow underscore as a character in an

Wirth's _other_ language, Modula-2, uses this convention; however,
the original Pascal compiler was for a CDC machine that only supported
one case. I think that you are right about early Pascal not supporting
the underscore, but I don't think that Wirth had yet decided to make blatant
case-sensitivity a "feature" of all his languages.


--
Carrington Dixon
d25...@mic.lonestar.org

Brian Kantor

unread,
Mar 30, 1990, 11:29:50 AM3/30/90
to
I've used compound names without underscores for a long time, but
that's because I learned programming on machines that didn't HAVE
underscores on the keyboard, keyPUNCH, and/or printers. I usually don't
capitalize local variables, I often capitalize the first letter of
global variables, and constants usually are all-caps. Just makes it
easier for me to read it.

What I find scary is that people are still coming to me to ask me about
code I wrote in 1972 that's still in use on the Burroughs down the
hall....

Anybody remember PEESPOL?
- Brian

John Alan Low

unread,
Mar 31, 1990, 2:22:50 AM3/31/90
to
In article <BIANCO.90M...@thunder.cs.odu.edu> bia...@cs.odu.edu (David J. Bianco) writes:
=>In article <32...@draken.nada.kth.se> ia...@nada.kth.se (Ian Feldman) writes:
=>
=> Does anyone know the origins (and/or the etymology) of the compound
=> variable (and other item) naming convention ie, `variableName'
=> `otherItem' etc., in which the two or more parts of someThing are
=> delimited by its consecutive parts' beginning letters uppercase
=>
=>Well, I dont know the origins, but I didnt know it was a strange convention.
=>I started out using it when I got into the CS program here at the university.
=>It just seems natural to me.

Same for me! I find the underscore more unnatural than running the words
together. But that may be because I am comfortable reading German. I'll
bet that Germany is the only country where compounding words is a national
sport.

Besides, the underscore key is sooo far away....

---Travis

Bob Weissman

unread,
Apr 2, 1990, 8:41:01 PM4/2/90
to
In article <799...@hpopd.HP.COM>, da...@hpopd.HP.COM (Dave Straker) writes:
> I first saw CompoundNaming in UCSD Pascal on the Apple II, back in '79.
> It is a good alternative to compound_naming, saving one space (yes, I know
> it's not a lot, but it is a bit). It seems to be getting increasingly
> popular in C. I use it.

In the Mesa programming language, (formerly?) used internally at Xerox,
the old ASCII character set was in use, which meant that the character
'\137' ('_') appeared on your screen as a back-arrow and indicated
assignment. So names like "compound_naming" never occurred, and the
CapitalizedWordNamingScheme was used instead.

Followups are redirected to alt.folklore.computers, as this no
longer has much to do with C.

--
Bob Weissman
Internet: b...@omni.com
UUCP: ...!{apple,pyramid,sgi,tekbspa,uunet}!omni!bob

AARON

unread,
Apr 2, 1990, 10:55:09 PM4/2/90
to
I am working on a folklore paper for a class here at Penn and the first thing
I need to do is to collect data which I can analyze. I was delighted to find
this newsgroup here, but unfortunately most of the articles on here are a
little to specific for my fairly basic paper to use. I would therefore
appreciate it if all of you out there could think about sending me personally,
and perhaps also posting some more basic computer folklore such as origins
of terms like grep, bug, etc... The more versions I get the better since
variation is one of the cornerstones of folklore. Other things like virus
lore(misconceptions about transmission or just about anything else), signatures
and such would also be greatly appreciated. I am by no means limited to those
few things I have suggested and anything else you think might be useful to me
would also be greatly appreciated. Thank you so much for your help to me.

Ed McGuire

unread,
Apr 3, 1990, 12:28:14 PM4/3/90
to
From article <22...@netnews.upenn.edu>, by fu...@eniac.seas.upenn.edu (AARON):

> appreciate it if all of you out there could think about sending me personally,
> and perhaps also posting some more basic computer folklore such as origins
> of terms like grep, bug, etc... The more versions I get the better since

Those sorts of things have already been adequately covered on the newsgroup.
If you aren't satisfied by the responses you get, try looking for an archive
of the past articles from the newsgroup.

Has anybody been archiving alt.folklore.computers? (That is, any hard disk
manufacturers?) :-]
---

peace. -- Ed
"I've been indirected and abbreviated, lexical functed and symbol substituted."

Avi Rappoport

unread,
Apr 3, 1990, 12:53:05 PM4/3/90
to

Apparently, the technical term for these things, at least on the Mac,
is InterCaps. Some of us are fighting to keep these from creeping in
where they don't belong: the BMUG Helpline for instance, does _not_ have
an InterCap L!

--
-- Help me justify my online bills: ask me EndNote questions, please! --
Avi Rappoport 2000 Hearst, Berkeley, CA 94709
nile...@well.sf.ca.us, 415-655-6666
Niles.Assoc on AppleLink fax: 415-649-8179

Bengt G{llmo, L M Ericsson, Stockholm, Sweden

unread,
Apr 4, 1990, 12:11:44 PM4/4/90
to
In article <22...@netnews.upenn.edu>, fu...@eniac.seas.upenn.edu (AARON)
writes:

> I am working on a folklore paper for a class here at Penn and the first
> thing I need to do is to collect data which I can analyze. ... I would
> therefore appreciate it if all of you out there could think about sending
> me personally, and perhaps also posting some more basic computer folklore
> such as origins of terms like grep, bug, etc...

How about RPQ?

Most people, including IBM'ers, probably think that an RPQ is a device:
a modification or a non-standard feature in a standard product, or even
a whole, non-standard product. But the original meaning of RPQ is "Request
for Price Quotation", the IBM internal form on which the IBM salesman
requests permission to offer a non-standard device to a customer, and a
price on it.

The confusion is very old, probably from the time before computers. At one
point in the 1960's, IBM tried to stop the use of the "corrupt" term RPQ
within IBM by introducing a new name for the form - RSDP, "Request for
Special Device Price quotation (?)". I have forgotten what one was supposed
to call the device. But they could not make it a stick. Everybody continued
to talk about RPQ's anyway.

-----
Bengt Gallmo e-mail: lme...@eds.ericsson.se
Telefonaktiebolaget L M Ericsson phone: +46 8 719 1940
S-126 25 STOCKHOLM fax: +46 8 719 3988
SWEDEN

Sometimes a majority only means that all the fools are on the same side!

Mike Morris

unread,
Apr 5, 1990, 8:27:30 AM4/5/90
to
In article <11...@mtxinu.UUCP> sh...@mtxinu.COM (Melinda Shore) writes:
>I first encountered it in the wacky world of MacIntosh programming around
>1984 (shortly after they first came out). I attended MacHigh School (how
>[...]

All this leads me to suspect that the compundNames habit originated
with Smalltalk (1980 or thereabouts) where class objects must have
an initial capital letter (as in `ClassWideObject'), and instance
objects must start with a l/c letter (as in `instanceVariable').
Also names can only (if I remember right) consist of alphnumerics.

Caveat: This is just a guess and has no basis whatsoever in fact.
I'm probably wrong!
--
Mike Morris :: "The gods gave humans a sense
mi...@cside1.UUCP :: of humour to make up for giving
...!ddsw1!olsa99!oct1!cside1!mike :: them sex..." - Terry Pratchett
--
Mike Morris :: "The gods gave humans a sense
mi...@cside1.UUCP :: of humour to make up for giving
...!ddsw1!olsa99!oct1!cside1!mike :: them sex..." - Terry Pratchett

Michael Krill-Man Lee

unread,
Apr 5, 1990, 7:27:10 PM4/5/90
to
In alt.folklore.computers, a...@crucible.UUCP (Al Evans) writes:
|
| The first instances of this style I remember seeing were in early
| articles about SmallTalk. ...

One would expect SmallTalk, or maybe even smallTalk. Nope.
The actual name of the system was Smalltalk. With a lower
case t. Unbelievable.

--
Krill-Man Max Headroom is My Hero You Don't Have To
Pizza enjoys: YOU Fish always eat sushi Have a cow
Xibology is Allowed Eat me I'm a danish Hi
mi...@ontek.com uunet!ontek!mikey /dev/slack

Jim Perry

unread,
Apr 6, 1990, 10:47:00 AM4/6/90
to
In article <1990Apr5.1...@cside1.uucp> mi...@cside1.UUCP (Mike Morris) writes:
>In article <11...@mtxinu.UUCP> sh...@mtxinu.COM (Melinda Shore) writes:
>>I first encountered it in the wacky world of MacIntosh programming around
>>1984 (shortly after they first came out). I attended MacHigh School (how
>>[...]
>
>All this leads me to suspect that the compundNames habit originated
>with Smalltalk (1980 or thereabouts) where class objects must have
>an initial capital letter (as in `ClassWideObject'), and instance
>objects must start with a l/c letter (as in `instanceVariable').
>Also names can only (if I remember right) consist of alphnumerics.
>
>Caveat: This is just a guess and has no basis whatsoever in fact.
> I'm probably wrong!

I expect CompoundNames evolved simultaneously around the world during
the 1970's when computer users made the switchover from all-upper-case
devices to mixed-case ones. It was immediately evident that some use
of lower case was much more readable, but there was no immediate
consensus on exact usage. Just as a data point, I was at Dartmouth
during the late '70's. The issue of case style was undecided,
although coding style in general was emphasized. (Needless to say,
this was using languages in which case was insignificant). Some
people tried to follow English conventions, capitalizing the first
letters of statements, others capitalized variable names, some used
capitalization for the sort of type information described above (e.g.
capitalizing PL/I function names to distinguish them from arrays),
and, of course, some elected to capitalize the first letters of
"words" in variable names, as in the Macintosh usage. A side note:
although many languages supported the use of underscores in
identifiers, at that point the ASCII underscore character was rendered
on many terminals and printers as a backarrow, which to some extent
detracted from its use.

Perhaps it's just the bias of my background, but I object to enforced
style issues: I consider capitalization conventions all very well when
it's just a convention in a caseless language, but I don't care for it
at all in case-sensitive environment. I programmed in Pascal for
Macintoshes quite happily spelling everything in all-lower-case, but I
seem to recall some confusion when the first Mac C's started coming
out: I believe at least one version faithfully reproduced Apple's
quirky capitalization (thus enforcing it) while another normalized
everything to lowercase, which would be more natural for C programmers
but confusing the documentation issue. As a matter of personal taste,
I consider it insane to use the identifiers "FooBarWidget" and
"fooBarWidget" in the same program with two distinct meanings, but
hey, call me an old fogey.
-
Jim Perry pe...@apollo.hp.com HP/Apollo, Chelmsford MA
This particularly rapid unintelligible patter
isn't generally heard and if it is it doesn't matter.

David Boyes

unread,
Apr 7, 1990, 1:39:40 AM4/7/90
to
In article <82...@eds.ericsson.se> lme...@eds.ericsson.se (Bengt G{llmo, L M Ericsson, Stockholm, Sweden) writes:

>How about RPQ?

PRPQ, anyone? How about PCR or PSR? APAR?


(boy, that ought to bring all the 360 hackers out of the
woodwork...)


--
David Boyes | "Where's the ka-boom? There's supposed to be an
dbo...@rice.edu | Earth-shattering ka-boom!...Heavens! Someone has
| stolen the Illudium Q-38 Explosive Space Modulator!
"Delays, delays!" | The Earth creature has *stolen* the Space Modulator!"

Steve Lamont

unread,
Apr 7, 1990, 8:10:12 AM4/7/90
to
In article <64...@brazos.Rice.edu> dbo...@brazos.rice.edu (David Boyes) writes:
>In article <82...@eds.ericsson.se> lme...@eds.ericsson.se (Bengt G{llmo, L M Ericsson, Stockholm, Sweden) writes:
>>How about RPQ?
>PRPQ, anyone? How about PCR or PSR? APAR?

Howsabout PTF (I always figured it meant Permanent Temporary Fix)?

>(boy, that ought to bring all the 360 hackers out of the
>woodwork...)

Yup.

spl
--
Steve Lamont, sciViGuy (919) 248-1120 EMail: s...@ncsc.org
NCSC, Box 12732, Research Triangle Park, NC 27709
"...though you may have the falcon yet we certainly have you."
Dashiell Hammett, _The Maltese Falcon_

Thomas Lapp

unread,
Apr 7, 1990, 1:50:18 PM4/7/90
to
> >>How about RPQ?
> >PRPQ, anyone? How about PCR or PSR? APAR?
>
> Howsabout PTF (I always figured it meant Permanent Temporary Fix)?

I used to think that APAR was "A Problem and Resolution". I'm still waiting
for the real answer. I just found out that RPQ was Request for Price Quote,
and PTF is Problem Temporary Fix (which then gets incorporated into the
next PUT tape (Problem Update Tape?)
- tom

--
internet : mvac23!tho...@udel.edu or thomas%mva...@udel.edu
uucp : {ucbvax,mcvax,psuvax1,uunet}!udel!mvac23!thomas
Europe Bitnet: THOMAS1@GRATHUN1
Location: Newark, DE, USA
Quote : The only way to win thermonuclear war is not to play.

--
The UUCP Mailer

jim frost

unread,
Apr 7, 1990, 10:30:57 PM4/7/90
to
s...@duck.ncsc.org (Steve Lamont) writes:
>Howsabout PTF (I always figured it meant Permanent Temporary Fix)?

Gads, I remember putting pages of them into RPG programs. "Permanent"
was the truth, whether or not anyone wanted to believe it at the time
:-).

jim frost
saber software
ji...@saber.com

Bert Bos

unread,
Apr 9, 1990, 1:06:50 PM4/9/90
to
The first time I saw `compoundNames' was in 1985 or 1986 in a book on
SmallTalk-80 (is that spelled right? :-)). I've used them ever since
in my Pascal programs. Though I use underline_words where
capitalizedWords don't look good.
--
"Always remember, however, that there's Bert Bos (be...@gufalet.uucp)
usually a simpler and better way to do Alfa-informatica
something than the first way that pops RijksUniversiteit Groningen
into your head." (D.E. Knuth, TeXbook) Groningen, The Netherlands

The Polymath

unread,
Apr 9, 1990, 10:43:55 PM4/9/90
to
In article <1990Apr8.0...@world.std.com> ma...@world.std.com (jim frost) writes:
}s...@duck.ncsc.org (Steve Lamont) writes:
}>Howsabout PTF (I always figured it meant Permanent Temporary Fix)?
}
}Gads, I remember putting pages of them into RPG programs. "Permanent"
}was the truth, whether or not anyone wanted to believe it at the time
}:-).

I heard Program Temporary Fix. I also heard the shortest program ever
to get one was IEFBR14 -- all of one instruction long. Something about
backwards incompatibility with the 370, I think.

--
The Polymath (aka: Jerry Hollombe, M.A., CDP, aka: holl...@ttidca.tti.com)
Citicorp(+)TTI Illegitimis non
3100 Ocean Park Blvd. (213) 450-9111, x2483 Carborundum
Santa Monica, CA 90405 {csun | philabs | psivax}!ttidca!hollombe

Steve Lamont

unread,
Apr 11, 1990, 7:06:40 AM4/11/90
to
In article <11...@ttidca.TTI.COM> holl...@ttidcb.tti.com (The Polymath) writes:
>In article <1990Apr8.0...@world.std.com> ma...@world.std.com (jim frost) writes:
>}s...@duck.ncsc.org (Steve Lamont) writes:
>}>Howsabout PTF (I always figured it meant Permanent Temporary Fix)?
>I heard Program Temporary Fix. ...

You take all the fun out of it :-) :-) :-)

> ... I also heard the shortest program ever


>to get one was IEFBR14 -- all of one instruction long. Something about
>backwards incompatibility with the 370, I think.

Hmmmm. Well, IEFBR14 is indeed 1 instruction long (or it was, the last time I
looked, about 4 years ago...). It is a

BR 14

instruction, which branches (jumps) to the location specified by register 14,
which is where the return address from a

BALR 14,??? I DON'T REMEMBER THE OTHER REG

lives. BALR is sort of like a CALL in most assemblers. It is sort of
difficult to imagine what they might of had to fix. Anyone know?

spl
--
Steve Lamont, sciViGuy (919) 248-1120 EMail: s...@ncsc.org
NCSC, Box 12732, Research Triangle Park, NC 27709

Don't send in no bums. I want deals.
-John Steinbeck, _The Grapes of Wrath_

Andrew Klossner

unread,
Apr 11, 1990, 11:25:39 AM4/11/90
to
[]

"I heard Program Temporary Fix. I also heard the shortest
program ever to get one was IEFBR14 -- all of one instruction
long. Something about backwards incompatibility with the 370,
I think."

Not quite. For the uninitiated, IEFBR14 is a no-op program; the single
instruction is to return to caller, "BR 14", hence the name. This
program is used for the side effects that attend program execution,
such as marking files to be deleted. The bug was that IEFBR14 didn't
put an exit code into register 15 (zero means success), and so program
execution appeared always to fail. The fix was to add an instruction
to clear r15 -- thus doubling the program size.

-=- Andrew Klossner (uunet!tektronix!frip.WV.TEK!andrew) [UUCP]
(andrew%frip.wv...@relay.cs.net) [ARPA]

Steve Hix

unread,
Apr 12, 1990, 12:53:26 PM4/12/90
to
In article <ADELGADO.90...@mtecv2.mty.itesm.mx>, adel...@mtecv2.mty.itesm.mx (Alfredo Delgado Garza) writes:
> In article <32...@draken.nada.kth.se> ia...@nada.kth.se (Ian Feldman) writes:
>
>
> > Does anyone know the origins (and/or the etymology) of the compound
> > variable (and other item) naming convention ie, `variableName'
>
> According to the MS-WINDOWS tradition, its called Hungarian notation in
> honor of an hungarian programmer that used to work at microsoft.

Would that Hungarian be named Simonyi, by any chance? (I think that's
the spelling, and that he's still as MS, being one of the principal
architects of MS Word.)

------------
"Up the airey mountain, down the rushy glen,
we daren't go a-hunting for fear of little men..."
('cause Fish and Game has taken to hiring axe-carrying dwarves)

Alfredo Delgado Garza

unread,
Apr 11, 1990, 6:26:45 PM4/11/90
to
In article <32...@draken.nada.kth.se> ia...@nada.kth.se (Ian Feldman) writes:


> Does anyone know the origins (and/or the etymology) of the compound
> variable (and other item) naming convention ie, `variableName'

> `otherItem' etc., in which the two or more parts of someThing are

> delimited by its consecutive parts' beginning letters uppercase

> state, with no spaces in between. I assume it to have come about

> because of some specific compiler's requirement of strictly alpha

> letters in its variable names. I believe also to have seen it in

> use around 1985, though I don't quite recall in what circumstances.

> It would be interesting to find out who was the original

> `motherFather' of such a construct.

According to the MS-WINDOWS tradition, its called Hungarian notation in


honor of an hungarian programmer that used to work at microsoft.

It is the standard used by many windows and PM programmers, I thik it
dates before to 1985 when that package was developed

--
Alfredo Delgado Garza.
Internet: adel...@mtecv2.mty.itesm.mx
Bitnet: pa126318@tecmtyvm

Dave Ritchie

unread,
Apr 14, 1990, 1:37:03 AM4/14/90
to
>> According to the MS-WINDOWS tradition, its called Hungarian notation in
>> honor of an hungarian programmer that used to work at microsoft.
>
>Would that Hungarian be named Simonyi, by any chance? (I think that's
>the spelling, and that he's still as MS, being one of the principal
>architects of MS Word.)
>

Yep. See 'Programmers at Work" for a profile.

-- Dave

Elliott S. Frank

unread,
Apr 16, 1990, 1:34:26 PM4/16/90
to
In article <11...@ttidca.TTI.COM> holl...@ttidcb.tti.com (The Polymath) writes:
>
>I heard Program Temporary Fix. I also heard the shortest program ever
>to get one was IEFBR14 -- all of one instruction long. Something about
>backwards incompatibility with the 370, I think.

Not quite. IEFBR14 was originally a single instruction; BR 14.
This relied on the OS/360 linkage conventions (entry point in register 15,
return address in register 14, pointer to register save area in register
13, pointer to variable length parameter list in register 1). If you
needed a job step to do catalog management in the middle of a batch job,
it was the ticket. However .... One more linkage convention: return codes
were placed in register 15 before you returned. Some update or another
to OS/360 left garbage in register 15 when the operating system called
your program. Now, IEFBR14 returned a "random" return code. Fix 1, change
the code to subtract register 15 from itself. OK.

But then .... the bureaucracy took over. Here was a program supplied as
part of the operating system that did not have an embedded identifier.
It was turned over to the maintenance types, who added the identifier,
code to branch around the identifier, conformance to standard linkage
conventions.....no, I don't know how long the beastie is now....

----
--
Elliott Frank ...!{hplabs,ames,sun}!amdahl!esf00 (408) 746-6384
or ....!{bnrmtv,drivax,hoptoad}!amdahl!esf00

[the above opinions are strictly mine, if anyone's.]
[the above signature may or may not be repeated, depending upon some
inscrutable property of the mailer-of-the-week.]

Randal Schwartz

unread,
Apr 16, 1990, 7:55:20 PM4/16/90
to
In article <b5Bt02d...@amdahl.uts.amdahl.com>, esf00@uts (Elliott S. Frank) writes:
| But then .... the bureaucracy took over. Here was a program supplied as
| part of the operating system that did not have an embedded identifier.
| It was turned over to the maintenance types, who added the identifier,
| code to branch around the identifier, conformance to standard linkage
| conventions.....no, I don't know how long the beastie is now....

Just like the difference between /bin/true (0 characters) in the One
True Unix (V7) and /bin/true now, which I quote from the Sunos4.0.3
installation on this Sparcstation...

| #! /bin/sh
| #
| # @(#)true.sh 1.5 88/02/07 SMI; from UCB
| #
| exit 0

C'mon! Rev 1.5??? What.. have they been changing the exit values in
earlier versions? :-)

I understand the SVr4 version is even longer... anybody care to post
it?

Just another UNIX old-timer,
--
/=Randal L. Schwartz, Stonehenge Consulting Services (503)777-0095 ==========\
| on contract to Intel's iWarp project, Beaverton, Oregon, USA, Sol III |
| mer...@iwarp.intel.com ...!any-MX-mailer-like-uunet!iwarp.intel.com!merlyn |
\=Cute Quote: "Welcome to Portland, Oregon, home of the California Raisins!"=/

Bill Fenner

unread,
Apr 16, 1990, 9:32:22 PM4/16/90
to
In article <1990Apr16.2...@iwarp.intel.com> mer...@iwarp.intel.com (Randal Schwartz) writes:
|Just like the difference between /bin/true (0 characters) in the One
|True Unix (V7) and /bin/true now, which I quote from the Sunos4.0.3
|installation on this Sparcstation...
|
|| #! /bin/sh
|| #
|| # @(#)true.sh 1.5 88/02/07 SMI; from UCB
|| #
|| exit 0
|
|C'mon! Rev 1.5??? What.. have they been changing the exit values in
|earlier versions? :-)
|
|I understand the SVr4 version is even longer... anybody care to post
|it?

How about this:

/bin/true from Ardent-Titans have the following copyright:
: #!/bin/sh
: #ident "@(#)true.sh 1.2" 10/10/89
:
: #Copyright (C) 1988, by Ardent Computer Corp.
: # All Rights Reserved
: #This program is a trade secret of Ardent Computer Corp. and it is not to be
: #reproduced, published, disclosed to others, copied, adapted, distributed,
: #or displayed without the prior authorization of Ardent Computer Corp. Licensee
: #agrees to attach or embed this Notice on all copies of the program,
: #including partial copies or modified versions thereof.

A trade secret. Give me a break. Wonderful things happen when people get
real paranoid.

Anyway, since the program is a trade secret, I'd better not post the rest...
but

% wc /bin/true
19 111 731 /bin/true

is kind of ridiculous.
--
Bill Fenner w...@hcx.psu.edu ..!psuvax1!psuhcx!wcf
sy...@hogbbs.fidonet.org (1:129/87 - 814/238-9633) ..!lll-winken!/

Dave Shaver

unread,
Apr 17, 1990, 10:17:24 AM4/17/90
to
mer...@iwarp.intel.com (Randal Schwartz) writes:
>[/bin/true on Suns in at revision 1.5]

HP-UX is at

# @(#) $Revision: 27.3 $

/\ Dave Shaver -=*=- CS Systems Support Group, Iowa State University
\\ UUCP: {hplabs!hp-lsd, uunet!umix!sharkey}!atanasoff!shaver
\/ Internet: sha...@atanasoff.cs.iastate.edu question = (2B | !2B);

Michael Sinz - CATS

unread,
Apr 17, 1990, 10:19:46 AM4/17/90
to
In article <1990Apr16.2...@iwarp.intel.com> mer...@iwarp.intel.com (Randal Schwartz) writes:
>In article <b5Bt02d...@amdahl.uts.amdahl.com>, esf00@uts (Elliott S. Frank) writes:
>| But then .... the bureaucracy took over. Here was a program supplied as
>| part of the operating system that did not have an embedded identifier.
>| It was turned over to the maintenance types, who added the identifier,
>| code to branch around the identifier, conformance to standard linkage
>| conventions.....no, I don't know how long the beastie is now....
>
>Just like the difference between /bin/true (0 characters) in the One
>True Unix (V7) and /bin/true now, which I quote from the Sunos4.0.3
>installation on this Sparcstation...
>
>| #! /bin/sh
>| #
>| # @(#)true.sh 1.5 88/02/07 SMI; from UCB
>| #
>| exit 0
>
>C'mon! Rev 1.5??? What.. have they been changing the exit values in
>earlier versions? :-)
>
>I understand the SVr4 version is even longer... anybody care to post
>it?

I can't post it since it says in the comments that it is private and
propriatary code and, since this is pre-release that we are doing for
the Amiga, we can't post it until release.

It is a total of 9!!! lines long (2 blanks and 7 comments) and
is at revision 1.4 (Based on the ident line)

It will run a bit faster since it does not ask for a shell at the
start. (There is no "#! /bin/sh")

Now, if that is not strange, I don't know what is!

/----------------------------------------------------------------------\
| /// Michael Sinz -- CATS/Amiga Software Engineer |
| /// PHONE 215-431-9422 UUCP ( uunet | rutgers ) !cbmvax!mks |
| /// |
|\\\/// "I don't think so," said Ren'e Descartes. |
| \XX/ Just then, he vanished. |
\----------------------------------------------------------------------/

Ed McGuire

unread,
Apr 18, 1990, 12:04:09 AM4/18/90
to
From article <1990Apr16.2...@iwarp.intel.com>, by mer...@iwarp.intel.com (Randal Schwartz):

> Just like the difference between /bin/true (0 characters) in the One
> True Unix (V7) and /bin/true now, which I quote from the Sunos4.0.3
> installation on this Sparcstation...

Survey of /bin/true on machines at our site. Obviously Ultrix-32 is the
One True Unix by your criterion!

I explicit interpreter added -- i.e., `#! /bin/sh'
P AT&T copyright and proprietary notice added
R vendor RCS ident/version added -- e.g., `#ident "$Header...'
S vendor SCCS ident/version added -- e.g., `#ident "@(#)true.sh...'
X explicit exit code added -- i.e., `exit 0'

------------------------------------------------------------------------
Machine System IPRSX
---------------------------- ----------------------------------- -----
Digital VAXstation 3100 Ultrix-32 V3.1 (Rev. 11) UWS V2.2
Alliant VFX-8 Concentrix 5.5.0 4.3 BSD UNIX X
Apollo DN3000 4.2 BSD DOMAIN/IX 9.7 X
Apollo DN4500 DomainOS Release 10.2 (bsd4.3) I SX
Sun SPARCstation 330 SunOS UNIX Release 4.0.3-GFX I SX
Intergraph InterPro 240 CLIX System V Release 3.1 Vr.0.2.41 P S
Silicon Graphics Iris 4D/GTX IRIX System V Release 3.2 IPRS
------------------------------------------------------------------------

peace. -- Ed

d.m.drangula

unread,
Apr 18, 1990, 1:41:06 PM4/18/90
to
In article <1990Apr16.2...@iwarp.intel.com> mer...@iwarp.intel.com (Randal Schwartz) writes:
>In article <b5Bt02d...@amdahl.uts.amdahl.com>, esf00@uts (Elliott S. Frank) writes:
>| #! /bin/sh
>| #
>| # @(#)true.sh 1.5 88/02/07 SMI; from UCB
>| #
>| exit 0
>
>C'mon! Rev 1.5??? What.. have they been changing the exit values in
>earlier versions? :-)
>
>I understand the SVr4 version is even longer... anybody care to post
>it?
>
>Just another UNIX old-timer,
>--
>/=Randal L. Schwartz, Stonehenge Consulting Services (503)777-0095 ==========\


The SVR4 version is indeed longer, since it contains 5 lines of copyright
notice along with the ident string. It does not, however, contain an exit 0.
Try executing the original example without the last line and you will see
that the shell returns a zero exit code anyway.

BTW, /bin/false is exactly one line longer than /bin/true since it does
indeed contain an exit 255. Thankfully, the version numbers of both
files has been set to 1.1 and dont seem to have been changed yet!

Just try and put a zero length file under sccs control and you will
find out why /bin/true is not distributed or maintained as a zero length file.

D. Michael Drangula
no .sig or funny quote, just the usual disclaimer.

P E Smee

unread,
Apr 18, 1990, 6:15:39 AM4/18/90
to
In article <19...@speedy.mcnc.org> s...@duck.ncsc.org (Steve Lamont) writes:
>Hmmmm. Well, IEFBR14 is indeed 1 instruction long (or it was, the last time I
>looked, about 4 years ago...). It is a
>
> BR 14
>
>instruction, which branches (jumps) to the location specified by register 14,

(and is basically the standard 360/370/3090 assembly language RETURN
statement.)

>It is sort of
>difficult to imagine what they might of had to fix. Anyone know?

According to our IBM CE (yep, we've bought one, yuk) the original 'fix'
was to add a proper ENTRY sequence and identification header so that
debuggers, core-mappers, tracers, library tools, and other utilities
could recognize it and cope with it. Having given it an ENTRY
sequence, there were then (allegedly) some problems with making sure
that it didn't muck up the condition code and other registers.

--
Paul Smee, Computing Service, University of Bristol, Bristol BS8 1UD, UK
P.S...@bristol.ac.uk - ..!uunet!ukc!bsmail!p.smee - Tel +44 272 303132

David Schachter

unread,
Apr 20, 1990, 1:54:39 AM4/20/90
to

The /bin/true in SCO XENIX 386 R2.3.2 is 14 lines long, containing 51 words
and 291 bytes. The bulk of it is a copyright and proprietary information
statement, allegedly protecting the rights of SCO, Microsoft, and AT&T.
One wonders how three companies were needed to create a shell script with
one executable line: "exit 0". The script claims to be version 1.1,
with a date of December 18, 1986.

I'm sure you feel better knowing this, don't you?
--
-- David Schachter
llustig!da...@mips.com
...!uunet!mips!llustig!david
da...@llustig.UUCP (MAYBE)

Douglas W. Jones,201H MLH,3193350740,3193382879

unread,
Apr 19, 1990, 10:12:00 AM4/19/90
to
In article <b5Bt02d...@amdahl.uts.amdahl.com>, esf00@uts
(Elliott S. Frank) writes:
| #! /bin/sh
| #
| # @(#)true.sh 1.5 88/02/07 SMI; from UCB
| #
| exit 0

Rev 1.5? I can do one up on that. Here, at risk of violating the
University of Iowa's licence agreement with IBM, is the source code
of /bin/true from AOS on the IBM RT. AOS is IBM's version of BSD UNIX.

#!/bin/sh
#
# 5799-WZQ (C) COPYRIGHT = NONE
# LICENSED MATERIALS - PROPERTY OF IBM
#
# $Header:true.sh 12.0$
# $ACIS:true.sh 12.0$
# $Source: /ibm/acis/usr/src/bin/RCS/true.sh,v $

exit 0

Note that IBM appears to be up to Rev 12.0! At least they claim no
copyright on the code.

Doug Jones
jo...@herky.cs.uiowa.edu

David Geiser

unread,
Apr 20, 1990, 12:19:54 PM4/20/90
to

(54)hplsdpa: cat /bin/true

# @(#) $Revision: 27.3 $

(55)hplsdpa:


# # ###### # # # #
# # # # # # # #
# # # # # # # #
####### ###### ##### # # #
# # # # # # #
# # # # # # #
# # # ##### # #

Raymond Chen

unread,
Apr 20, 1990, 12:40:27 PM4/20/90
to
In article <1990Apr20.0...@llustig.uucp> da...@llustig.UUCP (David Schachter) writes:
>The bulk of [/bin/true] is a copyright and proprietary information

>statement, allegedly protecting the rights of SCO, Microsoft, and AT&T.

That's so they can sue BSD for "look and feel" copyright infringement.

"Your Honor, we submit as evidence the entire source code to the
program in question. Note that the defendant's program is completely
identical to ours, except for program comments (which, I must add,
are totally irrelevant to the functioning of the program). Hence,
I must request that you rule in our favor, as the program clearly
and openly is a duplicate of ours. All they did was remove our
copyright notice and replace it with theirs."

"Hm... I'll retire to my chamber and return with a decision."

OBFolklore:
The days when memory was measured in kilobytes, not megabytes.

Anthony A. Datri

unread,
Apr 21, 1990, 1:52:58 PM4/21/90
to
I think I can probably safely post the Convex /bin/true:


exit 0

:-)

Mark Brader

unread,
Apr 22, 1990, 2:49:01 AM4/22/90
to
> Just like the difference between /bin/true (0 characters) in the One
> True Unix (V7) and /bin/true now ...

What is more, it turns out that at least some present-day imitations
of the One True Unix refuse to run the One True true(1)! Herewith,
Exhibit A for the Prosecution:

Script started on Sun Apr 22 02:44:59 1990
$ ls -l true
true not found
$ chmod 755 true >true
$ cat true
$ ls -l true
-rwxr-xr-x 1 msb 0 Apr 22 02:45 true
$ ./true
Cannot exec binary file.
sh: ./true: cannot execute
$ ^D
script done on Sun Apr 22 02:45:21 1990

--
Mark Brader, SoftQuad Inc., Toronto "These days UNIX isn't very UNIX-like"
utzoo!sq!msb, m...@sq.com -- Doug Gwyn

This article is in the public domain. Including my version of "true". :-)

Tom Ivar Helbekkmo

unread,
Apr 23, 1990, 4:19:46 AM4/23/90
to
d...@hp-lsd.COS.HP.COM (David Geiser) writes:
>(54)hplsdpa: cat /bin/true
># @(#) $Revision: 27.3 $
>(55)hplsdpa:

That's a cute little one -- and probably a lot more efficient than the
following, which is from SCO Unix V/386 3.2.0. Read the comments!

barsoom% cat /bin/true
:
# @(#) true.sh 1.4 88/11/11
#
#
# UNIX is a registered trademark of AT&T
# Portions Copyright 1976-1989 AT&T
# Portions Copyright 1980-1989 Microsoft Corporation
# Portions Copyright 1983-1989 The Santa Cruz Operation, Inc
# All Rights Reserved

# Copyright (c) 1984 AT&T
# All Rights Reserved

# THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T
# The copyright notice above does not evidence any
# actual or intended publication of such source code.

barsoom%

"UNPUBLISHED"? Yeah, the "source code" looks pretty unpublished to
me... Hehehe... :-)

-tih
--
Tom Ivar Helbekkmo, NHH, Bergen, Norway. Telephone: +47-5-959205
t...@barsoom.nhh.no, thel...@norunit.bitnet, edb...@pluss.nhh.no

nickman...@gmail.com

unread,
Aug 30, 2013, 2:51:54 AM8/30/13
to
On Wednesday, March 28, 1990 2:07:06 PM UTC-5, Ian Feldman wrote:
> Does anyone know the origins (and/or the etymology) of the compound
> variable (and other item) naming convention ie, `variableName'
> `otherItem' etc., in which the two or more parts of someThing are
> delimited by its consecutive parts' beginning letters uppercase
> state, with no spaces in between. I assume it to have come about
> because of some specific compiler's requirement of strictly alpha
> letters in its variable names. I believe also to have seen it in
> use around 1985, though I don't quite recall in what circumstances.
> It would be interesting to find out who was the original
> `motherFather' of such a construct.
>
> Please enlighten.
>
> --Ian Feldman / ia...@nada.kth.se || uunet!nada.kth.se!ianf / "There, Watson!
> / obviously he is not the ImageWriter hacker we suspected him of"

How is there a thread from 1990? When was google invented?

Peter J. Seymour

unread,
Aug 30, 2013, 4:18:12 AM8/30/13
to
Surely the thread is nothing to do with google (except perhaps for
"google-for-everything" users).

JimP.

unread,
Aug 30, 2013, 8:21:45 AM8/30/13
to
On Thu, 29 Aug 2013 23:51:54 -0700 (PDT), nickman...@gmail.com
wrote:
>How is there a thread from 1990? When was google invented?

Google allows posts by replying to usenet posts from the past.
Something Deja News blocked.

JimP
--
Brushing aside the thorns so I can see the stars.
http://www.linuxgazette.net/ Linux Gazette
http://travellergame.drivein-jim.net/ July, 2013

Jorgen Grahn

unread,
Aug 30, 2013, 2:44:37 PM8/30/13
to
On Fri, 2013-08-30, JimP wrote:
> On Thu, 29 Aug 2013 23:51:54 -0700 (PDT), nickman...@gmail.com
> wrote:
>>How is there a thread from 1990? When was google invented?
>
> Google allows posts by replying to usenet posts from the past.
> Something Deja News blocked.

And DejaNews came in 1994 or so, and certainly had access to (partial)
Usenet archives from 1990. As I understand it Google later bought it
from Deja.

Speaking of old Usenet, I came across this in rec.arts.sf.written
recently:

nntp.olduse.net

A news feed with 30 years delay; they're at August 1983 right now.
I suppose it's a copy of Henry Spencer's archive.

/Jorgen

--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .
Reply all
Reply to author
Forward
0 new messages