What are the programming languages that can be used on Lego Mindstorm EV3? My son is interested in robotics. For me, I would like maximum flexibility for programming. For my son, I guess something simpler would be preferable so that his interest is not killed by complexity right from the start.

What are the programming languages that can be used on Lego Mindstorm EV3?

I am new to Lego Mindstorm.
With ev3dev pretty much any programming language you can run or compile for the ARM board can be used. All you really need to be able to do is read and write to a file. This is because ev3dev is based on Debian Linux and has drivers to communicate with the hardware through virtual files.
That being said, typically you will probably want to use a library which abstracts the low-level API. The following are currently well-supported.

Python
Java
Go
C++
C
Prolog
Vala, Genie, and other GObject-based languages
Rust

You can find the full list and some other 3rd-party libraries on the ev3dev Programming Languages page.