I need to know which technologies should I be familiar with to program for Arduino? Or knowledge of native Java will be enough?


closed as off-topic by Matt Young, JustJeff, Stephen Collings, Nick Alexeev, Gustavo Litovsky Sep 28 '13 at 5:38

  • This question does not appear to be about electronics design within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 5
    \$\begingroup\$ No, Java is completely irrelevant to Arduino. \$\endgroup\$ – us2012 Sep 28 '13 at 1:17
  • 4
    \$\begingroup\$ This question appears to be off-topic because it is not about electronic design. \$\endgroup\$ – Matt Young Sep 28 '13 at 1:17
  • \$\begingroup\$ Migrate to SO.SE? \$\endgroup\$ – Anonymous Penguin Sep 28 '13 at 15:23

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 Sep 28 '13 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 Sep 28 '13 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 Sep 28 '13 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 Sep 28 '13 at 5:06

Not the answer you're looking for? Browse other questions tagged or ask your own question.