Examining Legitimate Use Cases for Bubble Sort in Software Engineering
By
atan2
Sesame, salt, and substance. A flagship bake.
Summary
The article explores the rare exceptions to software engineering principles, specifically examining when bubble sort might actually be useful despite being widely condemned. It discusses how bubble sort can be appropriate for small datasets, nearly-sorted data, or educational contexts, challenging the near-universal rule of "don't use bubblesort" by finding legitimate use cases where its simplicity and specific characteristics make it a reasonable choice.
Key quotes
· 5 pulledThere are very few universal rules in software engineering, but there are a lot of near-universal principles.
A similar near-universal principle is 'don't use bubblesort'.
bubble sort seems to have nothing to recommend it, except a catchy name and the fact that it leads to some interesting theoretical problems
I love finding the rare situations where these principles don't hold
Some would even say it's a universal rule
You might also wanna read
Three Years In: A Senior Engineer's Reflection on AI's Impact on the Software Development Role
A senior engineer reflects on the long-term sustainability of AI tools in software development, three years into deep organizational adoptio
Three Years In: A Senior Engineer's Reflection on AI's Impact on the Software Development Role
A senior engineer reflects on the long-term sustainability of AI tools in software development, three years into deep organizational adoptio
Bijou64: A variable-length integer encoding that's both correct and accidentally fast
This article describes the development of bijou64, a variable-length integer (varint) encoding created for the Subduction CRDT sync protocol
Bijou64: A variable-length integer encoding that's both correct and accidentally fast
This article describes the development of bijou64, a variable-length integer (varint) encoding created for the Subduction CRDT sync protocol
Domain Expertise, Not Code, Is the True Competitive Advantage in Software
The article argues that true competitive advantage ("moat") in software has always been domain expertise—deep understanding of the business
A Formal Proof That Jira Is Turing-Complete via Minsky Machine Implementation
This article provides a formal proof that Jira (Atlassian's project-tracking tool) is Turing-complete by demonstrating how to build a Minsky
