Hola:
Una vez compilado tienes el first.class. para ejecutarlo, SOLO tienes que poner el nombre de la clase (no del fichero)
Si añades .java, .class o d:\, java piensa que eso forma parte del nombre de la clase y no la encuentra.
La versión de java da igual, siempre que compiles y ejecutes con la misma versión.
En cuanto al Visual J++ es una especie de "aberración" de microsoft. Era la versión de java de miscrosoft, pero sun les denunció (y ganó) porque esa versión no era compatible 100% java. De hecho, ya casi no se usa y ha sido reemplazada por el C#.
Tus opciones de lenguaje son por tanto, java o C#. Una vez elegido, los ides son distintos. C# se usa ahora con visual .net de microsoft. Para java puedes elegir muchos, como ya te han comentado: eclipse (el que uso yo), netbeans, Jbuilder, JCreator, etc...
Se bueno.