Expressive
Large design space, low-level control & customized design
Efficient
Concise specification & rapid iteration
Accessible
Easy to learn & modify; quick to get started