i have decided to learn java and go from there.
Not what I'd do, but that's what makes the world interesting. Java is certainly an acceptable starting point.
I mentioned Design Patterns in between my flaming. This is a means of cataloging and documenting the lessons that others have learned. It saves us from having to reinvent the wheel when we run into a similar problem, and it gives us a better likelihood of success because their downfalls are documented as well.
It's also a little bit like getting ready-made experience in a can: if you know this stuff, it's almost as if you'd solved these problems on your own. They also provide a common vocabulary so that developers can communicate these ideas succinctly: "you might do this by defining an interface and a Factory Method to return the appropriate implementation".
People have developed these in many languages, now. Here's one catalog for them in Java; you can easily find other java sources, as well as for other languages.















*cough*i'mnotjealous*cough*




