1
Rovnako ako C / C ++, aj Terra je staticky napísaný kompilovaný jazyk s ručnou správou pamäte.Na rozdiel od C / C ++ je od začiatku navrhnutý tak, aby bol meta-programovaný od Luy.Dizajn Terry vychádza z poznania, že C / C ++ je skutočne zložený z viacerých „jazykov“. Má základný jazyk operátorov, tokov riadenia a volaní funkcií, ale obklopujúci tento jazyk je metajazyk zložený zo zmesifunkcií ako predprocesor, systém templatingu a definície štruktúr.Samotné šablóny sú Turingovo kompletné a používajú sa na výrobu optimalizovaných knižníc, ako je Eigen, ale je ich hrozné používať v praxi ... V Terre sme sa práve vzdali trendu vytvoriť metajazyk C / C ++ viacvýkonný a nahradil ho skutočným programovacím jazykom, Lua.Kombinácia meta-programovaného jazyka nízkej úrovne meta skriptovacím jazykom vysokej úrovne umožňuje veľa správaní, ktoré nie sú možné v iných systémoch.Na rozdiel od C / C ++, Terra kód môže byť zostavený pomocou JIT a spustený s vyhodnotením Lua, čo uľahčuje písanie softvérových knižníc, ktoré závisia od generovania runtime kódu.