TL;DR Qualunque strumento con cui ti trovi più a tuo agio.
Questa è una risposta difficile. Personalmente ti direi di usare qualsiasi strumento con cui ti senti più a tuo agio.
Nella mia esperienza ho imparato (per me stesso) che ottengo i migliori risultati usando gli strumenti con cui faccio meno fatica. Solo perché questo riduce la quantità di attrito nel processo.
Detto questo, c'è una certa quantità di strumenti popolari da usare. (E vado avanti e assumo che tu stia parlando principalmente di roba visiva. C'è davvero l'arte generativa in tutti i tipi di campi, ma più spesso che no, la gente presume le immagini. )
C/C++: OpenFrameworks/Cinder
Java: Processing
Javascript: P5.js
Questi sono solo alcuni dei framework più affermati usati quasi esclusivamente per cose artistiche.
Detto questo, faccio la maggior parte del mio lavoro in qualche forma o modo sul web. Questo significa che uso tecnologie che in qualche modo girano nel browser. Anche se mi spingo a lavorare su stampe, tendo a usare tecnologie web e semplicemente rendo le immagini ad alta risoluzione. Questo significa che uso tutto ciò che ritengo opportuno per portare a termine il lavoro. Molto di questo ha usato Three.js (che è un framework di grafica 3D più che popolare per Javascript)
Ma tenete presente che altri framework nascono di giorno in giorno. Molti sono mantenuti molto bene, e altri non lo sono.
Questa è probabilmente la mia risposta breve come affermazione generale. Ma questo non tocca nemmeno la superficie quando si tratta di altre lingue e piattaforme.
Vorrei quasi rimandare una domanda e dire: Cosa state cercando di realizzare? Questo sicuramente determina il software.