- assembler (low level language)
- compiled languages
- C
- Pascal
- PL/M51 (history...) ?
- Basic? (compiled versions)
- interpreted languages
- Basic?
- fully interpreted (edited on microcontroller)
- pretokenized (edited on computer)
- Forth? (?)
Programming tools typically output
hexfile.
These languages often come as part of an integrated develoment environment (IDE), bundled together with an editor (possibly with syntax highlight) and various debugging tools (usually a software
simulator,
monitor "GUI" and/or
emulator (ICE) GUI.
However, today there are also quite a couple of general IDEs around (e.g. UltraEdit, se), allowing to quickly integrate whatever tools you have for '51 programming and debugging on different platforms.