Soy un profesor (instructor) de CS en la universidad. El curso se basa en Cormen y Knuth y los algoritmos de los programas de los estudiantes en C++. Pero a veces es bueno mostrar cómo funciona un algoritmo o simplemente un resultado de la tarea a través de GUI. También en mi opinión, es muy importante poder escribir programas completos. Tendrán cursos sobre GUI pero tres años más tarde, de hecho, antes de graduarse. Creo que deberían poder escribir aplicaciones GUI simples antes. Entonces quiero enseñarles eso.¿Qué es mejor para un estudiante que programa en C++ para aprender a escribir GUI: C# contra QT?
¿Cómo crees que es más útil aprender: programar GUI con QT o escribir GUI en C# y llamar a la biblioteca no administrada de C++?
Actualización.
Para desarrollar aplicaciones C++, los estudiantes usan MS Visual Studio, por lo que C# ya está instalado. Pero QT AFAIK también se puede integrar en VS.
He siguientes ventajas de C# (algunos fueron sugeridos allí en respuestas):
- la necesidad de hacer una capa adicional. Es más trabajo, pero le obliga a especificar explícitamente el contrato entre GUI y datos de procesamiento. El límite entre la GUI y los algoritmos se vuelve muy claro.
- Es más popular entre los empleadores. Al menos, en Rusia donde vivimos. Es bastante común escribir algoritmos críticos para el rendimiento en C++ y P invocarlos desde la aplicación de C#/sitio web ASP.Net. Tal vez no esté tan extendido en el resto del mundo, pero en Rusia Windows es muy popular, especialmente en compañías y corporaciones debido a algunas razones, por lo que la mayoría de las aplicaciones de b2b son aplicaciones de Windows.
- Desarrollo rápido. Es mucho más rápido para codificar en .Net luego en C++ debido a muchas razones.
Y la desventaja es que se trata de un nuevo idioma con características específicas para los estudiantes. Y el lío con invocar llamadas a la biblioteca.
Alguien me preguntó qué problemas tenía con Mono, así que, aquí va ... Estoy usando Mac OS X 10.6 Snow Leopard. Tuve muchas dificultades para lograr que Mono funcionara, y finalmente me di por vencido. Para los usuarios de OS X, también existe la confusión sobre si es mejor instalar Mono usando DMG o usando MacPorts. Y, además de eso, es incluso más grande que el Qt SDK (y el Qt SDK es bastante grande). Al menos con Qt, existe la opción de instalar solo los frameworks QtCore y QtGUI (si uno usa Qt Framework en lugar del paquete QtSDK). –
Nota al margen: ¿por qué consideraría MacPorts si hay distribución oficial de Novell para Mac OS X?:-) –
@Franci, generalmente instalo cosas usando MacPorts, porque si quiero instalar cualquier cosa que dependa de Mono usando MacPorts, MacPorts instalará su propia copia de Mono, anwyay, así que podría instalarlo una vez con MacPorts. Además, una ventaja del uso de MacPorts es que es más fácil actualizar el software instalado y no hay necesidad de preocuparse por las dependencias, ya que MacPorts busca e instala automáticamente las dependencias. Dicho esto, ciertamente hay instancias en las que usar MacPorts en lugar del DMG es una mala idea ... Mono, Qt y MySQL son ejemplos donde uno debería evitar los MacPorts. –