<p>Well I’ve been doing this for nearly seven years. I’ve mastered HTML, CSS, and Javascript, for the most part. I’m on my way to mastering PHP.</p>
<p>It’s certainly not difficult; I’m completely self-taught. I haven’t taken a single course or read a single book. I just caught on by visiting sites, looking at how they did things, and pretty much copying things. I eventually developed my own understanding.</p>
<p>There’s also StackOverflow.com, a Q&A site for programmers. Once you catch on to their interesting take on Q&A, it’s a very helpful community.</p>
<p>But experience does you well. Even though I’ve mastered those languages, I have a long way to go, and you can never really master all of programming. It’s constantly changing. You need to be able to catch on to the new developments quickly. For example, if you’re going to do HTML and CSS, you need to be learning HTML5 and CSS3, the newest versions of the languages. It was harder for me as I had to amend my knowledge of these languages in light of the releases.</p>
<p>But I only do web development. I’ve only just started doing apps. The good thing, though, is that once you have a grasp of one programming language (for me it’s PHP), you’ll more than likely grasp others very easily, since they’re all very similar.</p>
<p>And yes, Android apps are written in Java and XML, but there are plenty of services that allow you to write them in HTML5 and Javascript and do the conversion for you into Android, iOS, and even Windows formats. One such service is Phonegap. ;)</p>
<p>It’s also easier to learn web languages as they usually don’t have to be compiled. You can just write PHP and observe the outputs (if you assign any) without any other effort, as PHP is interpreted by the server. That is, the code you write is executed before the page is submitted to your computer to be viewed. This is why PHP is used for secure transactions/database work.</p>