DEV Community

Cover image for What programming concept did you struggle the most with?
Vitor Paladini
Vitor Paladini

Posted on

What programming concept did you struggle the most with?

Was it types, promises, or ternary operators?

Maybe async, testing, recursion?

Was it OOP, malloc, or decorators?

Or maybe compilers, data structures, or recursion?

Latest comments (56)

Collapse
 
blessedcyprian profile image
blessedcyprian

python has been my main programming language and it has been little tough

Collapse
 
codinglanguages profile image
Your DevOps Guy

Dynamic programming, hands down.

Collapse
 
elmuerte profile image
Michiel Hendriks • Edited

Ah yes. Pointers, relatively easy to understand and use, and extremely easy to screw up and thereby sending you into an abyss where you don't understand any of it.

Collapse
 
elmuerte profile image
Michiel Hendriks
  • Concurrency
  • Distributed transactions
  • The above two combined

Not to understand, but to get it right.

Collapse
 
skepticalbong profile image
Siddharth Mondal

To this day I cannot understand how recursion works. I used to find OOP concepts confusing but now I'm used to it.

Collapse
 
nexusdenim profile image
Nexus Denim

The Objected Oriented Programming, back at when i started learning Programming, the first thing that set me off was setters and getters, I was like why build setters and getters if one can initialize it in Constructors and can access it through the class. That was the most difficult, But still now the OOP methods and properties confuses me a little time by time.

Collapse
 
sandordargo profile image
Sandor Dargo

I took me some time to take the time to understand covariant types

Collapse
 
ericgeek profile image
EricGeek

The concepts themselves have never been a problem, it's been the "best practices" of the concepts that have been a problem. About two decades ago, I tended to suffer from NIH (not invented here). I still seriously overthink decisions like REST vs graphQL vs RPC, which component libraries or frameworks to use, etc., as I'm still highly opinionated, but I at least understand that outsourcing the work to someone for whom the library/framework is their primary mission is more likely to produce a quality product than rolling my own in between or in support of my real tasks.

Collapse
 
wilsongramer profile image
Wilson Gramer • Edited

I was learning Go and struggled a lot with channels and buffered channels, after using promises for everything in JavaScript. I kept getting deadlocks trying to wait for multiple goroutines to all finish!

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

Hmmm... pointers which made it tough to learn C because of it.

Collapse
 
seanmclem profile image
Seanmclem

Global state management in react. I really don't like any option.

Collapse
 
rad_val_ profile image
Valentin Radu

Generics, covariance and contravariance.

It took me quite a bit to understand them, although not that complicated now that I think about it. Also, it didn't help Swift was riddled with generics related bugs when I first encountered them in practice.

Collapse
 
perpetual_education profile image
perpetual . education • Edited

Weirdest concept for us... was that there was a boss or creative - that had no idea what they were doing... and then they sold all these crazy ideas - and then we were supposed to somehow make all that crappy stuff - and fast / and have everyone get really rich and happy. Yikes. That part of the pipeline is broken! Then maybe Auth? Still don't know if we're using a monad ;)

Collapse
 
eliowar28 profile image
Eliomar Garzon

Still fighting with oop. Lol

Collapse
 
ecognito profile image
E Cognito • Edited

Honestly, it would probably be garbage collection. My first job in the 90’s was writing C code and burning it on to EPROMs. By the time I came to learning Java some time latter, I had moved through C++, Delphi (also, does anybody remember Powerbuilder?) and even PHP and Javascript, but this was the first ‘serious’ language I’d picked up that used garbage collection.

The free-wheeling, devil-may-care attitude of just allocating memory offending my well worn sensibilities no end. I’ll give you my destructors when you pry them from my cold, dead keyboards.

Collapse
 
vtrpldn profile image
Vitor Paladini

It is incredible how diverse programming is, most of my experience is with web-focused languages like PHP and JavaScript so memory allocation is a concept that has never been part of my daily work. But I can understand the difference you must have felt when switching, haha.