Always wanted to learn how to code? You're interested in building apps or websites but don't know where to start? Or you think this will cost money? For that purpose there are many guides available online.
Which language?
There are many programming languages. The best know is PHP, which is used to build websites. But there are also many different languages used to write applications for an operating system that's running your smart-phone, tablet, laptop or desktop computer. Learning to write applications is less difficult than it seems. As with many things in life, it's starting to learn something new which is the hard part. Once you're on it, you'll be learning fast.
So decide upon what the first thing you want to approach.
PHP
Great for websites. Most websites are built with PHP, from Facebook to Moneyless.org. It's not the "cleanest" language though and it has some quirks. But if you mainly want to build websites this is your choice. Also note that highly prevalent platforms such as WordPress and Drupal are built in PHP, so if you want to quickly get started building your own website these would be a good choice.
Python
Python was created by a Dutch mathematician. It's very clean and organized. A great language for learning how to code. You can
Ruby
Ruby is beautiful. But not used a lot.
JavaScript
JavaScript is well known to make things move on webpages, inside the browser. In recent years it has grown into a widely language, especially with the advent of Node.js, which lets you run JavaScript on a webserver as well so you can build entire websites with it. It's a great language to learn, but it can be hard. "Callbacks" are very common, which make it hard to grasp. It's not the best language to start with, but once you have the basics nailed down it's a good second language if you want to build websites.
Java
Funny enough Java doesn't have anything to do with JavaScript. Java is very common, it runs on most modern machines and most Android apps are written in Java. Consequently it's a good language if you want to build apps, or if you want to work in big corporations, where the language has become very popular.
Free resources
There are a lot of platforms to find good resources to learn how to code.
Codecademy
A good platform to learn to write code is http://www.codecademy.com. There you can take courses on basic HTML, CSS as well as Javascript, PHP and Ruby on Rails.
Youtube
You can learn anything on Youtube these days. A query for Learn Python gives me 778,000 results today, number #1 was created by GoogleDevelopers. So definitely quality there.
Through gaming: CodeCombat
CodeCombat is a free software role playing game that will teach you programming while playing.