Hello there guys!
I have got a question; is it possible to use python for system level development. Instead of always relying on c/c++ or assembly. Isn’t it possible to make python more powerful that it’s current position. I agree that it’s already more versatile, user-beginner friendly, powerful language. but could be even possible to make more powerful. From script to system developments stuffs.
What do you think about this idea, please let me know!
I’ll be wait for your kind replies…
I don’t think that this is practical for assembly in my opinion as there are too many microcontroller manufacturers out there with their own unique assembly instruction sets. Here is a partial list (note that there can be different instruction sets for different microcontrollers product families even within the same company - 8 bit, 16 bit, 32 bit, etc., and even between the same data set family):
Note that due to mergers / aquisitions, some manufacturers might not be included in published lists since they will now fall under their new parent company (you would have to specifically go to the new parent company for the documentation, i.e., instruction set). I gather it would be a bit discouraging to create a library package for manufacturer “X”, knowing it would not be universally compatible either within the same company let alone other microcontroller product manufacturers.
I read that there are some projects, like https://micropython.org/, but in general python is more focused on “generic, obvious, understandable” code, and low-level development usually aims for “specific, fast, efficient” code.
Usually, the fastest, most resource-efficient code is one that utilize every arcane trick possible, which is not very pythonic. You can develop some of the algorithm in python and validate against it, but languages like c, c++, and rust are more suited for this kind of things
In MicroPython there is a balance between C code , and MicroPython code compiled to bytecode before inclusion in the firmware but there is a place and need as well for hand optimizing the code emitted for specific ARM processors.
Also IIUC the new CPython REPL is written in Python, which makes it accessible to more contributors.
I don’t think any single tool can do all jobs well. But I think there are other good options but C/C++ , that allow for significant higher developer productivity at only a slight performance penalty.