The big thing to consider is that programming, like any other art or skill, takes a lot of time to be good at. Even more time to be "great" at. Most will agree that in order to be an "expert" in something, you'll have to dedicate about 10 years to it. Obviously, you can achieve that in a shorter time-span if you work harder/longer but just keep that in the back of your mind.<p>That being said, a guy with a background in math hanging around Hacker News could very well easily learn programming.<p>I would start with general web markup: HTML & CSS, as they're (relatively) easier to pick up and much easier to teach yourself (as you can look at source code and what not).<p>If you want to learn programming, I say don't worry about the language that much. What you'll find is that you don't really learn too much about a specific language; rather, you will want to learn about overarching concepts in Computer Science (iteration, algorithm, conditions, objects, functions, etc). So, pick a language just knowing it's simply a tool for you to get that material.<p>PHP's popular. So is Ruby on Rails or Python. After learning one and excelling at it, it's not that hard to pick up the semantics of another language. I started with PHP.<p>----<p>Edit: Forgot book recommendations. For an absolute beginner, I think these books are awesome. They assume you're starting out at the very beginning and take you step-by-step, rather than just being a "language manual/catalog" like most books out there:<p>- PHP for the Absolute Beginner
or Python for the Absolute Beginner