People who have very low paying jobs and very unhappy about it, they know programmers earn well ("high prestige", in your words), and they try. But for some reason, they just fail and they can't to anything about it. I've seen it many times, when diligent dedicated people just can't.
A major hurdle I found as a beginner in programming was the lack of immediate reward. I was studying Automate the
Boring Stuff as my first text, and it took around six months of slow but steady studying to understand and retain the first of two parts of the book.
The material was about the fundamentals of programming (loops, lists, dictionaries). I found it hard to stay focused because the applications and usefulness of the concepts weren’t immediately obvious (any problem I could solve at that point could easily be solved better with a ‘no-code’ solution). Some of the concepts also took a few days to understand, while I was struggling with maintaining motivation.
I’ve since used other learning materials, and now I better understand why new programming courses nowadays (like Harvard’s CS50) like to start their courses with the Scratch language. It communicates earlier the usefulness of the fundamentals (e.g. using if and while statements to animate a cartoon character).
This lack of immediate useful application (until months of study later) might not be the only reason, but it may well be a major one. It can cause people to give up even if they are diligent and dedicated in other fields (where the rewards arrive earlier).
> I found it hard to stay focused because the applications and usefulness of the concepts weren’t immediately obvious
Yep, I had that experience with electronics, but I applied the lesson you’re pointing to - you need to have practical projects that are relevant to you (that you care about), and then learn by working through problems and concepts as they present themselves on the road to solutions. I guess that makes me a hands-on learner, though I appreciate the conceptual once I have enough practical exposure to provide context.
I concur.
I tried to learn language like C, python... but could never make any progress. However, ironically I made serveral scripts for botting in MMORPG that I played. I could spend days perfecting and running them. It was the shorterm reward for botting in games that kept me going. Meanwhile learning to code is like walking to a destination that you don't know when you are going to reach. It feel like a chore and mentally challenging.
Maybe they are not diligent or dedicated enough? Have you really met anyone who wanted to actually put effort into something, had no barriers (lack of money / family support / etc) and didn't manage to do it?
For me the answer is I've only seen it where there is an absurdly narrow selection process: professional sports (all of them), admission to certain universities (Ivy League/Oxbridge), certain specific jobs (SEAL team, investment banks, etc).
For everything where there's no gatekeeper, I'd only count out very few people from the start.
I also thought anyone could learn to code at at least a basic level, until I worked for a year as a computer science instructor, including for the big intro class for freshmen. Some people's brains just aren't wired for it. (And this was a self-selected group in a positive sense; I would expect a random set of the population to do worse.)
I don't think we're communicating. You asked:
Have you really met anyone who wanted to actually put effort into something, had no barriers (lack of money / family support / etc) and didn't manage to do it?
And got in reply:
I also thought anyone could learn to code at at least a basic level, until I worked for a year as a computer science instructor...
You then produced a no-true-Scotsman argument to the effect that students don't qualify as a counterexample.
All I'm asking for is for some kind of confirmation that he thought the kids were actually trying hard, which we all know (without documentation, yes) isn't universally true of students.
It's also often true that instructors don't know what's going on in all the students' personal lives. People who are pressed in other ways don't always make it known, so you could easily see how you might mistake someone who didn't learn it with someone who couldn't learn it.
I have and i have spent a lot of time trying to help people understand it with no luck. I wouldn't count them out from the start but eventually it seems they will be happier not trying to write programs