About PurpleAmethyst

8 bit wise I'd go for 6502, because it is so simple. There's also modern versions like W65C816S. For more modern go for ARM, and Raspi is a really convenient way to get that. The original ARM designs were inspired by the simplicity of the 6502.
Some Z-80 might be a good place to start if your final intention is to learn x86 as they are somewhat historically related architectures. No harm in learning some X86 either.

My current favorite for C/C++ coding is glfw (http://www.glfw.org/). It supports OpenGL > 3.0 out of the box without any complications, unlike SFML or SDL.
I'm also planning on looking at this when I get a chance: http://oglplus.org/

@Daaark - I was just sharing my experience of things, yours is obviously different. My experience has mostly been at the casual end of the market, so file size may be more of an issue. I can't imagine downloading 1GB OTA, and we were packaging for OTA downloads.

I guess I was learning on limited resources too, which probably explains my attitude. I still think wasting space and energy is a bad idea
I doubt a producer, publisher or carrier would tolerate that size of binary - 180MB is pushing it in my experience and usually leads to office arguments.
Mobile dev is exactly the reason I have problems with the "Use everything you can!" attitude.

Programming attitudes like this makes me cringe.
I've seen horrid things happen when people take a casual attitude towards using memory and CPU efficiently - It leads to ugly botched code. I could name games but I'd probably get a legal letter.

If file associations are correctly set up I would recommend using OneJar (http://one-jar.sourceforge.net/). I've used this for prototypes. It can even load native libraries such as LWJGL.
Other solutions you could use are:
Native code compiler to create an executable, such as Excelsior JET (http://www.excelsior-usa.com/) or GCJ (http://gcc.gnu.org/java/)
I think there are tools to wrap a JAR in a Windows PE (EXE) file too. (http://jsmooth.sourceforge.net/index.php)
Create a executable that shells out to Java rather than using a batch file.

I would suggest:
Taking it one step at a time.
?Start coding simple games right away. Maybe implement a version of a simple game like hangman - IIRC that is the first game I ever coded on a computer!!!
General Computer Science
Data Structures and algorithms (This is very important)
Object oriented design
Linear algebra
A few programming languages other than just C++ (eg Python, Java, Lua, JavaScript/ActionScript, Haskell, Ruby)

Colleagues who think that writing their own custom C++ string classes rather than using a well tested library is wise.
Missing or misplaced commas and brackets - I have spent half days utterly confused by these stupid mistakes that I made, every coder no matter how experienced has done this at some point.

I've used Marmalade professionally on projects I've worked on. I think Marmalade is a bit more low level then you're expecting - It will do all the things you want, but it is very much a portability framework and hardware abstraction layer. Marmalade is not a magic bullet either, you will still have portability issues. Android suspend and resume can be an issue with OpenGL, threading was non existent (I think it supports it now) and the Marmalade layer caused sound problems on various devices (Kindle Fire IIRC). Video playback was a bit crap too.
There is a good discussion of the pro and cons of Marmalade on Stack Overflow (http://stackoverflow.com/questions/7555134/native-android-ios-development-vs-marmalade-sdk), which pretty much matches my personal experience with Marmalade.
Marmalade is a good option if you are an indie and want something that just works without too much messing around.
I did some research at the into to cocos2d-x but found it did not suit our purposes at the time. It is a more high level object oriented framework, but I don't really have enough experience to comment on it.

[quote name='Serapth' timestamp='1354636629' post='5007106']
Its amazing that so many programming contributions came from so few people
[/quote]
Not to burst the balloon or start a row but isn't it amazing that many are middle class, rich, white, straight men?

[quote name='game of thought' timestamp='1354628344' post='5007069']
the reason i chose to learn it is that it is structured, so i can improve my programs structure.
[/quote]
What do you mean by "structured" here compared to the other languages? Are you talking about enforced semantics and syntax? If so, go with Python.