←back to thread

688 points samwho | 4 comments | | HN request time: 0.884s | source
1. ChicagoDave ◴[] No.45026541[source]
I liked the presentation (right or wrong), but wanted to point out I’ve been in IT as a coder and architect for 40 years and never once needed to know big O notation.

Which I think is the complaint here. The article author might have made an effort to connect it’s significance to Internet solutions like Search.

I assume he didn’t because that’s already been done.

replies(2): >>45026762 #>>45028104 #
2. echelon ◴[] No.45026762[source]
Every engineer should be familiar with at least the basics of computational complexity.

If you're stacking loops, you ought to know what that does.

You also really ought to also what your core data structures are, how they work under the hood, and how the different operations on them consume space and time.

If you don't familiarize yourself with at least those bare basics, you're doing yourself and your customers (and your future maintainers) a disservice.

replies(1): >>45030090 #
3. mock-possum ◴[] No.45028104[source]
fwiw I’ve been writing code for 2 years and I have occasionally benefitted from half-remembering the concepts that big O notation describes (even though my memory of the proper terminology is pretty shoddy, it’s been a long time since we covered it in college)

When new releases of website features have resulted in notably poor performance, and profiling has revealed a particular function taking time on the order of seconds to complete (seconds are an eternity in UI land) it’s important to be able to reach into code that processes big chunks of data, and identify loops-within-loops-within-loops that could be rearchitected to play out more efficiently.

Knowing that you’re going from O(n^2) to O(2n) is really just a matter of jargon - knowing that your list of results now displays in 1/10th the time, and why, is still pretty important. The underlying logic/math is the important bit to have a concept of, imo, big O is just a fun way to talking about it.

4. ChicagoDave ◴[] No.45030090[source]
I’ve always done load tests, cured bad code, re-tested. Static analysis can discover most of these kinds of problems. It’s entirely possible I’ve been resolving big O problems intuitively over the years.