Hey,
When learning programming, the language hardly matters: The main thing is wrapping your mind around the logic. Once you understand how things generally work, it's extremely easy to pick up a new language, as all languages follow the same logic. Sure, they each have their own unique traits, but once you learn one language, picking up another is easy as pie.
Personally, I started with basic HTML and CSS, even though yes, they are markup languages, then went to PHP and spent many years studying PHP, then got into Java, JavaScript, jQuery, C, C++, C# and now ActionScript3. Not saying that's a path you should follow, but it just goes to show that learning one language makes working in another fairly easy. :)
Now then, for your first real programming language: C++ is the most extensively used, and forces you to write proper code which is good. On the flipside, actually making a non-console (i.e. visual/GUI) program is fairly difficult in C++ unless you nab some classes. In some ways, I would say C++ is fairly complex. Normally, I would recommend C# but due to the mac thing, that one is out.
If you start with C++, start at the very beginning. Command line interface apps only. Start with looking up how to code Hello World in C++ ( make sure to find a C++ tutorial, as C and C++ have some differences in how to input / output text ). After you get text output ( like hello world ) to work, you should look into text input. Make a simple calculator where you give it 2 numbers and have it give you the result of adding the two together. Afterwards, you can try to even make the action you want the calculator to perform dynamic.
Next up would be learning about variables and variable types. Learn which variable type to use when. As a fun task, make a small program that reverserses any text you type in. Or have it apply ROT 13 ;)
The thing with C++ is that it gives you a incredible amount of power, all the way down to messing around in the machines memory, which many of the higher level languages don't allow you to do. Pointers are a blessing, but they can also be really complex and mind bending. But it's always good to know how to use these things in case you ever need to.
Another suggestion would be to start with LUA. It's platform independent, easy to learn and incredibly fast. It is also used as a scripting language in video games. ( For example, WoW addons are coded in lua ). While I personally have not worked with it, I keep hearing really good things about it, and if I had the time I would definitely check it out myself.
Ah yes, I'd like to add that, when learning ActionScript and the FLEX framework recently, I stumbled across the Flex in a Week tutorial series. I think the basic Object Oriented Programming lesson they offer is really helpful in grasphing object oriented concepts, which can be applied in any language that supports OOP, not just FLEX. So I would suggest giving it a looksie even if you don't plan on working with FLEX: http://www.adobe.com/devnet/flex/videotraining/_jcr_content/bodycontent1/modal_12.content.html ( For the general overview of all lessons: http://www.adobe.com/devnet/flex/videotraining.html )
Log in to comment