For anything basic, you can probably start learning to code from reading a few books. However, if you are responsible for anything of sizable complexity, you need a deeper understanding of programming and the proper math background. Let's face it, even if you succeed at writing a popular program, no one will use it if doesn't use a pragmatic approach (for instance, using cubed or exponential sorting algorithms, or, the big no no on iOS: running out of memory because you coded the program for a desktop instead of a mobile run environment). Successful programming is largely about making the right design decisions before you even begin to code. You also need to test your code thoroughly in order to maximize the efficiency and security of your programs. So, while you may able to get away with writing a couple hundred line program without much experience, that will be less possible as you progress onto complex programs and challenging to implement algorithms. If you are not writing anything terribly complex, there are plenty of free online guides that can help get you started. I can't really tell what is right for you since I didn't get a sense of what you intend to do.