DEV Community

Ben Halpern
Ben Halpern

Posted on

What’s a concept you understand now, but took you forever to grasp?

I’m sure we all have plenty of answers to this one, but sometimes we forget how far we’ve come.

Oldest comments (107)

Collapse
 
rattanakchea profile image
Rattanak Chea • Edited

It took me a a while to get the hang of using Git in a team. It is scary to push the changes at first. Merging issues, stashing, undo, how every one uses Git flow differently, etc a lot could go wrong.

For now I am struggling with understanding AWS, continuous integration and a bunch of new technology.

Collapse
 
bszeliga profile image
Brandon

Totally agree with this but in more general terms, the concept of distributed version control. We started with Mercurial, and I remember being able to use it but could feel like I was missing something. Eventually once it clicked, understanding git became easy.

Collapse
 
pulljosh profile image
Josh Pullen

Nowadays I have a pretty solid handle on webpack, babel, and other related tools, but it took me a long time to get here. The entire Node ecosystem, including its meta tools (essentially all the devDependencies), were really tough for me to grasp.

The interplay between browser, server, and developer-run javascript can still get me caught out sometimes.

Collapse
 
prnthh profile image
Pranith Hengavalli

I find myself having a hard time switching to the React toolchain. The concept of needing a preprocessor for your HTML/js before it can be opened by a browser really bothers me. One of the best things about web development imho was that code would just run as-is in the browser.

Or maybe I'm just getting old.

Collapse
 
mungojam profile image
Mark Adamson

Check out videos of React Advanced meetup London from a couple of months ago. There was a guy who showed that you can do pretty much the same thing without any preprocessing now that modern browsers support most of the features in React. Things will hopefully get simpler again as older browsers fall away

Collapse
 
vitalcog profile image
Chad Windham

medium.com/the-node-js-collection/...

For anybody that can relate to this thread, that is an amazingly well put together article that helps with understanding different pieces of the modern front-end dev world...

Collapse
 
pulljosh profile image
Josh Pullen

Oh wow, that's an excellent resource.

I absolutely love learning the "why" behind everything, and that post does a great job of covering it all. Thanks for the recommendation!

Collapse
 
jsk profile image
Jsk • Edited

Interplay between browser and server still confuses me. Any articles on figuring this out would be appreciated - what's served to browser, run on server, how does this get setup?

Collapse
 
