jap, und auch für Arduino gibt es ja Java, und für Lego RCX, NXT und -ntl- EV3.
Man muss den Interpreter/die VM nur eben irgendwie drauf kriegen.
jap, und auch für Arduino gibt es ja Java, und für Lego RCX, NXT und -ntl- EV3.
Man muss den Interpreter/die VM nur eben irgendwie drauf kriegen.
Geändert von HaWe (30.03.2018 um 18:55 Uhr)
µC's mit Interpretersprache und Laufzeitumgebung gibt es ja schon länger (Basic Stamp 1992, C-Control 1994).
Das Problem ist halt, das zur Laufzeit der Interpreter läuft und das Befehlsscript verarbeitet. Damit werden die Systeme unglaublich langsam.
Da ich mit dem Rugwarrior vom MIT schon mit Interactive-C gearbeitet hatte, habe ich mir damals mal eine C-Control I von Conrad geholt und das selbe Programm einmal im CCBASIC (Interpreter) und in Interactive-C (Compiler) geschrieben. Da lagen Welten zwichen der erreichbaren Geschwindigkeit.
Wenn man das gegenüberstellt, fragt man sich warum braucht man Phyton auf einem µC?
Das ist wie bei einem Rennwagen (der nur für das eine Entwickelt wurde) bei der Hälfte Zylinder die Zündkerze rauszuschrauben und dann Damit zu fahren.
Kann man machen, aber ist es sinnvoll?
je nach VM und Programm (Java, C#/ Mono, Lego-VMs, Python) ist nativer Code 1-1000 mal schneller als VMs.
Gerade der Java-JIT Compiler und auch C#/Mono sind dabei fast ebenso schnell wie native Linux Executables - Python ist auf dem Pi durchaus schon mal 1000x langsamer.
Vorteil: oft können gerade mit Python extrem umfangreiche Bibliotheken super-einfach eingebunden werden, mit C++ vergleichsweise kaum zu erreichen.
Das gilt aber sicher eher für Linux, weniger für embedded VMs für MCUs mit wenig Flash und RAM.
Lesezeichen