There are two official editors for Micro:bit; MakeCode and Python. They are browser-based, meaning they work on Windows, Mac, Chrome OS, Linux and no software installation is necessary. They are also localisable into many languages.
The MakeCode editor can also be used offline if needed.
Check out how to get started and find out more in the MakeCode Editor reference
Our Python editor provides an introduction to Python programming using the micro:bit. You can add a range of common code snippets to your program and you can also create and use your own Python modules with it. It is based on MicroPython, a slimmed-down version of Python designed to run on microcontrollers like the micro:bit
Check out the MicroPython reference to get started
The micro:bit runtime provides an easy to use environment for programming the BBC micro:bit in the C/C++ language, written by Lancaster University. It contains device drivers for all the hardware capabilities of the micro:bit, and also a suite of runtime mechanisms to make programming the micro:bit easier and more flexible. These range from control of the LED matrix display to peer-to-peer radio communication and secure Bluetooth Low Energy services. The micro:bit runtime is proudly built on the Nordic Semiconductor SDK platforms.
Third Party/Alternative editors
There are a host of editor environments developed by the micro:bit community that also work with micro:bit. They will each contain reference documentation on how to use them.