Demos are interesting for sure and I wouldn't say competition in this space is a negative thing. Not sure how many are actually going to use Jai though, obviously having proper FFI to support stuff implemented in other languages could help.
The most probable replacement for C++'s role in the long term would be Rust and it has already been used in certain companies tools. Not that it's saying much since Haskell and Ocaml also appear from time to time. Of course it's also possible that Rust proves to be too difficult for many, the same reason why we are stuck with crappy languages to begin with ;-)
The problem with Rust is that its compilation constraints are not applicable to game development. Rust has a fantastic compiler, it reduces a lot of bugs that can be caused in a language like C due enforcing constraints at compile time, this is great for mission critical systems, but game development is not that. Also it has great compiler error messages, the Cargo system is great, Rust is a great language, but I don't like it for game development and I don't think its' suitable for that workflow.
Game development is a very different software engineering approach than others, architectures, techniques, data structures, etc are unique, and general purpose systems languages offer the accessibility to hardware, but are not particularly suitable to the reality of game development, such as Rust.
Rust's compiler enforcement of constraints is too resistant to the workflow of game development, for a mission-critical system this is a trade-off with big pay-off, but there is nothing disastrous about a game crashing, it's a bug that can be fixed and patched, where as a rover on Mars is a different story.
In game development you want access to data as fast and wherever you need it, and you want to transform it, Rust makes this difficult to do easily because of how it is obsessed with safety and scopes.
In game development you want the ability to do unsafe things, Rust while it gives you access to the hardware, still wraps you around in safety gear, making things more resistant, and hurting workflow.
In game development you want to write high performance code as fast as possible and want easy access to data, in Rust, you can write high performance code that has lower possibility of run-time bugs due to compiler constraints, but it takes much longer regarding workflow.
C++ is my primary language but I don't subscribe to the insane levels of OOP dogma that's been around for so long now, but I also use and like Rust (although I am no expert of the language) - just don't like it for game development.