6 AnswersNew Answer
Most content I've used and created has been written in Python, but it depends on what you want to achieve. I've personally yet to use Java with the RPi, but I would assume it works almost just as well as Python. I had a project where I needed to do audio(signal)-processing for the RPi where I even used Matlab's Simulink. Should also be noted Arduinos own software https://www.arduino.cc/en/main/software is straight forward to use.
I am looking into doing some IoT projects, but I'm on the 'still deciding' phase. I've done a little digging and figured that Arduino was virtually, if not entirely, written in C. Now if this is the case, would it be overkill to learn C instead of Arduino, or it suffices for my purposes? Then again aren't there any significant latency issues with the 'higher level languages' (i.e. Python, Java, Matlab etc)? Thanks.
Thanks a lot Fred, can't wait to try it out. 😉
I only have experience with the Raspberry Pi, and I know that it's two main languages are Java and Python.
with python and pyserial you can control both devices with the same language: python. All c you need is the firmata firmware that you'll upload on the arduino. This is the easiest option to get quickly and easily, interensting results that will keep you motivated in digging deeper.
I have not tried using C with Arduino, as their software has been sufficient for my purposes. I can see from your profile you already have some idea of programming (Java & C#). With that knowledge I would guess you could understand the Arduino language in about a day, but if you want to really dig in learn C, then you could go as far as to modify some of the Arduino libraries yourself if needed. About latency issues, I've only experienced noticeable issues with Matlab, as it was processing such a vast amount of samples. If you keep your code clean, there shouldn't be too many issues.