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.
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
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.