views:

315

answers:

4

Is it just me, or are the names Alice and Bob used often in connection to programming, emailing, encoding...? Where did these names come from? What is their relation to computers and programming?

+15  A: 

The names Alice and Bob are commonly used placeholder names for archetypal characters in fields such as cryptography and physics. The names are used for convenience, since explanations such as "Person A wants to send a message to person B" can be difficult to follow in complex systems involving many steps. Following the alphabet, the specific names have evolved into common parlance within these fields—helping technical topics to be explained in a more understandable fashion.

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

kubi
cool. so it's not actually specific to programming...
froadie
+1 because it also reveals to us some potential good practices (using names not abstractions for readability) and not just "because they are common English names beginning w/A and B".
Jim Leonardo
Never knew you could get 14 upvotes just by quoting Wikipedia :)
George Edison
@George No doubt. Easiest "Nice Answer" badge ever.
kubi
+1  A: 

I suppose Alice and Bob are better than Alpha and Beta.

cf_PhillipSenn
+4  A: 

I believe these names are used because they are common names for the first two letters of the alphabet. Another example is Charlie; in security questions, Charlie is often attempting to eavesdrop on Alice and Bob's comunications.

Paul Williams
Rarely if ever -- an eavesdropper is normally Eve.
Jerry Coffin
+3  A: 

I have a background in telecom. We talk a lot about the "A side" (caller - the originator) and the "B side" (called - the destination) of a call. When someone in telecom says "... and the A side did this or that...", we all understand it's the originator of the call who took action.

Now that we are migrating to voice-over-ip, you can see the same Alice and Bob (the originator and the destination) used in to illustrate the SIP RFC 3261 (http://www.ietf.org/rfc/rfc3261.txt).

This is the first few lines from the very first figure from the SIP RFC 3261 (note that the proxies are also A [Atlanta] and B [Biloxi]):

                 atlanta.com  . . . biloxi.com
             .      proxy              proxy     .
           .                                       .
   Alice's  . . . . . . . . . . . . . . . . . . . .  Bob's
  softphone                                        SIP Phone
     |                |                |                |
     |    INVITE F1   |                |                |
     |--------------->|    INVITE F2   |                |
     |  100 Trying F3 |--------------->|    INVITE F4   |
     |<---------------|  100 Trying F5 |--------------->|

So

Alice = the A side of a call, the originator
Bob = the B side of a call, the destination

I guess you can extend that to all types of request/response systems. Alice is the source, B is the sink.

chr