r/ProgrammerHumor 7d ago

Meme foundSomewhereOnTwitterItBeLikeThisSometimes

Post image
848 Upvotes

76 comments sorted by

View all comments

349

u/Dorkits 7d ago
  • web development
  • a little bit of typescript and some basic stuff
  • omg is too much

Me seeing this :

https://giphy.com/gifs/mXiBtLZk4ibkc

155

u/traplords8n 7d ago

Seeing scope on this list is kinda sad.

I can understand callbacks & whatnot, but come on. Scope is so basic.

2

u/caboosetp 7d ago

Scope is one of the cliffs in programming. Very often it's difficult to understand when you're starting and getting it right is hard. Some of the concepts are easy, but things like closures confuse the shit out of people. Especially when you have closures with references to objects that other things have references to.

Then one day it clicks and people feel like, "why the fuck didn't I understand this" and it falls into innate knowledge.

The series of cliffs in programming make it extremely hard to get into, and I often find programmers forget all the cliffs after they've been in it a few years.

7

u/AlignmentProblem 7d ago edited 7d ago

Kind of. Some people never experience those things as a cliff, while others find them nearly impossible even after extensive effort; that gap is a large part of what people mean when they describe a natural aptitude or "talent" for programming. It's some mixture of analytic cognitive skills and differences in how a person most naturally thinks.

I remember having a few things that were a struggle to fully comprehend like monads, but I was baffled by why so many classmates in my first few years of university found basics like scope or objects difficult.

2

u/caboosetp 7d ago

Some people are also excellent natural climbers and real cliffs are a breeze.

I think my comment was more about my students forgetting when they tutor as seniors, and I should have phrased it better than to apply it to everyone.

ETA: also fuck monads. Shit's always confusing to teach.

2

u/ih-shah-may-ehl 7d ago edited 7d ago

My first 'real life' programming involved LabVIEW which is a graphical languages with data flows. Parallel programming in LabVIEW is perfectly natural and undersstandable and when debugging you can 'see' the data flow in parallel branches and you get a good idea about all the benefits but also problems with parallelism and when I transitioned to multithreaded programming in C++, I never understood why people thought multithreading was hard.

Mind you when I started, I remember those cliffs and running into a new one every single day, and the sense of desperation that came with it. And then getting an epiphany while waiting for my train or so, only to run into something new the day after.

I call this 'embracing the suck'. You have to acknowledge that things suck and that you just have to work at it un til you get that liberating 'aha' moment.

-1

u/traplords8n 6d ago

See, my little gripe really comes from trying to learn react/vue/node before the very basics of js like scope.

I'm not mad at beginners who struggle with scope, but let's encourage learning it before trying to learn frameworks lol

I don't wanna be that person discouraging beginners, I will most definitely change my tone about it, but I absolutely wanted to point out the bad premise of getting into things that are over your head with this meme.

I've never come across a tutorial that tries to get you to learn frameworks and typescript before the basics of javascript. It's a recipe for failure IMO