Si quieres que funcione en Linux y Windows (y más cosas) yo escojería Java. Desarrollar aplicaciones es muy sencillo, con la posibilidad de usar objetos remotos, SQL independiente del motor de BBDD, aplicaciones de red, graficas, etc. Sabiendo C++ no te resultará difícil Java, más aún con la buena documentación disponible en la página web. No creo que Java vaya a desaparecer en favor de C#...
Con respecto a la interfaz gráfica, en java hay AWT y Swing. La AWT es la más antigua, mucho más "cutre" pero más rapida. Swing es más espectacular y completa, a costa de un consumo más elevado. Interfaces de desarrollo para Java hay muchos, como el Forte for Java o el Netbeans.
Java & Swing
(Puntos:2)( http://julipedia.blogspot.com/ )
Con respecto a la interfaz gráfica, en java hay AWT y Swing. La AWT es la más antigua, mucho más "cutre" pero más rapida. Swing es más espectacular y completa, a costa de un consumo más elevado. Interfaces de desarrollo para Java hay muchos, como el Forte for Java o el Netbeans.
The Julipedia [blogspot.com]