ROX, C++20'ye derlenen, netliği ön planda tutan minimalist bir programlama dilidir. Temel felsefesi, programlama mantığının dilin kendisiyle mücadele etmek zorunda kalmamasıdır. Bu amaçla ROX, örtük davranışları, gizli dönüşümleri ve sentaktik hileleri ortadan kaldırarak, mantığı ifade etmeyi müzakere edilmiş bir süreçten ziyade doğrudan ve mekanik bir hale getirmeyi hedefler. Dilin tasarımında kolaylık yerine ifade netliği önceliklidir.
ROX v0 sürümü, bu netlik ilkesini çeşitli kurallarla pekiştirir. Her tür açıkça belirtilir, her hata bir değer olarak ele alınır (istisnalar yerine), her erişim kasıtlıdır ve her kontrol yapısı görünürdür. Dil, örtük tip dönüşümlerine izin vermez, dizi indeksleme için köşeli parantez kullanımını listelerle sınırlar ve hata yönetimi için rox_result[T] gibi açık değerler kullanır. Ayrıca, tek bir döngü yapısı (repeat) ve katı derleme zamanı tip kontrolü ile geliştiricilere şeffaf bir ortam sunar.
ROX, .rox kaynak dosyalarını C++20 (.cc) dosyalarına derler ve bunlar daha sonra clang++ kullanılarak yerel çalıştırılabilir dosyalara dönüştürülür. Hata yönetimi, isOk(), getValue() ve getError() gibi yardımcı fonksiyonlarla açıkça yapılır, bu da hiçbir şeyin gizlenmediği veya istisna fırlatmadığı anlamına gelir. Bu yaklaşım, geliştiricilerin yazdıkları mantığa odaklanmasını sağlarken, dilin kendisinin yoldan çekilmesini amaçlar. ROX, küçük ve belirli bir görüşe sahip yüzey alanı ile programlama deneyiminde netliği zorlar, seremoniye değil.
ROX, programlama dillerindeki örtük davranışları ortadan kaldırarak geliştiricilere daha şeffaf, öngörülebilir ve hataya daha az açık bir kodlama deneyimi sunmayı hedefliyor.