4 ms·
I think we have different definitions of stupid - the original implementation was perfectly fine for the time and requirements it was written for.
by Closi 3y ago
I think we have different definitions of stupid - the original implementation was perfectly fine for the time and requirements it was written for.
- winternewt 3y agoBut it could have been better for no additional effort. Doing something worse when the better option is just as easy suggests incompetence.
- kragen 3y agoi wouldn't go so far as to say incompetence even the best of us do stupid things sometimes
- Closi 3y agoYeah, but it was working. And maybe it wasn't 'no additional effort' because they were more confident with quickly writing a bubble sort.
- jazzyjackson 3y agoDoing something better when you already have something that works suggests a lack of time management xP
- winternewt 3y agoAt some point there was no sort, and then somebody implemented the sort. That's the point in time that I'm talking about.
- throwawaaarrgh 3y agoNever underestimate incompetence. It usually succeeds despite itself. It also could have been apathy: knowing there was a better solution and just not caring what was implemented. I feel like this is more common than incompetence, especially in larger projects or organizations. Nature tends to take the path of least resistance.
- ska 3y ago> But it could have been better for no additional effort. Not if it was already written. I don't know anything about this particular codebase, but one thing I have learned over the years is that when you are tempted to say "such and such decision was stupid" in a production codebase, you are almost always missing something.
- moffkalast 3y agoThen the requirements were terrible?
- Closi 3y agoI don't think the 90's developers could have forseen that 2ms on boot would be huge for cloud serverless compute like lamdba.
- moffkalast 3y agoOn an OS whose only gimmick is that it's fast and stable? Idk, maybe they could've. Besides there's little reason for any codebase of any kind of ever contain bubble sort (except for an academic one, showing it as an example of a bad one). We're talking 20 years ago, not 2000 years ago, the basic sorting algorithms were pretty well researched and established by then.
- oblio 3y agoTrue, but a lesson we frequently have to learn over and over again is that the code is in software in widespread use, the only valid values for collection sizes are 0 and N -> ∞.
- Closi 3y ago> the only valid values for collection sizes are 0 and N -> ∞. Of course there are valid values below that... If they were designing to a collection size of N -> ∞ then they shouldn't have used Insertion Sort either then, because it is O(n²) in the worst case.
- oblio 3y agoTrue, but make that valid value at least something like 1 million. It's trivial to start with something that gets human input and someone, somewhere, decides to plug the thing into something else that generates that input. And we all know that if computers are good at something, it's doing a lot of small things millions of times.