[comp.unix.questions] "Glob"

pjh@mccc.edu (Peter J. Holsberg) (04/16/91)

What is the etymology of the word "glob"?

Thanks,
Pete
-- 
Prof. Peter J. Holsberg      Mercer County Community College
Voice: 609-586-4800          Engineering Technology, Computers and Math
UUCP:...!princeton!mccc!pjh  1200 Old Trenton Road, Trenton, NJ 08690
Internet: pjh@mccc.edu	     Trenton Computer Festival -- 4/20-21/91

jik@athena.mit.edu (Jonathan I. Kamens) (04/17/91)

In article <1991Apr15.172740.13288@mccc.edu>, pjh@mccc.edu (Peter J. Holsberg) writes:
|> What is the etymology of the word "glob"?

  I'm not sure exactly where the word came from, but here's what the Jargon
File(*) has to say about it:

glob: /glob/, *not* /glohb/ [UNIX] vt.,n. To expand special
   characters in a wildcarded name, or the act of so doing (the action
   is also called `globbing').  The UNIX conventions for filename
   wildcarding have become sufficiently pervasive that many hackers
   use some of them in written English, especially in email or news on
   technical topics.  Those commonly encountered include:

     *    wildcard for any string (see also {UN*X}).
     ?    wildcard for any character (generally only read this way
          at the beginning or in the middle of a word).
     []   delimits a wildcard matching any of the enclosed characters.
     {}   alternation of comma-separated alternatives.  Thus,
          `foo{baz,qux}' would be read as `foobaz' or `fooqux'.

   Some examples: "He said his name was [KC]arl" (expresses
   ambiguity).  "That got posted to talk.politics.*" (all the
   talk.politics subgroups on {USENET}).  Other examples are given
   under the entry for {X}.  Compare {regexp}.

   Historical note: the jargon usage derives from `glob', the
   name of a subprogram that expanded wildcards in archaic Bourne
   Shell versions; this was necessary because early UNIX machines had
   so little memory that the glob routine and the rest of the shell
   could not be co-resident within 64K of code plus data.

(*) Available for anonymous ftp in /pub/jargon/jargon2.8.3.Z on
pit-manager.mit.edu (18.72.1.58), or via mail server (send mail with contents
"send help" and "send jargon/index" on separate lines to
mail-server@pit-manager.mit.edu).

-- 
Jonathan Kamens			              USnail:
MIT Project Athena				11 Ashford Terrace
jik@Athena.MIT.EDU				Allston, MA  02134
Office: 617-253-8085			      Home: 617-782-0710

dmr@alice.att.com (Dennis Ritchie) (04/18/91)

I am the only person who ever knew the true etymology of "glob."
Unfortunately, I have forgotten it.

I do remember, of course, that the program in early PDP-11 Unix
that expanded ?* for the shell was called /etc/glob, but the
detail that escapes is why, exactly, that name was picked.
Deep hypnotic therapy has revealed that it is cognate with
"global," and of this I am confident.  The naggingly lost detail
is the relationship of the name to the function.  I can only
guess that I reasoned that the * notation allowed commands
to apply globally to a directory.

BTW, the Jargon file is wrong in connecting /etc/glob with
the Bourne shell.  Bourne was the one who integrated file
expansion into his shell, and thereby obsoleted /etc/glob.
Also it's incorrect to say that globbing couldn't fit into
the early shells; in the 5th edition, /bin/sh was 4992 bytes,
/etc/glob 1280 bytes of program text.  Instead, the separation
was an early experiment in modularization and tool-use.

	Dennis Ritchie
	dmr@research.att.com

dpaulso@k30b.nswc.navy.mil (ef80) (04/20/91)

In article <20226@alice.att.com> dmr@alice.att.com (Dennis Ritchie) writes:
>[...]; in the 5th edition, /bin/sh was 4992 bytes,
>/etc/glob 1280 bytes of program text.

Amazing. Now, of course, we have

-rwxr-xr-x  1 bin      bin         45056 May 10  1989 /bin/sh
-rwxr-xr-x  2 bin      bin        110592 Apr 14  1988 /bin/csh
-rwxr-xr-x  2 bin      bin        120832 Apr 14  1988 /bin/tcsh

This is interesting in light of the discussion in 
wizards re: "code bloat".

/dave
--
Dave Paulson            dpaulso@relay.nswc.navy.mil (work)
Synetics/NAVSWC         talos!SandBox!dave@uunet.uu.net (home,NeXTmail)

navarra@casbah.acns.nwu.edu (John 'tms' Navarra) (04/22/91)

In article <1991Apr19.182142.3992@relay.nswc.navy.mil> dpaulso@k30b.nswc.navy.mil (ef80) writes:
>In article <20226@alice.att.com> dmr@alice.att.com (Dennis Ritchie) writes:
>>[...]; in the 5th edition, /bin/sh was 4992 bytes,
>>/etc/glob 1280 bytes of program text.
>
>Amazing. Now, of course, we have
>
>-rwxr-xr-x  1 bin      bin         45056 May 10  1989 /bin/sh
>-rwxr-xr-x  2 bin      bin        110592 Apr 14  1988 /bin/csh
>-rwxr-xr-x  2 bin      bin        120832 Apr 14  1988 /bin/tcsh
>
FINE FORGET ABOUT BASH!!!! :-)
  
  504 -rwx--x--x  1 root       507904 Apr  3 15:16 bash


 >
>/dave
>--
>Dave Paulson            dpaulso@relay.nswc.navy.mil (work)
>Synetics/NAVSWC         talos!SandBox!dave@uunet.uu.net (home,NeXTmail)


-- 
From the Lab of the MaD ScIenTiST:
      
navarra@casbah.acns.nwu.edu