This is fucking dumb. People learning how to code don't know how to start. They don't know what to start writing or where to start on it. This is akin to telling a depressed person "just don't be sad".
My best motivator is having an issue and a need to solve it (e.g. room is cold after work but I'd like it warm -> automation or "I hate how netflix is taking away my movies" -> Media library). This resulted in me getting a smart home thermostat and jellyfin.
If you want to learn how to code, can't you just google "coding tutorial for beginners" or something similar? Probably you would need to pick a language, but that would similarly be solved with "recommended coding language for beginners". Then it's very easy to find a resource that starts with hello world and gradually introduces new things. And I'm sure if it moved beyond a browser toolbox, a guide for setting up whatever IDE would be included.
Learning to code is by no means easy, but it's possibly the best type of thing to learn when it comes to having a wealth of free, easily discoverable guides. The main obstacle is choosing to put in the time, and this comic removes that obstacle by forcing them to not put it off.
Well, put yourself in the shoes of someone who knows nothing about programming and googles what you described. They'll be flooded with information that they can't really make sense of. What language do I choose? I want to make games! So is C++ the right one? Can I learn another one?
Look at the questions in beginner forums. The naive, seemingly stupid questions. Many beginners struggle to understand what a language is, and how languages are related. To many a programming language is a series of magic incantations that make the computer do stuff. They treat it like spells.
Then, if you do manage to get over that hurdle, you'll have to put in quite some time to get anything useful out of your code. You'll have to bang your head at many hard surfaces, read tons of unrelated crap because, once again, you don't even know what to google.
I don't know, if you ever worked with complete novices. People who want to learn, but know next to nothing. Where I live, you can do apprenticeships for software development, and I had to guide a few of our apprentices. At that point I had been programming since 14, had programming classes in school, master's degree in CS and several years of work experience. So I was very much removed from being unknowing. Being confronted with the utter incompetence and lack of any context of these guys was extremely eye opening to me. Those were bright, motivated younglings, but everything that seemed obvious to me, was completely beyond their capabilities.
In short: you may underestimate the difficulties to learn without guidance.
I'm sure its different now from when I started - because coding is very popular, and the internet is a thing... But I can tell you, that it took a long time before I knew what a programming language was, or 'coding'... these words were just not familiar to me.
I learnt stuff by just opening random executable files in notepad to see what they look like... mostly it was just garbage that no one can understand - but some of them were readable, and I replicated and learnt from them. (they were .bat files.) I became a bit of an expert in making very fancy batch files. I made customisable menus, and a little adventure game. Then my parents helped me out by buying me a programming book. It was about programming in Visual C++. I was pretty excited - until I quickly worked out that Visual C++ was something you had to buy before you could use it.
Anyway, my point is that it is easy to see what you need from the point of view of an expert; but from the point of view of a novice, you don't know what you don't know. You don't know which words are important, or what anything is called. The first steps are not hard except that you don't know which direction you are meant to be stepping in, or where the starting point should be.
No because most tutorials will start from "write print("Hello World")" and the like without mentioning compiling or where to write it or with what...
I didn't really get into coding until someone guided me through the basics of python, which is an easy language that doesn't even require compiling. One of the reasons was precisely not knowing where to start.
It's gotten a lot better in recent years tbf in terms of those kinds of resources. Beginner recommended languages like Python are still a pain because it's super easy for a beginner to bork how they set it up, but on the whole there's plenty of online code sandboxes and other ways to get started.
Your point is definitely valid though. Why on earth would we want someone who's just showing an interest in programming to write their own compiler??? Wtf? If someone wants to get into baking you don't send them out into the fields for 6 months to grow some wheat.
When I was a kid I mucked around with html and css to make some GeoCities sites. I decided I wanted to learn how to code so I got a book from the library called "how to code games for beginners" or something. The thing never told you how to set up an IDE or compile the game. So I was just frustratingly typing out the code examples into notepad without a clue as to what to do. I think this was during the dialup era so it wasn't like there was a wealth of info online.
I ended up abandoning programming for quite a few years. It just seemed like nonsense because writing graphics libs for C in notepad does feel like nonsense to a child. I wonder what life would be like if I had some better resources at that moment in time and decided you continue pursuing it.
When I've spoken with people who say they 'want to code, but don't know how to start,' dollars to doughnuts it's the same problem as wanting to learn hacking, artistry, or science. (I think the original comic was drawing.)
There isn't a solid reason for why they want to learn X, the wanters just think it would be cool to *be an X-er", and want anyone to hand it to them.
The people who want Y, and need to learn X to accomplish it will take the first step. Though many won't follow through if goal Y is too high. I've pointed people to the resources to learn X countless times. It's only the people who want Y, and are willing to learn X to achieve it, that succeed. Hacker, Coder, Engineer, Artist-er, and on and on. You can lead a horse to water, but not teach it how to drink.
At least for me the most learning to program happened because I had something specific in mind I wanted to achieve and just go for it.
Yes, the code sucks (And I rewrote it 3 times originally, it still sucks), but it's not really something I particularly care about now as it mostly works as designed.
I'm physically incapable of doing code "for the sake of it" something has to piss me off enough to want it automated. It's stifled my theoretical knowledge but I can do a thing if I need to.
It's a good thing I have a big project to occupy my time. No shortage of problems to solve there.
I think some people view it as "if you're meant to be a coder your natural curiosity towards how things work will probably lead you to writing code naturally." But it's a pretty gatekeepy point of view.
I think we can safely say that programming is the least gatekeeped profession in the history of professions. Programmers are literally goving their code away for free, I never saw an open source plumbers movement.
Its a good litmus test for people who are genuinely interested versus people who just heard "Lern 2 Kode" from a hustler on YouTube and thought they could bullshit their way through it.
But also, you'll notice the cartoon character getting handed a nice looking laptop and keyboard. How cool is that? A cartoonist handing you a few hundred dollars worth of hardware plus presumably an always-on internet connection. Imagine if everyone had those kinds of resources just tossed to them at the asking.
But they aren't asking for tools they're asking for guidance. What's the point of all that expensive hardware if they have no clue what to do with it and where to start learning?
What’s the point of all that expensive hardware if they have no clue what to do with it
I mean, if you straight up don't know how to use a computer at all then that's fair. But I don't think the suggestion is that you learn how to code before you learn how to work a mouse. Hell, the whole target audience for the joke is people who are already online.
It's like trying to make a person learn how to play the flute by just handing them a flute. If they don't know how to assemble it, clean it, hold it, press the keys, and proper embouchure, they're never going to learn how to play the instrument.
So right. I did start a self-taught course in Python years ago, I got stuck on OOP, and couldn't wrap my head around it, so I go demotivated. I want to start over and learn now that I have more free time.
I interpreted this as a criticism of the sort of people who make posts for the 'brain crack' of maybe learning to code one day in place of putting the actual work in to learn.
Not everyone learns in the same way. If someone learns better by asking others for guidance and you tell them to just read a book I hope they spank your arse with that brick of paper smh.
Rolling up and getting started is a great way to find some really sloppy ways to do some initially very fascinating tricks. Like, its not a terrible idea on its face.
But there's a huge difference between learning some javascript tricks or python commands to macro with and professionally designing a full stack. Really depends on what you're trying to accomplish.
Best thing in the world is a fresh faced young developer who is eager to learn everything you put in front of them. Worst thing in the world is someone who only half-knows how to code but thinks they can do a proper mobile app from first principles. Every time I see a mile of copypasta spaghetti code sitting inside a single oversized Main() function, I die inside.
Medication helps a lot of people, and CBT is very effective for others. I've never heard of a "technique" that's effective against depression that can be reasonably described like that, but I'm not an expert. Would love some concrete examples.