I'd actually question all three of your definitions, and possibly even give different answers depending on whether we were using the words, or the definitions you have given the words.
@Weng said:
Efficiency. As in the resource footprint of the code on the hardware.
This is only one type of efficiency - and its importance depends very much on context. In embedded systems, I imagine it would be critically important. In an ordinary server environment, less so. I imagine you could write a bogosort wth a tiny resource footprint - but is it efficient at achieving the desired outcome? Definitely not. Program code that required more resources but processed the [i]data[/i] more efficiently would be more important in many situations.
Supportability. As in how much work it takes to maintain, how buggy it is, and how traceable/auditable the data is.
Conflating correctness, maintainability, and traceability. Auditability is vital in some contexts, but drops to desirable in others. Code that is easy to maintain may still be buggy, and code that is provably correct can be difficult to maintain.
Compactness. As in how elegant the code looks.
Conflating compactness with elegance. There are cryptography algorithms compact enough to be tattooed onto someone's arm, but I wouldn't call them elegant if I had to maintain them. If you mean elegance, say elegance.