Software list is not exhaustive.
RobotC is the most popular programming language for VEX EDR and VEX IQ. It is a C-based language that offers both traditional text based programming as well as drag-and-drop graphical programming. It offers a number of features to make programming easier for beginners, such as more flexible syntax than traditional C and their real-time debugger that allows students to view the value of their variables at any time.
RobotC is available for Windows.
EasyC is a (primarily) drag-and-drop graphical programming language for VEX EDR and VEX IQ. It offers real C programming, compiling with gcc to the ISO C89 standard. It also offers a full C text editor as well.
EasyC is available for Windows.
PROS is an open source, full-featured C programming language for VEX EDR. It is built on FreeRTOS and designed for more experienced programmers, offering the advanced features and performance improvements that come with bare metal development. PROS automatically comes with a plugin for the Atom text editor, but users can edit PROS code in any text editor that they prefer and compile code with the PROS CLI.
PROS is available for Windows, Mac OS, and Linux.
Robot Mesh Studio is a Python programming language for VEX EDR and VEX IQ. It offers both drag-and-drop graphical programming (through Flowol or Blockly) and traditional text based programming (in Python). It also features a debugger with breakpoint support.
Robot Mesh Studio is available for Windows, Mac OS, Linux, Chromebook, and iPad.
MATLAB/Simulink offers either drag-and-drop graphical or traditional text based programming through the MATLAB programming language. Simulink is designed to make it easy to implement controls system algorithms through a concise workflow. The Simulink Coder generates C code that can be used either standalone or in conjunction with other C coding languages.
The MATLAB/Simulink package for VEX is available for Windows and Mac OS.