At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.
Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus.
Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
If you're referring to is the front- or back-end of software, commonly the front-end is the client side (what the user interacts with), and the back-end is the server side. A web browser is front-end, the web-server itself is back-end.
"Front end and back end are generalized terms that refer to the initial and the end stages of a process" http://en.wikipedia.org/wiki/Front_and_back_ends.
For example a compiler it can be divide in stages (it have tons more):
preprocessor -> parser -> intermadiate code ->optimized intermadiate code -> machine code
here u can break this in two programs two: a front end and a back end(in wikipedia u will see its in 3, but u can do in 2 too, i just want to point ur question).
the first one will generate the optimazed intermadiate code
the second one the machine code
its like u have two things and the output of one its the input of the other one. In this example it makes totally sense, the front end will allways generate a code that the back end can read ats it input, so it makes designing program a lot easier.
gcc its done in this way(http://en.wikipedia.org/wiki/GNU_Compiler_Collection). So if u want to write a new lenguage u just make an front end and use gcc for the rest, its quite more easy, u just have to do a little part of the work and use something already created and tested.