MdX MaxX wrote:
A week from now I'll be done with my junior year in high school. I don't have anything specific planned for the summer.
In college I'd like to major in Computer Engineering or Programming, and I think it's about time I started to learn a language.
I skimmed through the "Where to Start" sticky, and I think I want to begin with something like C++ or Java. My question is, where should I begin the learning process? What books should I buy; what tutorials should I read online? What are the best tools for the job?
The closest I've gotten to programming is working with INI files in a music game simulator called Stepmania. These INI files control visuals, animations, sequences of screens, and things like that. Not very in-depth, but it's a start I guess.
Other than your basic a href and img src tags, I know no HTML. Should I learn that before getting into programming languages?
I'm interested in LUA. How hard is that compared to other languages? I'm thinking it's not extremely difficult, because my little brother plays this game called Roblox and uses it a little bit.
Any other tips or advice is greatly appreciated, too!
I'd personally suggest C++ first, if you want to do basic programming, then Java, since Java is essentially an offshoot of C++ and many of the things you learn in C++ can carry over to Java. You can learn Java first, but it may be more difficult to understand at first, simply because java uses classes and object-oriented programming, whereas you can learn general C++ without having to understand classes and object-oriented programming right off the bat.
Another idea would be to venture into Visual Basic. It's kind of like C++, but this way you could learn to create Windows applications, whereas learning C++ for Windows (Visual C++) can be intimidating to some people, especially if they haven't programmed much, or at all. Visual Basic.net is pretty easy to pick up and you can get the software (the Express edition of Visual Basic.Net 2008) free from Microsoft's website.
As for books, I've liked the "SAMS Teach Yourself" series of books for starters. The "In a Nutshell" books by O'Reilly books are also good, but they are also very detailed and can be a handful at times (the Teach Yourself series gets you started pretty quick without much theory and details as to how things are working, it's to just get you started and familiar with the subject matter).
Overall, I think Visual Basic or C++ is a good start. C++ may take more time, but several languages (such as Java, PHP, etc) are similar to it and what you learn in C++ can help you learn other languages. Once you figure out how programming works, it's pretty easy to learn other languages because it's just a matter of learning syntax at that point ,for the most part.
I've been programming for probably the last 20 years and have learned many languages, but started back in the old DOS days with QBASIC/BASIC-A and moved to Visual Basic for Windows 3.1 and 95, and finally have moved onto more interesting things like web design with HTML, PHP and MySQL, ASP, and Visual Basic.net.
It comes down to this: C++ or visual Basic.net are good starting places for writing computer programs. HTML is good starting place for writing web pages / web applications. Then you can progress in whatever direction you choose.
There really is no right or wrong answer here. It's just what you feel comfortable doing. I personally don't like using Java, and much prefer C++ over anything, but Visual Basic is nice too because you don't have to manually create the user interface with code, since the programming environment does this for you for the most part).
Good luck and a Google search will help you I'm sure in whatever language you choose to use.