1. An intermediary computer that does set-up and filtering for
another (usually more powerful but less friendly) machine (a
"back end").
2. Software that provides an interface to another program
"behind" it, which may not be as user-friendly. Probably
from analogy with hardware front-ends that interfaced with
mainframes.
[Jargon File]
Nearby terms:
Frobozz Magic Programming Language « frogging « Frolic « front end » front-end processor » front side bus » frotz