4 ms·
I agree. Sadly, it seems like C/C++ isn't popular for teaching the next generation to program microcontrollers (from my limited perspective, at least). At high
by Liftyee 3y ago
I agree. Sadly, it seems like C/C++ isn't popular for teaching the next generation to program microcontrollers (from my limited perspective, at least).
At high school I was taught Arduino and C++ but younger students have rPi Pico's and CircuitPython (Adafruit version of MicroPython), to use the same language as the CS syllabus. I guess the "easy" features of Python (many traps once programs get complex) make it attractive as a first programming language.
One project I've worked on for 3 years with a C++ codebase is going to be passed on to mostly Python programmers... I'll just have to make sure the hardware documentation is good.
- miki123211 3y agoWhy are people teaching kids to program on tiny microcontrollers instead of the beefy laptops they already have? Very few people are doing microcontroller programming these days, and so beginner-friendly microcontroller resources are far less plentiful than those for mainstream languages. Just teach kids Python on a normal laptop (or in the cloud if you're in the US and give them Chromebooks). I guess the ability to interact with the physical world (with servos and such) might make the subject more attractive to some, but I'm sure there are ways to plug those into a real computer, or at least a Pi.
- Liftyee 3y agoThey are getting taught microcontroller programming in addition to programming on PCs - only now they teach the same language for both. I presume it's the school's difference between "Computer Science" and "Engineering" subjects, with more physical electronics aspects to the latter. Personally I think teaching programmers how to interact with the real world beyond a keyboard and screen is pretty important, but I am biased from working on hardware. There are definitely ways to plug servos, etc. into a normal computer, and some of them are already branded as teaching tools. See SAMLabs, etc.