DEV Community

Discussion on: Experienced developers: What concept have you never gotten around to learning and you've been fine without it?

Collapse
 
kspeakman profile image
Kasey Speakman

I did learn these but never really needed them. Would be a bit rusty on some.

  • pointers - because of managed languages / pass by ref semantics
  • sort algorithms - languages I used already had them
  • TDD and Test First - tried it for a while
  • AOP (aspect oriented programming) if anyone still remembers it
  • dependency injection containers - It’s a statically-typed language thing, but not really needed there either.
  • tree structures: b, b+, avl, etc. Languages / databases already had specific collections / indexes which implement these under the covers. Fascinating to know for performance characteristics tho.
  • bloom filter
  • actor model of computation
  • agent based programming - tried, but message passing overhead was too slow for my workload

Never actually put any of this into a production project except TDD. Have used other framework’s DI containers when they force it on me, but not my own.

Don’t get me wrong, over time I have learned a lot of low level details like: heap vs stack allocations, big-o of various collection operations, avoiding cache misses, flushing registers to memory, etc. Because managed languages are still leaky abstractions over the hardware they run on, I’ve bumped into some weird edges that caused me to learn it.