I started out programming a TI 84+ SE calculator in high school, concurrent with joining robotics (i was not our team’s programmer, surprisingly). TI Basic was my introduction to programming. Menu based, linear command structure, very simple. I built up until i was pushing the capabilities of the language and platform, then i moved up.
I then went on to Python, Java, C, C++, PLC Ladder Logic, and XML in college.
Since then, i have expanded on PLC Ladder Logic and XML, and added in Batch and VBA which i have learned while working. (Additionally, the menu based Teach Pendant Programming languages of Motoman and Fanuc)
There is a huge amount of programming that becomes very intuitive and instinctual once you learn two or three languages, and most of my language changes have been out of necessity more than anything. Class requirements, company security policy, technical limitations, etc.
I am not a teacher, and i can’t claim to know the best way to START programming, but I think there is value to starting with a large, well established, well documents, widely supported, and super flexible language like C++, to push off that need to jump languages for a little bit longer.
We get a variety of students who get pushed into the roll of programmer. Some want to program anything and everything. There is a lot of value to them learning text based coding from the start, Some will not program a microwave clock once they leave robotics. For them, graphical or VEX specific programming may be fine.
We want all of our students to use the same language, so it was just a matter of which language to use. I personally wanted an object oriented language, since that is the style of programming which i am most experienced with.
Up till this year, all of our robots have been programmed in RobotC, and beginning this year, we have transitioned to PROS C++. Our hope is that this will be our internal standard going forward for all of our teams. We just had our only programmer graduate at the end of last year, and are starting over with all freshmen, which made it an ideal time for a switch.