Fürs Selbststudium würd ich C++, JAVA oder C# empfehlen. Wichtig ist eher das Prinzip hinter der objekt orientierten Programmierung zu verstehen bzw. in der Lage zu sein SW korrekt zu designen (sprich leichte Wartbarkeit, Erweiterbarkeit), das Snytax Verständnis baut sich dann eh beim Coden auf.
An IDEs kann ich folgendes empfehlen:
C# --> Visual Studio 2008 Express Edit. --> gratis
JAVA --> Eclipse
C++ --> VIM

(unter Linux), Visual Studio 2008 Express Edit.
Je nachdem in welche Richtung du dann gehen möchtest musst dich halt für eine spez. Sprach entscheiden. Wenns HW nahe wird dann C++, bei plattformunabhängigkeit bzw. "High Level" Applikationen wirds JAVA bzw. C# (wenns halt Windows spezifisch wird, Mono mal außer acht gelassen).