What exactly is a front-end developer? how is it different from a back-end developer? And where does a web designer fit in all this?
I ask this because most front-end developer positions require that you know a lot of different server-side languages like Python, Ruby, PERL.
And why is Object-oriented scripting so important?
First is the designer, who's responsible for all the graphic work/creation (most likely in photoshop). This is the main UI/UX role where they're responsible for, as you said, creating a visually attractive and highly usable interface.
Next up is the frontend engineer who takes that and codes up the equivalent html, css, and javascript to interface with the backend, which would obviously be built by the backend engineer.
Now of course some of these responsibilities may overlap in some cases, for example I'm a front and backend engineer, but usually don't handle the actual design work, and there are some awesome designers out there who can also actually code up their work.