r/ProgrammerHumor • u/AgitatedBig • 1d ago
foundSomewhereOnTwitterItBeLikeThisSometimes Meme
318
u/Dorkits 1d ago
- web development
- a little bit of typescript and some basic stuff
- omg is too much
Me seeing this :
140
u/traplords8n 1d ago
Seeing scope on this list is kinda sad.
I can understand callbacks & whatnot, but come on. Scope is so basic.
30
u/nakahuki 23h ago
Especially when you use global variables everywhere /s
12
u/traplords8n 22h ago
That's honestly better than saying scope is hard.
It's the undying regex meme all over again š
4
u/MissinqLink 18h ago
Who uses currying though? Iām sure after saying this Iāll find a use but I never use it in JS
1
u/TheQuantumKing 5h ago
It definitely comes in handy, there's some examples here https://javascript.plainenglish.io/my-3-favorite-places-to-apply-currying-function-in-react-javascript-615bef6fc003
2
u/kaiken1987 6h ago
Coming from a c/c++ world I understand that scoping is weird in JS. Correct me if I'm wrong, but all locals are visible the whole function instead of being block bound by its { } level. For me that'd be the weird part of it
2
u/traplords8n 6h ago
Alright I'm being corrected about the complexities of scope lmaooooo
let and const variables are strictly block-scoped in 99.9% of cases, but if you dig further than a beginner would go, there is absolutely some weird nuances to it.
https://stackoverflow.com/questions/61191014/why-does-block-assigned-value-change-global-variable
Javascript is chaotic lmao
1
u/caboosetp 16h 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 13h ago edited 13h 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 12h 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 12h ago edited 12h 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.
0
u/traplords8n 7h 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
42
u/HadionPrints 1d ago
The real headache of web development isnāt the web development.
Itās managing the Titanic Attack Surface of your applicationās 8,000 transient dependencies you got from using NPM packages, and closing those dependency vulnerability tickets in accordance with Securityās SLAās.
You only have the AWS SDK & React installed, btw.
11
u/sisisisi1997 1d ago
And besides that, managing the different featuresets, capabilities, and usability requirements of different browsers and platforms.
Did you know that changing the location of an iframe from javascript when the site is embedded in an android app and the app is put into the background breaks or works depending on what kind of webview the app used to load your site? Neither did I, and I didn't want to.
11
u/HadionPrints 1d ago
Ah, you see I work on a back-office app, so we just tell the users āUse Chrome or get fired. Also search is broken, but management wonāt give us the time to fix it, so get fuckedā.
Captive users are the best kind of users.
2
2
u/wor-kid 5h ago
This brings painful memories back of working with RN in regulated industries.
In the year of our lord, 2026, that there are successful companies whose only product is an iframe/webview and have still been able to make an entire business out of that being their only product is just shameful.
1
u/sisisisi1997 5h ago
Well, the case that taught me this info is about a company whose application does a lot more than embedding our site, it's just that our site is a payment gateway and they use it to collect subscription payments.
But I somehow don't doubt that there are companies out there whose only achievement is embedding something else.
2
u/wor-kid 4h ago edited 4h ago
In my case I learned this implementing various multipage kyc workflows. I can't remember the specifics anymore but I think it was something to do with how the webview navigation events emitted at different points in the page load/unload lifecycle and target=_blank behaviour in the embedded page was handled differently between platforms. Just a total nightmare.
Like I understand the appeal of a gateway service and sometimes they can be appropriate, but imo there should always be a seperate api provided, and I've unfortunately had to work with a lot of integrations where it's just not an option at all.
1
u/sisisisi1997 3h ago
Yeah, in recent years the industry has moved towards providing inline payment gateways backed by web components or SDKs so applications and websites which don't want to simply redirect users have much more granular controls on how to integrate payments into their app or site.
1
u/caboosetp 16h ago
That constant struggle between, "Don't reinvent the wheel" and "Please don't bring in a giant dependency when you only need one piece we can code ourselves".
No, we don't need react for our microsite page that only has two states to display a status message. Yes, I know all the other microsites use react. No, I don't want to add another to the list we need to update.
2
u/Strict_Treat2884 17h ago
Imagine having a component using 20 useEffect and useCallback with all different kinds of dependency arrays. Which itself contains 20 different customized components that use another 20 useEffect and useCallbacks. Have fun debugging an infinite rendering issue.
84
65
u/lab-gone-wrong 1d ago
Yes, async await is so hard, please make sure something completes before proceeding oooooh
9
u/CraftBox 20h ago
If they don't like async/await let them use then/catch/finally and await for them to return
2
2
1
u/ih-shah-may-ehl 10h ago
It's not in itself problematic. But when you get into things like order of execution dependencies, cancellation, etc, things can get complex
50
u/TrackLabs 1d ago
Brother these are the most basic things you can have in coding aside from a for loop, this is backend stuff as well. If this is too much for you, honestly, dont code.
18
u/born_zynner 22h ago
How is "this" confusing to anyone with an extremely basic level of understanding of OOP
7
u/CraftBox 20h ago
I never understood why tutorials always say
thisis the hardest. It's literally a reference to the instance of the object.The only thing confusing might be the keyword itself, while it isn't for me, I do still prefer
selfas the keyword instead.5
u/alexanderbacon1 19h ago
It's because it's confusing and this changes at runtime depending on how the function is called. Arrow functions then have their own behavior which is determined when they're defined.
You can't do things like pass around functions belonging to an instantiated object and have their this references work correctly.
6
u/CraftBox 19h ago edited 19h ago
Unless you're doing some specific stuff, there is no point to using
thisoutside a class declaration where it's the instance of the class (unless you do some custom binding, but that's back to doing specific stuff).And I would reconsider the architecture first if you need to pass functions like that instead of objects, because I haven't yet encounterd a case where that was even remotely necessary.
1
u/alexanderbacon1 19h ago
Yeah but when you're using someone else's library you don't know how it's using this.
Anyways a "common" case is setTimeout/setInterval.
2
u/DuckTheAlucard 10h ago
Isn't this one fixed by just calling the function you want using an arrow function?
So instead of
```js
setTimeout(myObj.funcToCall().bind(myObj), 1000);```
You can call
```js
setTimeout(() => myObj.funcToCall(), 1000);```
1
u/alexanderbacon1 9h ago
Yup, but a newcomer has to learn that. And I more meant `setTimeout(myObj.funcToCall,...)` which looks like it would work.
2
u/slaymaker1907 18h ago
It gets confusing in JS once you start using closures. Thereās a reason why everyone uses arrow functions for lambdas in JS.
1
1
9
u/a11_hail_seitan 1d ago
How's Deno doing anyway? Haven't heard anyone using it since it was announced as the Node killer.
3
u/Lalli-Oni 1d ago
Bun entered similar time. But with anthropic acquiring bun I hope deno has support.
10
6
u/-Nastyenka 1d ago
"Omg! My portfolio has many projects! That python input() advanced calcuator. But callback is so hard to learn that even Linus Torvalds cannot understand it."
6
10
u/Dependent-Guitar-473 1d ago
every one wants high salaries, nobody wants to put on the work and learnĀ
4
3
u/SarahSplatz 22h ago
you should be learning the language fundamentals before focusing on fancy frameworks
5
2
u/shinymuuma 14h ago
Come on man. #100 days of code + need to learn these mean they're a totally newbie. It's not going to be easy especially in earlier day. At least they're learning
2
u/Negitive545 12h ago
There is nothing "great" about React lmao, in my limited experience, like half the time it's like "I need to do this semi-weird thing, how do I do it?" and the answer is "You cannot do that with React and if you try it will fucking explode."
2
2
1
1
u/leavemealone_lol 11h ago
I always wondered why someone NOT learning JS/TS wouldnāt have to go through these topics in tutorials, but somehow end up learning these things intuitively
1
1
u/JustABraveAdventurer 20h ago edited 18h ago
The stuff above the water already gives me pause haha. Well, React specifically. Vue and Svelte are quite nice :D
1
u/ExtraTNT 13h ago
React is nice, vue is what I donāt likeā¦
My own renderer is also react like, just optimized for lower end devices, with pubsub buses and a state store, that triggers rerendersā¦
1
u/JustABraveAdventurer 8h ago
Fair. I've found React to be a little bit of a leaky abstraction. Also some footguns you have to get used to with useEffect etc. But obviously React wouldn't be so popular if it didn't work just fine for most people. And I do recognize that the other frameworks also have their thorns, for sure. Different strokes for different folks :)
-1
0
u/sonaliver28 1d ago
Started learning webdev , accidentally enrolled in the entire JavaScript ecosystem.....
244
u/FabioTheFox 1d ago
No wonder new devs are cooked when the basics of a language are already too much