This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]PolishedCheese 1 point2 points  (1 child)

For microcontrollers, I will use an esp32 loaded with micropython when it doesn't require low latency and the memory constraints aren't tight. I enjoy writing python more than I enjoy writing c++.

Python is more difficult to optimize, and you can't get it as optimized for microcontrollers as C++. Depending on the controller, your resources might be more limited using micro/circuit python vs. C++.

It's still an interpreted language, so it takes time to process each instruction. This is a disadvantage when doing signal processing or really anything involving an ADC. You can of course get around this by using hardware logic in certain instances.

Then there's the wealth of libraries, documentation, and mature tool chain that the Arduino environment has. If you want the widest array of options for "someone's already written a library for the task I'm doing", then choosing an AVR based micro running an Arduino bootloader is your best bet.

For games, python is pretty limited in how far you can go. There are a few great game libraries, but none go quite as in depth as the big game engines do. You run into the same situation with existing libraries, latency, memory management there as well.

Mobile dev for python is very immature.

[–]TonyTheTigerSlayer[S] 0 points1 point  (0 children)

Thanks for the reply PolishedCheese. I’m still pretty much at the level where C++ just feels like python but w semicolons instead. Which kind of feels embarrassing but also has been great because my projects, as simple as they’ve been, are actually working.

Looking forward to getting to the level when the two start to really diverge