¿Son mejores las bibliotecas GUI en C ++ o Python?

Las bibliotecas Gui son interfaces hacia parte de un sistema operativo o subsistemas (Win32, X11 …) eventualmente envueltos en una capa de abstracción C (como GTK)

Por esta razón, todas las bibliotecas GUI son -en el nivel inferior- funciones C, manipulando tipos opacos. (una forma clásica de implementar OOP en C), y todas las bibliotecas en otros lenguajes son “enlaces” hacia estos, con una interfaz organizada más o menos limpia.

Según el día de hoy, debe elegir entre conjuntos de funciones C difíciles y grandes, o entre bibliotecas OOP subestándar mal codificadas como todas las de otros lenguajes OOP. (sí, Qt incluido, esa es una de las peores implementaciones de C ++. Está lleno de funciones de fuegos artificiales, pero NO es C ++ idiomático. Cosas como puntero desnudo o … QString o un sistema interno de tipo Runtime o un despacho de eventos basado en macro o las clases de contenedor propietarias no deben existir en C ++ moderno: Qt es la filosofía de 1995). Python no es incluso mejor, ya que la mayoría de sus bibliotecas son, esencialmente, traducción de otras existentes, principalmente de C ++.

¡Es hora de tener un estándar adecuado!

C ++ y Python usan el mismo conjunto de bibliotecas de IU subyacentes: QT, GTK, .Net, GL, TK, etc.

Casi todas las bibliotecas de UI de C / C ++ podrían tener enlace de Python.

Entonces, si estamos hablando de capacidades, es lo mismo. La facilidad de uso suele ser Python forte.

En el mundo Java, puede usar JavaFX (declarativo, ligero), Swing (ligero) o SWT (abstracción de interfaz de interfaz de usuario nativa).

Muchas bibliotecas GUI creadas con y para C / C ++ también tienen enlaces para otros idiomas. Qt tiene PyQT / PySide, GTK + tiene enlaces para muchos idiomas, incluidos Python y wxWindows tiene enlaces wxPython, por ejemplo.

Si está preguntando acerca de las bibliotecas GUI escritas en Python puro o C ++, entonces C ++ claramente tiene ventaja.

Esta pregunta es que realmente depende de lo que quieras hacer. Entonces responderé esto basado en aplicaciones básicas de escritorio.

C ++ puede desarrollarse en una biblioteca específica de plataforma o en una que funcione en cualquier cosa. Para plataformas específicas, iría con MFC en Windows, para plataformas cruzadas iría con QT.

Para Python, iría con PyGUI.

Para Java iría con JavaFX.

Ahora, en términos de entorno, soy parcial con respecto a cuán agradable puede ser una aplicación en cualquiera de los idiomas de Visual Studio (Windows IDE). Si eres nuevo en la creación de GUI, esta es una herramienta fantástica.