I don't use C2 in teaching, but my feeling is that C2 is NOT a good learning environment by default. I can see how a good teacher could utilise it in a structured learning plan, but as a standalone tool, no.
Why not, it's too forgivin in many ways - it enables quick and dirty coding and coding by hacking. I may be old-school but I still remember being taught that you should have your code written on paper before you ever touch a keyboard. Okay that was more decades ago than I want to admit, but formal processes, logic and structures are important which C2 doesn't inherently force on you... but then it shouldn't.
So my opinion, C2 does not teach necessarily teach you to code well, it does empower you to start coding and doing something (like basic in old days) but C2 is hugely enhanced if you already know how to code well (whether formally taught or not).
PS: just to emphasise, a good teacher can make anything work
PPS: scratch is a much better learning tool for coding than C2