I'd argue that it's a good thing to use an algorithm that is efficient in and of itself. (And perhaps a language which invites the use of such an algorithm.)
The efficiency of algorithms depends on the language / model of computation you are using.
For an extreme example, the best way to write an efficient matrix multiplication in Fortran is to write a naive matrix multiplication. The compiler will recognize the pattern, and transform it.
Comments
Not only is it not proper quicksort, it's very memory inefficient.
Depends on your GC and compiler.
I'd argue that it's a good thing to use an algorithm that is efficient in and of itself. (And perhaps a language which invites the use of such an algorithm.)
The efficiency of algorithms depends on the language / model of computation you are using.
For an extreme example, the best way to write an efficient matrix multiplication in Fortran is to write a naive matrix multiplication. The compiler will recognize the pattern, and transform it.