joshichinmay profile image
Chinmay Joshi
  1. JavaScript Promises.
  2. The referencing of this in JavaScript.
  3. CSS display property. (Sometimes I still don't get it).
  4. Lambda and Proc in Ruby.
  5. DyanmoDB
  6. ECS and EC2 on AWS. (I still don't get it).

This list could cross the count of a hundred.

Collapse
 
abbhishek971 profile image
abbhishek971

Same.

  1. JS Promises
  2. AWS CodePipeline
Collapse
 
lsenavaitis profile image
lsenavaitis
  1. Js promises
Collapse
 
joelnet profile image
JavaScript Joel

Functional programming. I got the how but I never understood the why.

I took a free FP course on edx.org that taught me some Haskell and it Al clicked.

Unfortunately, I am forever doomed as I have a hard time going back to non-fp.

Collapse
 
mmphego profile image
Mpho Mphego

Please share the edx link

Collapse
 
joelnet profile image
JavaScript Joel

Pretty sure this was it: edx.org/course/introduction-functi...

Collapse
 
jonchampaigne profile image
Jon Champaigne

Same. Though, learned functional programming with Lisp, which I am sure makes me worse than even I can comprehend.

Collapse
 
josegonz321 profile image
Jose Gonzalez

Same. A co-worker introduced me to F# a few years ago. I thought it was a bunch of baloney.

Then PF started to click. C# is too...verbose for my taste.

I'm forever cursed.

Collapse
 
thobyv profile image
Thoby V ijishakin

Same here. Functional Programming was very frustrating for me wondering all that's side effects and pure functions etc.

Right now it's something I can't really seem to abandon.

All thanks to a strict frontend development library called Hyperapp. It enforces FP in JavaScript.

I'm still looking towards learning more as I still have alot of cool things in FP I haven't learned.

Collapse
 
thobyv profile image
Thoby V ijishakin

Same here. Functional Programming was very frustrating for me wondering all about side effects and pure functions etc.

Right now it's something I can't really seem to abandon.

All thanks to a strict frontend development library called Hyperapp. It enforces FP in JavaScript.

I'm still looking towards learning more as I still have alot of cool things in FP I haven't learned.

Collapse
 
krantos profile image
Marcos

Dependency Injection, but time to time I need to revisit it.

Collapse
 
lhermann profile image
Lukas Hermann

I still don't understand it :)
It seems to me every time I try to read up on it it is something different than what I had learned before.

Collapse
 
nektro profile image
Meghan (she/her)

DNS. Seemed like magic for the longest time.

Collapse
 
aspittel profile image
Ali Spittel

Pointers. I'm totally 100% unsure why now, I think they must have been explained really poorly, but I didn't get them at all at first.

Collapse
 
skrish2017 profile image
Shashi

This too. The course I taught went full on Java so the C++ type pointers were no longer used. But as long as C++ was around I struggled with getting the right resources to help students with it.

Collapse
 
cjbrooks12 profile image
Casey Brooks

In my college experience, I think pointers were just introduced too early in the curriculum. Students are barely able to grasp the fundamentals of control flow and scope, are just starting to learn about types, and are then thrown in the deep end with pointers. Until you really understand types and good variable scoping, pointers will make no sense.

Collapse
 
kungtotte profile image
Thomas Landin

In my opinion there are two main issues: C uses fucking awful syntax for pointers which is always a stumbling block when trying to learn something.

The second is that most explanations only tell you what pointers are, not what they're used/useful for.

Collapse
 
jonchampaigne profile image
Jon Champaigne

The, "used/useful for", bit being particularly key there.

Collapse
 
chiangs profile image
Stephen Chiang

Angular.
The redux pattern specifically NgRx libraries.

But at some point it all clicked and it's fairly easy to implement for me now.

Collapse
 
skrish2017 profile image
Shashi

Recursion. In fact even now I feel like there are elements to it that confuse me. But better hold on it now after teaching it for several years. :)

Collapse
 
swarupkm profile image
Swarup Kumar Mahapatra

Recursion . I understand that recursion is where a function calls itself, until it doesn't.
But given a problem statement, transforming it to recursive program is still difficult to grasp.

I understand that recursion uses stack frames to load the function.
Hence I too solve such problems like DFS (Depth First Search) using stacks and for-loops

Collapse
 
lugodan profile image
Dan Lugo

I experienced the same as a CS student,lots of practice and use of recursion helped!

Collapse
 
drewhoo profile image
Drew Hoover

It took me so long to understand recursion, like 2-3 years before I felt comfortable thinking recursively. Making recursive solutions early on required just throwing shit at a wall and seeing what worked. Now it (recursion, not throwing shit at walls) is my favorite way to solve problems.

Collapse
 
manjufy profile image
Manjunath Reddy

Design patterns - most of them.
Still trying to decode every single day ;-)

Collapse
 
kennross profile image
kenneross

Observable 😬

Collapse
 
lhermann profile image
Lukas Hermann

Singletons and the static keyword (in class declarations), that took me a while. I had a hard time with it when I developed in PHP. Interestingly, when I started doing more work in JS I got the concept :)

Collapse
 
nyanev profile image
Nikolay Yanev

In which cases do you use singletons? I’m not big fan of them and try to use it as little as possible.

Collapse
 
lhermann profile image
Lukas Hermann

It's useful to store global state. Similar to Vue's vuex or React's redux.

Thread Thread
 
nyanev profile image
Nikolay Yanev

Than you

Collapse
 
hugaomarques profile image
Hugo Marques

I had problems to understand what percentiles were and how they could be used to analyze metrics. I started to understand only when a peer told me "imagine all your measurements, order then and only took the X results where X is meant to be the pX". That's was a great moment :).

For details: medium.com/@djsmith42/how-to-metri...

Collapse
 
bengreenberg profile image
Ben Greenberg
  1. this and specifically binding
  2. controlled components in React
  3. Proc in Ruby

Some comments may only be visible to logged-in visitors. Sign in to view all comments.