Pues si quieres hacer la misma app para multiples plataformas en c++ si necesitarás utilizar muchisimas dependencias porque no todos los núcleos y apis son los mismos, por ejemplo en windows tendrás que adaptarte a las dll nativas del sistema con sus apis, por ejemplo levantar una ventana ocn un botón se hace de una manera para linux con xwindow y de otra muy distinta en winapi, de hecho para poder utilizar correctamente cada api de osx necesitarás programar en objetive c ya que todo está diseñado para hacer uso de xcode. Necesitarás una librería en linux para usar sockets, otra en windows y otra en mac y con el tiempo te darás cuenta de que vas a tener tantas condicionales entre un sistema u otro haciendo una misma librería tres veces que vas a tener la necesidad de separar tu proyecto en 3 desarrollos distintos que al final harán lo mismo, uno para linux, otro para windows y otro para osx y cuando tengas que invertir meses en hacer una sola pantalla para las tres plataformas vas a reconsiderar utilizar otros lenguajes y tecnologías como java, python, node, html, etc.
Si, es así entonces optaría por Python porque ya se programar en Python, pero no se que tan lento o rápido pueda ser frete a Java en proyectos grandes?
Y que me dicen de lazarus?? no es una buena idea???
Saludos!!