We see CircuitPython as a programming system that lets you use the well-known Python language. Because you get a built-in interpreter, it is not as complicated and difficult to use as Arduino. (But, it also doesn't have the many years of Arduino projects and libraries that have accumulated over the last decade plus)
What CircuitPython excels at is:
- Very fast development - write code, save the file, it runs immediately. No compiling, no downloading, no uploading
- REPL - You can start interactive programming with the REPL
- Easy code changes - Since your code lives on the disk drive, you can edit it whenever you like, you can also keep multiple files around for easy experimentation.
- It's Python! - Python is the fastest-growing programming language. It's taught in schools and universities. CircuitPython is completely compatible with Python (it just adds hardware support)
- Strong hardware support - there are many more libraries for external sensors and capabilities than MakeCode (but not as many as Arduino)
- File storage - The internal storage for CircuitPython makes it great for data-logging, playing audio clips, and otherwise interacting with files, something MakeCode doesn't and Arduino does poorly.