@vjreddi
Hey prof! Thank you for inviting me. I was wondering if I could code using Java 'cause I have a really good understanding of this language. Also, comparatively, I’m not that good at python. Anyways, Love the community over here! Thanks for inviting me to the forum once again:) smiley:
Great to have you here, at least this way there is a community that can help co-advise you on topics of interest.
Java is going to be tough for embedded microcontrollers as the code is very bloated (depends on virtual memory, needs OS support for memory management etc.), and so it is not as lean as C/C++.
Check out the section 3 of this paper, where we explain the issues:
@vjreddi Thanks prof! I too realized and think that C++ and python are better alternatives to it. Thanks for sharing the paper, I’m sure gonna check it out.
Since you already have a good understanding of Java programming language, picking up Python or C++ (to the extent needed for this course) isn’t really difficult.
In fact, both are object oriented, while Python is a scripting language, C++ is a compiled language. The compiled C++ code is nothing but the instructions to the microcontroller just as the compiled java code is the instructions to the JVM.
In both, Python and C++, we use classes, attributes and methods just as we do in Java, but without much of the complexities of java.
Just by going through the Colab exercises in Course-1 (Fundamentals of TinyML) and the documentation at https://www.python.org/ , you can easily pick-up Python scripting.