Arduino Language

Is the Arduino language based off of C/C++ or Java. I have read different places that say different things

The language is C++. The IDE runs in a Java virtual machine.

The Sketch (the stuff you write) is written using C / C++.

The Arduino IDE is written in Java.

If I buy a book would it be better to get a C or C++ book?

Have you developed programs in any other language? If the answer is "no" then you definately want to get a C book.

If the answer is "yes" then... Was the other language object oriented? If the anser is "no" or "I don't know" then you definately want to get a C book.

If "yes" then... Are you comfortable developing object oriented programs? If "no" or "I don't know" then you definately want to get a C book.

If "yes" then... You should consider getting a C++ book.

Would it make sense to get a book that contains c and c++?

Would it make sense to get a book that contains c and c++?

In my opinion, no.

Get a book on C to learn about program structure, loops, functions, variable types, debugging, etc.

If you want to develop programs that get more complex than C is usually used for (which is pretty complex), then get a book on C++ (or read stuff online).

Our library system has lots of books available online. I read most programming stuff that way, rather than spend $25 to $50 for a book I might never actually use again. Perhaps the same is true where you are.

Ya I found a pocket reference c++ book. Have you heard of that book. Is it good?

I'd avoid anything with reference in the name. Generally, it means that the book has information about a function, such as how it is called, and what the inputs and outputs are, but not much on how/when/why to use a function, and nothing on how to develop an application from scratch. Think of it like an encyclopedia. You want something more like a novel, with a store to tell.

Kelley and Pohl's 'A Book on C' is an excellent reference to C and contains a useful cross-over to C++.