yeah, i am starting with python. the whole stack is my 5 year plan. i am ambitious like that.
but on a different note, as far I can tell (and granted I am brand new to this) does "coding" as a general term necessarily imply a scripting language? can you not "code" a database or is there a different verb for that ("implement")?
We're pretty open-minded with regard to what coding is.
If you use something like Django, you won't even interact with the database directly. I don't know if there is a coding-ish word for "writing SQL queries," but there's certainly more than SQL in database land.
Honestly, my number one tip for learning this stuff is just to read constantly and write code whenever you can. Also, sometimes you need to do projects that don't end in a product you can sell in order to learn new things, so get used to throwing stuff away (not literally, of course, but certainly from a revenue standpoint).
Overall though, knowing how to code (and having learned for the "right reasons") is hugely helpful in dealing with Software people in the future. I suspect you knew that already :)
On your original note, "learn the LAMP stack" is, IMO, not especially ambitious for 5 years. Get a good CS degree (3-4 years) and actually try to learn the material instead of just passing, and learning the specific technologies is just a matter of skimming the manual as appropriate. Yes, it is entirely possible to get such a degree and have no practical clue, but that's a symptom of never doing anything outside of class.
yeah that makes sense. I have several projects I am working on in tandem which have been insanely frustrating, but once you can actually make something work it's easier to stop doubting yourself. i guess the eventual goal is a complete end-to-end implementation of a large web project. if 5 years is too much time, that is great news.
There is some perl adage about a good programmer being a lazy programmer. Learn the shortcuts. I think python is a pretty good one, so might be emacs.
I think you generate code. Programming and implementing are probably better verbs, in my opinion.
I have worked with a CS graduate that struggled with practical application. And programmers that can't write from scratch.
Rudiments such as coding paradigms get you a long way, so does cut and paste and a bit of glue code. Reuse where possible.
You can get lost in theory, you can learn and learn more and more; but you can also thrive on a minimal subset of something larger - like a programming language. You can't learn everything!
You can understand a language without speaking it - and possibly get by with grunts, nods and hand gestures.
I should add that learning to code != learning the LAMP stack. Hopefully she'll take her own advice and learn the fundamentals first.