3 ms·
Completeness means being as performant as possible on all the possible axes. You might want simplicity, but users also want performance. So a complete solution
by rtpg 10y ago
Completeness means being as performant as possible on all the possible axes.
You might want simplicity, but users also want performance. So a complete solution will be performant, but simple.
You have one use case, but other users have others. A complete solution will work in as many use cases as possible given its constraints.
Scala's parser combinators are a good example of a complete solution. It offers the "elegant" solution of parser combinators. But it also offers an implementation of this using things like Packrat parsing that are extremely efficient.
The non-complete example of this is someone who writes a parser combinator library that is simple, but simply not performant for real world use. For example, you might write a simple version in Python, but not properly apply TCO and so your parser can't handle deeply nested structures because of a stack overflow.
---
With regards to owning code, I remember hearing that it took 9 years of the initial publication of quicksort for there to be a bugfree implementation of it. Even easy things can be tricky.