Programming Arduino with Python or Asm

vffgaston:
As I see it, even a microcontroller can be used for tasks quite different from a math calculation ... Think on a system that receives a few digital/analog signals and has to navigate into a finite state machine to detect some state that is at the end of a logical laberinth. Or you just want to use a small alphanumerical display to implement a basic dialog with the user.

Ok, let's ditch the math. Let's make indeed a system that receives a couple of signals every 5 minute or so, and acts upon it. Such a device will probably be off the grid powered by batteries. So you want to use as few as cycli as possible so it can run for as long as possible. Coding this with python will cost extra cycli which will result in a lesser online time.

You only have 16MHz, using a part of them to be able to run python code is a waste imo. Yes, driving a display is possible in python. But driving a display, checking an input pin at 100kHz, doing adc conversion, do a bit of basic math, you will go to the limit.
What I'm trying to get to, is that as a hobbyist, you will run into the 16MHz if you're using python and have a reasonable project. You will find yourself going to C/C++.

Again, why use extra resources on a system that is made to minimalize the resource needed. Learning C/C++ isn't that hard after python. Most things are similar. Once you can program, it's easy to switch to another language.

Also, wouldn't python take more RAM and memory? Since it's a scripted language and doesn't know what's ahead.