On Thu, Feb 20, 2003 at 10:06:07AM -0300, Luiz Fernando Andrade wrote: > Cara, > eu achei que o QT é mais simples de usar, e usa o C++ como padrão (que eu > prefiro). > o GTK+ usa o C, sei que existo o GTK-- que suporta C++ mas parece meio > "armengado" ... > > o único problema é que o QT "tem dono" ... a TrollTech > enquanto o GTK+ é 100% livre !!! > > então quem me garante que QT continuará "livre" ? > > alguem já usou as duas libs? será que tem alguma diferença na velocidade das > aplicações compiladas usando uma e outra? > > Valeu!!! > QT está licenciada pela GPL. Logo, caso a TrollTech venha a lançar uma versão proprietária da QT, sempre haverá as versões anteriores, que foram lançadas pela GPL. QT é, atualmente, tão livre quanto GTK+.
Eu já usei ambas. A QT, por usar C++, acaba sendo mais fácil, porque é mais intuitivo você programar uma interface gráfica usando objetos, que são suportados diretamente pela linguagem. Entretanto, para compilar um programa QT, a biblioteca faz algumas modificações na linguagem, exigindo um pré-pré-processador (o MOC, ou Meta Object Compiler) para que essas extensões à linguagem sejam compiladas pelo compilador C++ padrão. Resultado: lentidão em tempo de compilação; lentidão em tempo de execução (por conta do compilador C++; isso não é mais verdadeiro hoje, o GNU g++ está cada vez mais eficiente); portabilidade (escreva uma vez, compile em qualquer lugar)... Entretanto, também já usei GTK+. Gostei mais que QT, porque, como é baseada em C, escrever front-ends para outras linguagens é bastante mais fácil. Então, temos GTK em Python, Perl, C++, até PHP tem... Entretanto, gosto de ficar no padrão, que é, basicamente, "Programação orientada a objetos com uma linguagem procedural". Quem disse que não era possível programar orientado a objetos usando C? O fato de a linguagem não dar suporte direto à tecnologia não quer dizer que a tecnologia não possa ser implementada. Não vou explicar aqui como é, qualquer coisa, por favor, RTFM (www.gtk.org). Eu achei a interface clara, fácil e bastante rápida, além de não ser necessário mexer com extensões esdrúxulas da linguagem à que você está acostumado. A bandeira de GTK 1.2 era a velocidade. Parece que a de GTK 2.x será acessibilidade (aí incluída i18n). Agora, camarada, sentir diferença na velocidade de aplicações depende muito do tipo de máquina que você está usando, se você usa KDE 3.1 ou não... Normalmente, para máquinas mais rápidas (600MHz+) é mais difícil notar diferença de desempenho quando se rodam duas aplicações semelhantes, em condições idênticas, mas usando toolkits diferentes. Se você estiver rodando o KDE 3.1, existe um tal de Object Preloading, que já carrega na memória tudo quanto é biblioteca relacionada ao QT/KDE que você quiser, de forma que quando você iniciar seu programa baseado em QT/KDE no ambiente KDE, você certamente notará diferença de desempenho. Momento de raiva: você questionou o fato de QT ser livre ou não, não é mesmo? O que será que Miguel de Icaza (porra, sou muitíssimo agradecido a ele, o GNOME é uma mão na roda) quer com esse tal de Mono? Por que tentar implementar uma coisa que não funciona e para a qual existem substitutos (JAVA!!!) que funcionam? Se ele quer uma VM multiplataforma, rápida e estável, ele deveria tentar antes pegar uma dessas JVMs open-source que estão por aí dando sopa (kaffe, guava, sei lá) e fazer um esforço para atualizá-las (Java 2, hehehe), melhorar sua eficiência, criar novas bibliotecas (alguém conhece uma Swing open source?). Icaza está reinventando a roda, e brincando com um parceiro EXTREMAMENTE perigoso, que é o capet... ops, a MICRO$~1. Por que colocar uma tecnologia deles no nosso sistema? Ainda mais eles, que nunca contribuíram em nada (apesar de eles usarem Linux... e roubarem código do OpenBSD) para a comunidade Open Source. Se eles não nos ajudam, por que nós os ajudaríamos? Até mais, Zé -- José de Paula Rodrigues Neto Assis Linux User 175920 Brasília - DF - Brasil counter.li.org

