I'm confused if the Arduino uses C C# C+ C++? Looking though the FAQ quickly, is it just functions from so and so of these languages or is there more?
Will the language I learn carry over to the PI?
I should learn to program with a Arduino first?
The RPi is a PC in a very small package an it (uusually) uses the Linux operating system. For many purposes having an operating system is very useful - especially as it allows the appearance that several complex programs can run simultaneously and it manages access to the complex peripherals such as keyboards and disk drives and screens. But because it does that it is not possible to guarantee precise timing - it might be checking for a keyboard when you would prefer it to be doing something else.An Arduino has no operating system so it gives all of its resources to running your program. That is the reason they are used for jobs where precise timing matters - for example driving 3D printers or CNC machines or detecting the speed of a rotating shaft. The downside with an Arduino is that its clock speed is only 16MHz and an Uno has only 2000 bytes of SRAM.Using an Arduino in conjunction with a PC or an RPI can give you the best of both worlds. I have added stepper motors to my small lathe. Most of my software is written in Python and runs on my laptop. The Arduino is only used to control the stepper motors to implement the moves calculated by the PC program.I confess that I have not yet managed to convince myself that it would be worth buying an RPi as I can do all the "PC" programming that I need on one of my laptops which come with a screen and keyboard and an uninterruptible power supply....R
A Raspberry-Pi is MORE than capable of handling the real-time aspects of CNC control - FAR more so than an Arduino.
Python is probably the most common language for RPi programming but as it is an interpreted language it could not work in the small memory for an Arduino.