C# y Visual Basic son lenguajes diferentes. Para desarrollar con ellos gratuitamente puedes usar una versión express de Visual Studio, el lenguaje en sí, no es de pago.
Java no es de pago, y tampoco es necesario Netbeans, cualquier editor sirve. Si necesitas software multiplataforma yo elegiría esta opción.
No te recomiendo otro por que loq ue tienes que hacer tienes que hacerlo en algo que te sientas cómodo, yo lo haría en Python por ejemplo, y no uso un IDE clásico uso Vim.
Saludos