paulo1205
(usa Ubuntu)
Enviado em 19/12/2012 - 05:25h
Eu discordo desse negócio de deixar de usar C ou C++ para gráficos ou para GUI, especialmente se a alternativa for algo como Java, Delphi, C# ou VB.Net.
Nenhuma dessas linguagens dispõe realmente de recursos para gráficos ou GUI em nível de linguagem de programação, mas tão-somente vêm acompanhadas de bibliotecas de funções que implementam funcionalidades gráficas e, às vezes, também de um ambiente de desenvolvimento que facilita o projeto visual da interface com o usuário (não é o caso de Java, na distribuição padrão da JDK, sendo necessário recorrer ao NetBeans ou Eclipse parar dispor de um ambiente assim).
Diante disso, é fato que tanto bibliotecas de GUI quanto ambientes de desenvolvimento que facilitam a construção de interfaces visuais existem para C++ e para C. Aliás, existem várias opções de ferramentas para se escolher, cada uma com seus prós e contras.
São tantos os recursos disponíveis em C e C++ para se trabalhar com GUI que alguns proponentes de outras linguagens chegam a alegar que a suposta unidade da biblioteca que acompanha a linguagem de sua escolha é uma vantagem sobre a multiplicidade de opções que há para C e C++. Tal linha de argumentação, no entanto, não é muito adequada, pelos seguintes motivos:
1) A existência de diversas bibliotecas não obriga ninguém a usá-las ao mesmo tempo e de modo inconsistente num mesmo projeto ou produto.
2) A depender do projeto, ter mais de uma opção pode ser útil ou até crucial, principalmente se tais opções possuírem graus diferentes de camadas de abstração ou de acesso a recursos do hardware de vídeo.
3) Em alguns casos, é simplesmente falso dizer que a linguagem
X tem apenas uma biblioteca oficial para GUI. Java, em particular, só teve "a" biblioteca gráfica, AWT, no início de sua existência, mas a própria Sun acabou achando-a inadequada para uso geral e passou a propor a Swing como algo que, em certas partes, substituía, noutras, complementava, a antiga biblioteca "única". Só que houve outras iniciativas independentes de "melhorar" a AWT, que tiveram decisões de projeto diferentes e chegaram a resultados distintos. Para complicar mais um pouco, tem-se o cenário de que certos IDEs favorecem o uso de uma biblioteca, outros, de outras.
4) Sendo a parte de GUI efetivamente exterior à linguagem de programação propriamente dita, a qualquer momento uma biblioteca completamente diferente pode ser implementada, e se pode até mesmo implementar numa linguagem uma biblioteca desenvolvida inicialmente em e para outra linguagem.