Expressive
Large design space, low-level control & customized design
Efficient
Concise specification & rapid iteration