I want to learn programming, from scratch, I have no knowledge of programming itself but am very competent with a computer. I have a MacBook running Leopard and boot camp with XP. I can learn fast and eventually want to go on to write apps for the iPhone/iPod Touch platform and maybe even games. What programming language should I learn to start with? Preferably not the one that is the easiest to learn but the one that is the most useful. Thanks.