The GNU "nano" text editor is named by analogy, after an earlier (non-Free) editor with a very similar UI, called "pico". The name puns on SI prefixes: "like pico, but a bit bigger."

"pico" was derived from the email client Pine: it's the built-in editor Pine used for composing emails, pulled out and turned into a standalone tool. Short for PIne COmposer, as far as I know.

And Pine was _also_ named by analogy, after an earlier email client called Elm.

So "nano" has _two_ instances of "name a program by analogy to a previous one" in the history of how it got its name. (Not counting the step in between where 'pine' gave rise to 'pico', because that wasn't by analogy.)

Can anyone think of a longer chain than that, involving three or more generations of naming-by-analogy? Or is "nano" the record holder?

@simontatham GTK was the GIMP ToolKit, which is the GNU Image Manipulation Program, where GNU is GNU's Not Unix, where UNIX was named after Multics

Multics → UNIX → GIMP → GTK

@anselmschueler but most of those steps are referring directly to the name of the previous thing as one letter in the acronym, which is similar to
the pine → pico step which I'm not counting.

I think only the Multics → Unix step can reasonably be counted as "by analogy" in the same sense I meant, like "elm is a tree so pick a different tree", or "pico is an SI prefix so pick another SI prefix".

@simontatham How about:
F# is named after C#
C# is named after C++
C++ is named after C
C is named after B

@anselmschueler hmmm, I _think_ I might be prepared to count three of those steps as different analogies! C → C++ is just mentioning the name of the older thing, and is disqualified on the same grounds as pine → pico. But:

B → C (pick the next letter of the alphabet)
C++ → C# (pick a similar-looking punctuation symbol)
C# → F# (pick a different musical note)

The last one needs some interpretation, because musical notes are _also_ letters of the alphabet. But the # suggests music, and the fact that F# and C# are the first two sharps in the key-signature sequence reinforces the music interpretation, so I think that one gets to squeak in as different from the purely alphabetic B→C.

(I hadn't realised I was going to spend the rest of my day ruling on awkward edge cases, but I suppose I should have!)

@simontatham @anselmschueler
But C++ is an incremented (bigger) C so surely exactly analogous to pico/nano (even if it has a C in it)?

And if you buy that C# was supposedly C++++ with the plusses in a pile so the same logic applies.

Wish you hadn't started this?

@johnsculpture @simontatham @anselmschueler yeah, C++ doesn't just use C's name, it does a play on words within the language itself, by using C's way of writing 'the next thing after C'.
@johnsculpture @simontatham @anselmschueler Isn't the # just ++++ written in two rows?
@thymos @johnsculpture @anselmschueler I assumed it was just two +, crossing over each other. But maybe!

@simontatham @johnsculpture @anselmschueler Could be that too!

I checked Wikipedia and apparently it comes from the musical notation symbol for sharp, with the intended meaning of "a semitone higher" of C.