My opinion of Java is that it is a language designed for lazy programmers. Its almost ironic at the moment since the project I'm on at work requires a heafty amount of java programming :( If you learn C++ first (and well), you never need to pick up a Java programming book (just need to look at the documentation on java.sun.com for reference). Going that route also teaches you one very important thing: OO programming is useful, but many times it gets in the way of what you really want to do and a functional or structural language would better serve the purpose. This is one of the reasons why C/C++ is far more versatile than Java, Basic, C#, etc. If you decide to become a software engineer, you are signing up to have a 1/2" piece of silicon tell you exactly how stupid you really are for 8 hours a day, 5 days a week Zac