An additional warning about using C, C++ and other similar langauges..... The libraries.
The good .... The libraries save you tons of time by making available prewritten modules that can do a lot of work for you. No need to "reinvent the wheel". Just call the appropriate function/method in the correct library and off your program chugs. Many times it may not even be necessary to know what's in the lib, only that you know what data to send it. (Super simplified analogy!)
The bad (IMHO) .... The libraries are typically written by a coding guru or group of gurus. Some libs are simple and do simple jobs. Others are very indepth, read like egyptian hyrogliphics and do "magical" things to data and hardware. The libs are important to know and use. Many times you have to use non-standard libs written by other developers so it may be necessary to read through them and their docs. As a newbie I found many of them hard or impossible to read for some time. It was a great frustration that I wasn't warned about when I got started and I think it could be one of the road blocks that crash many a newbie.
Each OS has it own libs that you need to know and access to make your code hum and keep it compliant accross platforms. A lib that does a graphic in linux, doesn't necessarily apply to Amiga, MOS, MUI or windows and vi-see-versa. You learned a lib that came from AmigaOS2.x, but you may have to relearn the lib for OS4, or even a totally different lib if the program is going to try and use MUI.
So just keep in mind these extra parts and you'll do ok. I really hit a frustrating wall when the libs showed up. I thought I was just going to write all my own code as I used to do in ASM and basic. Nope, those darn pesky libs are going to be part of your C/C++ world. I can only suggest that you get good with the programming syntax. Be a great reader. It's much like reading a novel you've never seen before. Learn your language well and no matter what book you read, you will always be able to understand the story.
@thread
Thanks for some other good tips and suggestions I think I'll use a few of them myself.
Plaz