Sather [22] è un linguaggio orientato agli oggetti nato con gli obiettivi primari di essere efficiente, di fornire potenti astrazioni per l'incapsulamento e il riutilizzo del codice. Il linguaggio dispone di speciali caratteristiche che permettono di verificare in modo estensivo e dettagliato la correttezza del codice: il codice può essere reso robusto mediante precondizioni, postcondizioni e invarianti di classe. È un linguaggio fortemente tipizzato, supporta l'ereditarietà multipla, le classi parametriche, la gestione delle eccezioni. La gestione della memoria è affidata a un garbage collector . Il compilatore Sather genera codice C, che può venire facilmente collegato con codice C preesistente, permettendo di godere della portabilità e l'efficienza del C senza adottarne le complessità e i pericoli.