4 ms·
I think those who deal with OS kernel, compiler etc on daily basis also understand those points. They use various tools to make code review, time management etc
by anta40 3y ago
I think those who deal with OS kernel, compiler etc on daily basis also understand those points. They use various tools to make code review, time management etc easier.
Not all hackers are overly obsessed with the most efficient Big O and various low level (sorry pun intended) details.
- DeathArrow 3y ago>Not all hackers are overly obsessed with the most efficient Big O and various low level (sorry pun intended) details. A NAND gate is low level. Big O is just theory that anyone should know if he's worth something as a programmer.
- Arcanum-XIII 3y agoMost of the time, big O is not relevant if you're not writing new algorithm. For the usual CRUD app? Not so much. Heck even for more involved work, you will not touch them because your solution will be called or will call some external tools. The good news is that, while still valuable, you won't have to lose time creating a new broken wheel. The bad news is that this part of CompSci is now mostly fundamental research.
- atq2119 3y agoAnd then you get needlessly inefficient CRUD apps that take minutes or even hours to generate a simple report because they're doing accidentally quadratic or even cubic work somewhere.
- sfn42 3y agoThis is just wrong. Understanding the difference between O(1), O(n) etc is essential for literally everyone who writes code. Every single programmer is better with this understanding than without it. You should know the complexity of the code you write - and most of the time that doesn't even require actively thinking about it. If you know the basics of complexity analysis it's just intuitive.
- yakshaving_jgt 3y ago> Understanding the difference between O(1), O(n) etc is essential for literally everyone who writes code. No it isn’t. It’s a great thing to learn and understand, and essential for designing and maintaining data-intensive systems, but your statement simply isn’t true.
- sfn42 3y agoSure, you don't strictly need it to write working code. But you will very quickly run into situations where you're writing unnecessarily slow code because you don't know what you're doing. To me, it's essential.
- aardvark179 3y agoUnderstanding algorithm costs can be extremely important when building a simple CRUD app because it will help you reason how things will scale with the size of the data you’ll see in the real world. It’s easy to make things that are accidentally quadratic but are fine until your big customer has 10 times the data and they suddenly aren’t fine anymore. Doesn’t mean you need to optimise everything, but it doesn’t mean you shouldn’t think about this stuff.
- jstanley 3y ago> Most of the time, big O is not relevant if you're not writing new algorithm This attitude is precisely why we have computers thousands of times more powerful than we had in the 90s, and yet they perform the same tasks slower.
- baq 3y agoIt becomes very important as soon as you start getting statement timeouts in your db queries.