A lot of it is a time and effort thing. You won't necessarily be behind them, and if you're 16, you probably haven't even missed any chances for formalized education on it, either. (My HS had precisely one CS class offered, for example.) The real thing is that a lot of those people tinker with computers for fun and/or program for fun and, like, that's their primary hobby. You probably won't catch up completely with the "primary hobby" folks unless you do that yourself but, frankly, you really don't need to. Besides, I've found that, if programming makes sense, you will have an easy time until you get to the really hard concepts that they have classes devoted to in college.
As was observed earlier Java is a reasonable place to start. It has a lot of boilerplate that it foists on you, but there are some reasons that it is often a teaching language. Also, making things with a graphical user interface is relatively trivial, which is an advantage over just about every other language out there, for toy projects, IMO.
I'd also recommend Python. It's powerful, but it reads sort of like plain English. It doesn't have the boilerplate that Java does, for one thing. Being a scripting language, it probably scales worse than Java, but that doesn't matter except for production code.
The radicals on the internet will tell you that you ought to learn a Lisp dialect (Scheme is a good choice, I hear) because Real Programmers know Lisp and it makes you a better programmer. The logic is sort of like that of "learn Latin because it will make your English better." It might be true, but functional programming is pretty cool in concept and rarely used for anything but toy functional programming projects. (The joke when I was in school was that the primary use for ML is to write ML compilers.)
Finally, come up with a not-too-ambitious project that actually interests you. Something you think you can achieve and you'd like to have. I find I don't actually practice a language without such motivation, and the only ways to do that are to take classes (have to use it) or come up with an application you really want and then work on it.