Learn English – Earliest use of an asterisk (*) to indicate a zero-to-many character wildcard

etymology

I was explaining to someone what the * in "trans*" means (zero-to-many wildcard. In this case, it's used to refer to both "transexual" and "transgender" people with the same word), and another friend chimed in saying it came from computer programming. While I could tell them it was used in operating systems such as DOS and Unix before that, I couldn't say whether it came from computer culture or appeared before that. It seems reasonable that there would have been use for it, but a different character may easily have been chosen.

What is the earliest recorded instance of an asterisk being used as a zero-to-many character wildcard?

Note: I'm not referring to masks such as "f*ck". That is a different concept, in that it's a replacement of exactly one character, and is referring to only a single word.

Best Answer

The term you ask about, trans*, appears to be a new word in written English. A Google search for [trans asterisk] returns many examples of usage.

As a wildcard expression, the term would simply represent all words beginning with trans. But in written text having to do with sexuality, it means “the entire gender identity spectrum”, by extension from individual words such as transsexual, transgender, and transvestite. The term uses the asterisk as a wildcard to symbolize all gender identities and possibilities.

It’s not clear how trans* is being pronounced; two possibilities I have seen online are “trans asterisk” and “trans anything”.

The asterisk wildcard character used in the term does predate DOS and UNIX. It descends from the Multics asterisk wildcard character, known as a star name or the star convention

Notes

1. History of the asterisk wildcard character leading up to DOS and UNIX (and beyond):

TOPS-10 syntax (precursor of MS-DOS)

The TOPS-10 operating system took the asterisk to mean all. It would be used in place of an entire filename, extension, user number, or group number. For example, *.PL1 stands for all filenames with extension PL1. The asterisk was used alone, never combined with other characters, so you could not write A*.PL1. (Technically, the TOPS-10 asterisk in place of a filename is exactly equivalent to six question marks: ??????. Filenames were fixed at six characters wide. The question mark stands for any single character in its position.)

Later DEC operating systems, such as DOS-BATCH, RSTS, and RSX, inherited this syntax. CP/M (or possibly Commodore DOS before it) took its wildcard syntax from RSTS, and CP/M’s syntax was emulated by MS-DOS.

Multics syntax (precursor of UNIX and modern Microsoft Windows)

The GE Multics operating system supported a more flexible syntax: the asterisk matched any number of characters in a name component, and could be combined with other characters. For example, a*.pl1 stands for all filenames whose first component starts with a and whose second component is pl1. UNIX took its wildcard syntax from Multics but did away with components, treating the period as an ordinary character in the filename. In UNIX, a*pl1 stands for all filenames beginning with a and ending with pl1.

The last major DEC operating system, VAX/VMS, dropped the legacy DEC syntax in favor of the Multics syntax. Influenced by VAX/VMS, Microsoft Windows NT (the ancestor of 2000, XP, Vista, 7, and 8) did the same.

Relationship to Kleene star

The asterisk wildcard character may have been inspired by the Kleene star used in regular expressions, but I have been unable to find any explanation of its origins in either TOPS-10 or Multics so I cannot confirm that idea. There is a family resemblance between the two, but they are different. The Kleene star is a decade older and more flexible than the two asterisk syntaxes discussed above. It takes as an argument a set of elements, and means a name composed of 0 or more of those elements. For example, (ab|cde)* stands for all names which are combinations of the elements ab and cde (including the empty string): ab, cdeabcde, etc.