Not to nitpick, but why does the coding language jump from Scratch to C++ ? Wouldn't kids find Python less infuriating that Scratch and less intimidating than C++ ?
Scratch is used when coding isn't a focus, and mechanical engineering students just want to 'get the job done'.
C++ is used because it's probably the most 'pro' language. Close to bare metal unlike Python, but object oriented and stuff unlike C. C++ is used pretty much any time complex algorithms, threading, etc. are involved during competition.
Recently Vex has been trialing Python in Vexcode, but it's relatively new so they might not have built courses for it yet, if the even plan to.
Scratch is slower interaction for me just because I have muscle memory for text/ide/command-line, but I can see how Scratch would be a lot faster with novices given the pervasive threads and click-to-run.