I need to know which technologies should I be familiar with to program for Arduino? Or knowledge of native Java will be enough?
-
5\$\begingroup\$ No, Java is completely irrelevant to Arduino. \$\endgroup\$us2012– us201209/28/2013 01:17:38Commented Sep 28, 2013 at 1:17
-
4\$\begingroup\$ This question appears to be off-topic because it is not about electronic design. \$\endgroup\$Matt Young– Matt Young09/28/2013 01:17:56Commented Sep 28, 2013 at 1:17
-
\$\begingroup\$ Migrate to SO.SE? \$\endgroup\$Anonymous Penguin– Anonymous Penguin09/28/2013 15:23:51Commented Sep 28, 2013 at 15:23
2 Answers
Java is largely irrelevant to Arduino programming. Running Java needs a JVM (Java Virtual Machine), which is, roughly speaking, a combination of an interpreter and a just-in-time compiler for the JVM bytecode language. This needs quite a bit of memory and computing power. I don't know much about that newer ARM-based Arduino, but my guess is that even that doesn't have nearly enough memory and power to run a JVM.
For Arduino programming, the main languages are C and C++ (or rather, a certain subset of C++).
-
1\$\begingroup\$ Although the IDE is written in Java. But that's still pretty much irrelevant. \$\endgroup\$Ignacio Vazquez-Abrams– Ignacio Vazquez-Abrams09/28/2013 01:23:40Commented Sep 28, 2013 at 1:23
If you know Java then C++ (used by the arduino ide) will be very easy to pick up.
-
\$\begingroup\$ This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post. \$\endgroup\$Nick Alexeev– Nick Alexeev09/28/2013 03:09:10Commented Sep 28, 2013 at 3:09
-
\$\begingroup\$ Java and C++ are marginally similar, and throwing a MCU into the mix just complicates it more. \$\endgroup\$Ignacio Vazquez-Abrams– Ignacio Vazquez-Abrams09/28/2013 03:51:47Commented Sep 28, 2013 at 3:51
-
2\$\begingroup\$ @NickAlexeev - no, it does answer the question, by pointing out that the Arduino is C++ based but that this has major similarities to Java which can be leveraged for learning. \$\endgroup\$Chris Stratton– Chris Stratton09/28/2013 05:06:01Commented Sep 28, 2013 at 5:06