Joo is a clean, fast, static typed, general purpose programming language created to run on machines with extremely low resources like microcontrollers.
It's a programming language that gets compiled to bytecode and is executed by the virtual machine, so it allows you to upload the VM sketch to the arduino once and send the byte code that will be executed through the serial monitor of the arduino for example, without needing to reupload the sketch every time!
You could also put multiple programs on a sd card, and execute them.
Examples - You can send a program to the arduino using serial communication, or use a sd card with the compiled program files and then execute them without needing to reupload the sketch.
Advantages - No need to reupload the sketch.
Downsides - I don't know. Maybe that the language has some limitations due to the extreme eficiency.
Ever wanted to upload multiple programs to the Arduino UNO? Guess what? Now you can! the joo virtual machine that executes the byte code runs in a environment with only 2KB of ram!
Ever wanted to have multiple programs in a sd card, and execute them without having to reflash or restart the arduino? Now you can! You could use a display to list the files in the sd card and then a button to select wich program to execute and just execute it. In a environment with only 2KB of ram!
Ever wanted to be able to upload a update to the arduino with let's say, a bluetooth module? Now you can! You can modify the virtual machine to receive the code through bluetooth!