DEV Community

Discussion on: Algorithms and Data Structures are irrelevant

Collapse
 
pyrsmk profile image
Aurélien Delogu

I don't understand, how they can be irrelevant? At some point they are implemented anyway, in any system. If you don't do it yourself and just put your confidence in the framework or the tools you're using, that's a thing. But if you just don't care about it, you're only becoming a bad developer that tends to add too much complexity and bad performance on its code because you don't understand anymore what you are doing and what is the real impact of your code.

(of course, when I say "you", I obviously don't speak about you directly ahah)

Collapse
 
polterguy profile image
Thomas Hansen

The higher up in the abstraction layer you move, the less relevant they become. 25 years ago we were much further down in our abstractions, with stuff such as C and C++ being "normal", and often implementing our own serialisation layers for even basic things. Back then knowledge about algorithms and data structures were crucial, just like knowledge about assembly was crucial 20 years before that, and so on.

It's still important to know (some) basic theory about algorithms, but much less so than other knowledge. You do a lot of React development, right? How often do you really need to understand big O notation to maintain your code today? When John Carmack created Doom, he had nothing to build upon. Today those creating games don't even need to know how to multiply two matrices, since they rely upon stuff such as Unity, etc ...

Collapse
 
pyrsmk profile image
Aurélien Delogu

I don't do React ahah. But I see your point.

IMO understanding time complexity is, in fact, mandatory. For example, it is not rare that junior devs write O(N) code around REST requests or SQL queries. Just saying 😂

Thread Thread
 
pyrsmk profile image
Aurélien Delogu

I also saw someone writing HTML input fields creation with a time complexity of O(N^3) thanks to a wrong understanding of hooks and component lifecycle.

Collapse
 
pyrsmk profile image
Aurélien Delogu • Edited

Of course, what is irrelevant is knowing those algorithms by heart. And having to spit them at an interview. 100% with you on that!