Programming is widely regarded by most non-technical people as being incredibly difficult to learn and understand, and is only for super geniuses or geeks. While there is some validity in that programming can be rather difficult, it is not a super hard practice that takes months or years to learn. Of course, practice makes perfect, and those added months and years can help you to refine your programming skills and be a better programmer, but starting to learn is not difficult and anyone with internet access and a computer can do it.
Many programming courses in school would have you start learning by doing Visual Basic or C#, or some other relatively simple to learn and easy to grasp language. Programming experts disagree, and believe that students or people willing to learn should start with a high-level language such as C++ or Java, to get concepts of Object Oriented Programming, known as OOP, and understand classes, methods, and objects.
It is best to learn with technical books, as they are typically quite comprehensive, and have various exercises to work on, examples, and snippets of code to look over. They are, however, typically quite expensive, ranging in prices of twenty dollars to over sixty dollars. This may deter quite a few people and force them to learn from the Internet. While this is not a bad approach, per-say, you will not get the same learning experience that you would get out of a technical book from your bookstore or local library.