There have probably been ten a penny of people writing that title and asking what I'm about to ask, so I apologise. However, I would like someone who has the knowledge and experience of computer programming to either encourage me or shoot me down and save me some time and money. I have been interested in learning a computer language for a while. Six months ago I nearly spent £4000 on a C# course that promised to have me Microsoft certified within 12 months. I was convinced that it was possible because I understood the concepts in each book that I read. However, a developer on a similar forum warned me off courses such as the one I was about to embark on and made it clear that .NET was complex and required years of experience before one might even consider themselves competent. The desire to learn did not subside despite the fact I put my aspirations to one side and decided it was simply not going to be possible to understand C# and the .NET environment without tuition. Recently, I bought a beginners book for writing iPhone applications. Despite the fact that I'm sure the iPhone environment is complex and rich, the book again made me feel like I could do it, and the Xcode/Cocoa Touch environment in particular seemed more intuitive than what I had briefly grappled with in Visual Studio. Which brings me to my question: with work, research and dedication can someone with no computer science qualification or background teach themselves (without a tutor) Objective C and, ultimately, a programming environment (in this case Xcode and Cocoa Touch)? If this is an unrealistic aspiration then I'd rather save myself the cost of a Mac and avoid the inevitable let down when I ultimately discover I can't achieve what I want to achieve. I do not have delusions of grandeur and understand that there will be concepts that will be challenging, but is it a surmountable task for someone with a bit of intelligence but no prior experience? I see it as a hobby to begin with, but the iPhone also provides a realistic outlet for my work if I ever produced something that was good enough. Books will always make you believe it's dead easy, so I want someone who is a developer or who has the experience to lay it on the line for me. Again, apologies if this has been asked a thousand times before, but I personally like to know that if I put the work in on my own that anything is achievable, rather than always be mentally limited by the fact that I'm only ever going to be an amateur unless I go back to university or something (which is not an option). Thank you for any advice.