First of all I'd say that Python is a better way to start programming. Don't get me wrong, I'm doing hard core JS as my day Job it's fun. That is, if you're really pain resistent. As she presumably never did any real programming before, she will get frustated really fast with JS and for sure with the DOM and all the cross browser issues.
I'll give you some pro's and cons for both JS and Python:
PRO for beginners
JavaScript:
- Cross Platform even on mobile
- Upload and show friends
- Easy to use for simple things
- Incredible easy to have graphical stuff done with the DOM
- Powerful concepts can be learned from the start (prototypes, first class functions, closures)
- Good documentation for some browsers (mostly by Mozilla)
- Lots and lots of really great books
- Many great JS talks my Douglas Crockford on YUI Theater / GoogleTechTalks
Python:
- Cross Platform without browser
- Real access to the system (files etc.)
- HUGE standard library helps you to have fast progress when learning
- Helps with coding style by forcing indentation
- Classes and all the other classical structures
- Good mix of OOP and functional stuff (e.g. list comprehensions)
- EXCELLENT official documentation
- Good debugger and good IDE support
CONTRA for beginners
JavaScript:
- Cross Browser mess Bugs, missing features in older browser versions
- DOM is the WORST API in existence
- jQuery (making people use above API without understanding it)
- Complex topics: Hoisting, Closures, Prototype lookup, type coercion
- Differs vastly from most other languages
- Many books are to be read to understand all the quirks and issues above
- Inconsistent Debuggers (WebKit and FX are good, rest sucks)
- Hardly any decent IDE
Python:
- No "instant show" effect, takes a bit longer to have a blinking thing on the screen
- Portability across Operating Systems might be a bit complicated at times
I'm not biased towards Python. I love both languages, but when I had the choice to learn programming again, I'd choose Python as my first language. Where you need one line of Python, you need 10 lines of JavaScript for really really simple things.
Learning how to program should first be about understanding program flow and concepts, not about re-implementing sorting algorithms and stuff because the language does not provide it. It's also good to have a huge arsenal of libraries at your finger tips and a consitent documentation at hand when you run into trouble. Python programs are quick to write and easy to read, further helping beginners to see results.
Again, JavaScript is a beautiful language in its own way, but it is also a hard and complicated one. Python is also beautiful but it is a lot "nicer" as a programmer and especially a beginner :)
Sure JS is possible as a first language, so in case you are an absolute JS pro and got enough time to help out your girlfriend, go ahead. In case you are missing out on one of these two things, better choose Python as it will be easier for her to make progress on her own! This not only gives her the feeling that she can accomplish programming things on her own (which will also allow her to better understand your coding mindset) but it will also give you too more time to spend doing non-debugging stuff ;)