The CLI is easier to integrate into a normal development workflow, than clicking buttons, dragging files, or copy/pasting code to get the code into the browser.
I guess this supposes that "normal" means somewhere near the command-line, which might not be true for all developers.
I imagine the idea behind this was to avoid having to roll an in-browser IDE with the advantage of letting users use (and learn) the actual tooling that comes with that language.
I personally liked using my own editor, but the CLI didn't provide much added value in my opinion. The tests were enough for me and it was kind of annoying to have to run the CLI every time you're finished just to get the next exercise...
Yes, but what's the value in this website having a dedicated application that I either have to trust blindly or evaluate and compile?
We already have this great sandboxed environment called a browser for running untrusted code from the internet. They could still offer endpoints for curl, if it's just about using the command line.
> I can't think of a single manager that I've worked for who would accept me saying, "it's going to take me 3-6 months of refactoring & building tests before I can start fixing bugs and providing enhancements."
I can't think of a single developer I've worked with who would try that approach.
When a bug is identified in a project with few-or-no tests, the approach that I usually see taken is to write some sort of large, slow integration test that exercises bug, then fix that. That allows you to prove that the bug exists and prove that the fix fixes it, at least for the documented case(s).
There's no reason to cover an entire legacy code base with tests if you're only changing a small portion of it.
I guess this supposes that "normal" means somewhere near the command-line, which might not be true for all developers.