A Theta egy objektum-orientált nyelv, amit a Thor objektum-orientált adatbázis-kezelő rendszeren belüli használatra fejlesztettek ki. Az a követelmény, hogy a kód biztonságos környezetben, a Thor-on belül fut, lehetővé tette több jellegzetes elem befoglalását a nyelvbe, ilyenek az erős statikus típusellenőrzés, vagy az automatikus szemétgyűjtés (garbage collection).
A Theta egy könnyen kiterjeszthető nyelv, melyben a felhasználóknak lehetősége van definiálni és megvalósítani új, absztrakt típusokat és eljárásokat. Ezeket specifikációs részekben (_specifications_) kell definiálni, mely leírja az új absztrakció interfészét, de nem tartalmaz megkötést az implementáció részleteire; a típus-specifikáció definiálja a nevét és szignatúráját az új típus metódusainak. A típusok implementációját az osztályok (_classes_) tartalmazzák, és egy típusnak több implementációja is lehet. Az osztályok és rutinok implementációit modulokba (_modules_) szervezhetjük. A modulok biztosítják, hogy az objektumok és rutinok csak a publikus interfészükön keresztül érhetők el, de megengedi, hogy egymással kapcsolatban lévő kódrészletek között megosszunk implementáció-függő információkat.
A Theta biztosítja a típus hierarchia, a paraméteres polimorfizmus és az öröklődés elkülönítését. A típus hierarchia lehetővé teszi hasonló tulajdonságokkal rendelkező típusokból álló típus családok definiálását, a típusoknak több szupertípusa is lehet. Az öröklődés elkülönül ettől a hierarchiától, így kapcsolódó típusoknak is lehet független implementációja, illetve nem rokon típusoknak is lehet összefüggő implementációja; csak az egyszeres öröklődés támogatott. A paraméteres polimorfizmus támogatja általános kódok írását függetlenül a típus hierarchiától, és nem szükséges az újrafordítás más-más paraméterezésnél.