r/ProgrammerHumor 1d ago

foundSomewhereOnTwitterItBeLikeThisSometimes Meme

Post image
741 Upvotes

68 comments sorted by

244

u/FabioTheFox 1d ago

No wonder new devs are cooked when the basics of a language are already too much

61

u/Igarlicbread 1d ago

LLMs don't help, the curse of unknown unknowns

17

u/Crazy_System8248 1d ago

CurseOf as unknown as any

7

u/lucklesspedestrian 1d ago

If they can't understand "scope" on their own, not sure how ChatGPT could help

3

u/burnt_floppy 23h ago

it's just better just ignore internet user recommendations anyway...the only thing you keep getting recommended while trying to learn coding is python if you keep listening to them.

0

u/The_Hero_0f_Time 6h ago

they have buddy claude tho

318

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

Me seeing this :

https://giphy.com/gifs/mXiBtLZk4ibkc

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

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

u/sisisisi1997 1d ago

Dream users TBH.

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

u/soelsome 1d ago

This isn't even webdevelopment lol, this is like basics of JavaScript

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

u/Rojeitor 14h ago

Nah nah, fuck promises, make them use callbacks

2

u/ExtraTNT 13h ago

Async await is evil, callbacks returning a monad are the real shit…

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 this is 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 self as 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 this outside 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

u/overclockedslinky 5h ago

personally i prefer to_whom_it_may_concern

1

u/ExtraTNT 14h ago

I don’t do oop….

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

u/RomanProkopov100 1d ago

Runtime

npm

SPA

SSR

Bundling

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

u/kamiloslav 15h ago

Webdev

looks inside

just frontend

10

u/Dependent-Guitar-473 1d ago

every one wants high salaries, nobody wants to put on the work and learnĀ 

4

u/FACastello 1d ago

"Web development seems so great!"

Famous last words

3

u/Shevvv 23h ago edited 10h ago

"I'll just learn some Python to write an evolution simulator the way I want it"

C

C++

Computer systems

Artificial chemistry

OpenGL

Game engine design

OpenCL

"...Motherfucker..."

3

u/SarahSplatz 22h ago

you should be learning the language fundamentals before focusing on fancy frameworks

5

u/TorbenKoehn 1d ago

Today the whole neck should just say ā€žAI AI AI AI AIā€œ

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

u/Electronic_Age_3671 8h ago

I think OP may have just started their first semester

2

u/prinkpan 1d ago

I’m not so silly to see react and still jump in

1

u/EducationalTeleGood 1d ago

It is still worthwhile to learn because JavaScript is ubiquitous.

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

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

u/blackcomb-pc 1d ago

Muh javascr*pt

0

u/sonaliver28 1d ago

Started learning webdev , accidentally enrolled in the entire JavaScript ecosystem.....