As someone in what feels like your exact same boat—though a bit older— I'd say just pick one. It makes the most sense to me, personally, to pick Python or Ruby or PHP (Laravel or similar) and learn how to actually program. I think choosing this path will introduce you all sorts of other stuff — rest, user input, security, modern front-end tools like LESS, etc.<p>Even sticking with WordPress could yield a good result for you. WordPress and PHP are constantly criticized for a number of different reasons, but the reality remains: WordPress and PHP occupy a huge chunk of a huge market.<p>I've personally identified this to be one of my biggest failings — not being able to actually program. At first I thought it was about language, and so I tried PHP (about 100 different times), I tried Ruby a few times, Python, and finally, JS. It turns out that all of these languages require the exact same thing — they require you to think like a programmer.<p>The furthest I got with it was with Ruby. I went through the entire Ruby course at Codecademy, read a lot of the Bastards Book of Ruby (fantastic), and even used Ruby to get through some Project Euler projects. By the end of a few good months of moderate input, I was absolutely still not a programmer, but I felt like I was beginning to think more like one.<p>So that's one piece of advice — if you want to learn to program, I think you actually need to decide on a language/framework and settle in and learn how to program. Learn how to think like a programmer, which is to say that it isn't about syntax and how each language does things slightly differently, but rather, is about process and patters and abstraction.<p>The other piece of advice is to be careful with freelancing. Paying the bills and learning to code don't necessarily go hand in hand. Spending 4 nights a week writing a WordPress theme for a client project really won't make you a better programmer. If I've learned anything, it's this. I've made some great supplemental money doing freelance work and I've learned a ton about WordPress, but I often think about the time I've put into it, and wonder what if I'd put that same time into learning and working on projects to further my ability to actually program.<p>And finally, the last piece of advice — try stuff out. Try JS, Python, Ruby, WordPress, Drupal, try setting up a VPS at Linode. Try everything you can to get sense of what feels right. I think that will help with your decision as well.<p>Good luck!