Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to start to play with Arduino.

I've read that C and C++ are the official languages but I've also found other way to communicate using Python or Java for example.

Which programming languages are supported to program Arduino?
Are there any limitations using Python or Java?

share|improve this question
up vote 1 down vote accepted

You are a bit confused. I would stick with the c/c++ arduino enviroment for the arduino. Java, Python, Processing are used on the pc to run communications with the arduino, they are not laguages for the arduino. One limitation for them is that they do not run on the arduino.

share|improve this answer
7  
I think it may be you that is confused. The arduino doesn't run interpreted code, it's compiled. Code can be compiled from any high-level language that has a compiler for the hardware. – brianary Jan 4 '13 at 18:35
    
I second @brianary, this answer is wrong and should be un-accepted to avoid confusing readers. Microcontrollers run compiled code just like microprocessors, any high level language can be used if someone took the trouble of making a compiler for your platform. Some languages like Java and python are not necessarily compiled and may require an interpreter, but as a standard program someone may have made one for your platform. – Mister Mystère Aug 31 '15 at 7:23
    
Who said the arduino runs interpreter code. Of course the arduino can run any language there is a complier for, but it can interpret any code that someone bothers to write an interpreter for it. I have not researched this. I just recommended sticking with the standard c/c++ enviroment, and noted that with communications the pc could run a "pc language". – russ_hensel Sep 1 '15 at 15:22

My advice, stick with the C++ derived Arduino language or use raw C/C++. It's ideally suited to microcontrollers. But, if you like esoteric languages:

share|improve this answer
    
I've read that when you buy a shield, it is typically shipped with a C library which is used to interface it with the arduino program. Can these libraries be imported also in those proposed esoteric languages? – systempuntoout Apr 28 '11 at 18:49
4  
With some porting work, yes. For interpreted languages, you could port the shield's driver into the interpreter and add calls. For a compiled language, you could add the shield's driver to the runtime. – Toby Jaffey Apr 28 '11 at 19:00

you can use the language that you feel more confortable, then you can look for a way to compile in arduino code machine. For example I use Go Lang and I use gobot.io to do it working...

Exist Cylon.js if you want to program in JavaScript or Artoo for Ruby developers.

Actually C is the most common because the IDE of arduino work with it.

share|improve this answer
    
No, C++ is the most common. – Ignacio Vazquez-Abrams Oct 23 '14 at 21:25
    
the most common is C. – Careuno Merchan Nov 11 '14 at 19:00
    
It looks like C, but it is really the C-like subset of C++. As a demonstration, try using __flash in an Arduino sketch. It won't work because the Arduino IDE uses a C++ compiler, whereas a similar program using the C compiler will compile properly. – Ignacio Vazquez-Abrams Nov 11 '14 at 19:02
    
Ok, thanks for the information – Careuno Merchan Nov 12 '14 at 9:48

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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