Answer the question
In order to leave comments, you need to log in
What language to learn for programming microcontrollers?
What language to learn for programming microcontrollers, esp32 and arduino?
As far as I understand, they are programmed in C, C++. But it is possible to flash the controller, and then you can write in micropyton or js.
I tend to python, but maybe this is the wrong choice.
Answer the question
In order to leave comments, you need to log in
depending on what you are going to do from the microcontroller and how to work with it ??
C is the "lowest" language of all presented, closer to hardware and architecture, giving more access to hardware features and tricks. but also more demanding on the brains of the pogromist.
therefore the majority leaves for languages of higher abstraction from iron.
if you only have enough for python, write in python.
If you seriously go deep - then C / C ++, Assembler
JS / Python in the context of development for microcontrollers - just play around ...
1. C is the main language.
2. ASM - additionally, for small "inserts".
Everything else is prank.
You forgot such a thing that when programming a microcontroller you have a strictly limited set of resources, determined by the microcontroller model. If you are doing a single project for yourself, then you can afford to take a microcontroller several times more expensive, but with a large amount of memory, and put a whole interpreter of your favorite python there. But in mass production, this is likely to be an unaffordable luxury.
ps All these boundaries "expensive-cheap", "many-few" (resources) are very arbitrary and are constantly changing. Just as for large computers now in the mass few people care about the "appetites" of programs, perhaps soon it will be the same with microcontrollers.
pps Arduino microcontrollers do not exist. This is the "platform"
arduino and js is a strange combination, I generally keep quiet about micropyton.
Iskra boards are programmed in js for reasons I don’t understand, but Iskra and arduino are very different devices, plus an extra waste of already scarce resources
. When it comes to writing hardware programs, this is Assembler, C, C ++
C or C++ is the gold standard.
Assembler is too difficult (this is quite the level of iron, for an amateur).
Python - too demanding on resources need controllers with sufficient memory size and good clock speed.
As a rule, C
If very close to the hardware or the controllers are very weak - assembler. There, of course, the code is written for a long time and debugging - #oops #opskaya, but you can do some magical things...
C++, popular, has answers to all questions, more than enough features to solve any problem. It's just that C does not provide any advantages over C ++, but it limits the possibilities. C++ doesn't make any code bloat either, on the contrary.
I would advise Rust, but only in 5 years, when the toolkit and the community will catch up. While this is a marginal direction.
Any pythons with javascripts on MK is a marginal direction for a developer under MK.
They are for schoolchildren/learning.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question