From what i've researched here is my thoughts on both
- C++ I heard that you can create libraries using C++ in arduino. And you can use the Arduino IDE to do that stuff. Here is the proof
http://arduino.cc/en/Hacking/LibraryTutorial
Notice that it uses the C++ syntax.
I also see arduino projects on github written on C++ https://github.com/search?l=C%2B%2B&q=Arduino&type=Repositories&utf8=%E2%9C%93
- C
I heard that you can use AVR GCC and code it without the arduino ide. And I heard it's much faster than the arduino language because it's more closer to the metal. But I think it's harder to set up because you need a programmer into the Atmel chip, which is much more costlier compared to directly plugging in the arduino using the USB to printer cable. And you also need to download a bunch of stuff to get coding in pure avr gcc (win-Avr GCC, atmel studio etc.).
Which one should i learn C or C++? I prefer the easy to debug route. Or is it beneficial if i learn both?