Protocols for programmers
Communication protocols are typically optimized for speed and reliability --- not for people to understand.
This gives rise to, e.g., sockets programming.
Modern language platforms like Java, VB, Perl, and LISP support simpler communication protocols.
These are most recently being extended to become object protocols, through e.g., RMI and CORBA.