C++ is as good a language to start with as any other, in my opinion.
C++ is a horrible starting language, and here is just one example why.
Consider:
sf::Music * song = new sf::Music();
if(!song->OpenFromFile(soundName)) <----- EXCEPTION IS HERE
{
delete song;
throw SoundNotFoundExeception(
soundName + " was not found in call to SoundFileCache::GetSong");
Causes:
Unhandled exception at 0x776915de in Program.exe: 0xC000005: Access violation reading location from 0x91fecba1.
If you've been at this for a long time, you've probably run into this.
If you've been at this for a short period of time, you are probably going to start at the naked pointer and assume it is the guilty culprt, and for good reason, although in the end it is a complete red herring.
If you are new to C++ programming, you are completely screwed.
If you didn't click the link, i'm curious to know if you can guess what the problem is.