Das ist weniger eine Frage der Sprache als der verwendeten (Grafik)API. Direkt von der Ottonormal-Grafikkarte werden heutzutage OpenGL und DirectX unterstützt. DirectX verfügt über zig Komponenten, darunter auch DirectDraw, welches afaik für 2D zuständig ist. OpenGL ist primär für den 3D-Bereich ausgelegt, was nicht heißt, dass es die Erstellung von 2D-Spielen nicht auch erheblich leichter machen kann. Nicht nur, weil es durch Hardwarebeschleunigung sehr flott ist sondern auch durch den 3D-Raum welcher die perspektivisch korrekte Z-Anordnung für dich übernimmt. Und dann gibt's natürlich noch jede Menge Effekte, Pixelshader usw.
Die meisten anständigen Sprachen können diese GrafikAPIs einbinden. Aus eigenen Erfahrungen empfehle ich nunmal C/C++. Mit PureBasic kann man übrigens auch direkt auf OpenGL zugreifen. (Musst du mal im PB-Forum nachfragen oder googlen. )
Es spielt also weniger die Programmiersprache eine Rolle sondern die API welche ja die Funktionen mitliefert, womit dann das Bild erzeugt wird. Und diese Funktionen sind in allen Sprachen gleich zu handhaben, die Syntax ändert sich nur geringfügig (Manche Sprachen erfordern keine Klammern um Funktionsnamen und solche komischen Sachen... ).