If you want to learn how to create bloated and slow applications and just how to use frameworks and crappy APIs, then please do start with web dev. The world really needs another social "service" or task list manager.<p>If you want to learn programming and how the machine works you start with C. The best part is that C is a small language and you only need a single book to get started. Once you've got the hang of basic principles, you write little toy programs, web server, proxy server, parsers, etc. When you learn C you also focus on what's important, which is solving the problem, and creating instructions that align with how the CPU works, and you avoid all these traps of wasting time learning how to scaffold abstraction (like OOP) instead of writing code that actually does something.<p>During this early period in your learning you should be focused on this, and not read arbitrary blog posts or watch arbitrary talks on what's the "best" programming practices... You should not be frequenting Stack Overflow to pick up bad habits from seemingly correct answers to the wrong questions. Remember, you don't know shit, who are you to judge what's right or not in an accepted answer? You will be brainwashed by all this crap out there.<p>Now, depending on why you want to learn programming, you can start heading in that direction. The way to really learn, is bite off more than you can chew, but it has to be a project you really care about. You will learn as you go. I advice you not waste too much time, especially on "tutorial videos", just copying code someone else wrote will teach you a lot less than figuring out the correct code to write on your own. It's incredible how helpless people learning today have become compared to how things were figured out in the old days. When people actually learned how to write an interpreter or something like that just out of reverse engineering another. So, don't sell yourself short.<p>You have to think about this kind of like how most people get confused when it comes to all these contradicting articles and research on health issues and what you should or shouldn't eat, the best exercises for this or that. All the shit people say and write about programming, it's kind of like that, only worse.<p>Pragmatic programming is actually very simple and straightforward, I have been programming since I was 12, and at this point, I would call the actual act of programming mundane, because it's just typing in these simple instructions following the rules of this dumb thing (CPU). It's all these shitty abstractions and layers of complexity people introduce that makes it... tiresome, not difficult. For beginners it must seem very convoluted.