There are many, many reasons to learn to program. Of course, motivations vary from person to person, but below are just some of the reasons you might wish to learn.

First of all, it's one highly-paying job. Programming skills are in huge demand all over the world, and now the computer is so firmly embedded in our business and personal culture, this demand is set to increase. Software engineers are in a way the lifeblood of the new economy, and you're very unlikely to have problems finding a job.

Even if you don't wish to work as a software engineer, there are many reasons to have programming skills. It's an incredibly useful skill to have, especially if you've always been interested in computers. Wouldn't it be great to get under the hood of your computer, and have a fiddle about? You can make that box o' tricks do almost anything you want, whether it's for your own use or someone else's.

As well as the usefulness, there's the sheer interest factor. If you enjoy solving problems - and maybe creating something to help someone else solve their problems - then you're probably going to enjoy programming. Code on a page that you wrote, and that does exactly what you want it to do, is one of the most beautiful things in the world.

Last but not least, there's a whole world to be appreciated going on under the hood of that computer. If you like smart gadgets and clever doohickies, then you're going to really enjoy seeing some smart software in action. When you have an understanding of programming and its nuances, you'll find you appreciate the work of other software a lot more. And if you don't, you can just build a better one, right?