Help Linux wrote:
> Ol� pessoal,
> 
> J� vi muita gente daqui da lista falando que C++ n�o � uma boa linguagem.
> Pesquisei por algo no hist�rico da lista mas obtive apenas frases sem
> conte�do t�cnico explicativo, apenas com declara��es de que a mesma � isso
> ou aqui e n�o � "boa".

Eu acho que usar C para n�o usar C++ � uma estupidez na grande maioria 
dos casos. � como usar Fortran e n�o C, ou melhor, � pior porque um 
compilador C n�o compila um programa antigo en Fortran mas um compilador 
C++ compilar� mesmo um programa C antigo usando o estilo K&R.

Primeiro, todos os compiladores modernos s�o compiladores C++, que 
naturalmente tamb�m compilam programas em C por ser um subconjunto de 
C++. Mesmo o "rude" gcc � um compilador C++, gratuito e dispon�vel em 
quase todas as plataformas.

Segundo, a linguagem C++ j� tem um padr�o Ansi e mesmo compiladores mais 
antigos s� ter�o problema se o programador usar t�cnicas mais avan�adas 
como templates.

Terceiro: embora a linguagem C++ tenha v�rias "frescuras" e detalhes, o 
uso destas caracter�sticas � opcional. Mas h� v�rias coisas que s�o 
excelentes em C++ que deveriam existir no C como o conceito de passagem 
de argumentos por refer�ncia SEM ponteiros (como no Pascal), declara��o 
de vari�vel em qualquer ponto do programa e escopo dentro de blocos, 
etc. S� isso j� � motivo suficiente para escrever um programa em C+ 
(isto �, um programa C++ n�o orientado a objetos). A legibilidade de um 
programa C++ � muito maior do que um programa equivalente em C. Eu vejo 
muitos programas em C, que s�o orientados a objeto mas possuem uma 
sintaxe horr�vel de ser entendida, tal como programas GTK+.

Quarto: orienta��o a objetos em C++.  Programas gr�ficos ficam muito 
mais leg�veis quando escritos em linguagens OO. Talvez por esse motivo a 
velocidade de desenvolvimento com Qt seja maior do que GTK+.

Quinto: quest�o da velocidade. Na maioria dos programas n�o ser� sentida 
nenhuma diferen�a de desempenho se feitos em C ou C++. Em jogos, as 
rotinas mais cr�ticas s�o geralmente feitas em Assembly e isso tamb�m 
pode ser embutido ou linkado em C++. Para programas cient�ficos existem 
v�rias bibliotecas como a Blitz++ que possuem um desempenho quase t�o 
bom como o do Fortran, gra�as ao uso intensivo de templates.

Sexto: Pode-se linkar programas C++ com rotinas ou bibliotecas em C. Eu 
mesmo fa�o muito isso quando quero usar uma biblioteca j� pronta em C. 
Basta colocar um extern "C" { ... } e criar um Makefile adequado.

S�timo: se o cara est� confuso ou de saco cheio com aquele neg�cio de 
friend, private, protected, etc pode simpesmente apelar e colocar todos 
os membros da clase como public e usar como se fosse uma struct com 
fun��es-membro. Pode ser feio conceitualmente, mas j� vi muitos 
programas fazendo exatamente isso.



Assinantes em 24/09/2002: 2256
Mensagens recebidas desde 07/01/1999: 184444
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
            mailto:[EMAIL PROTECTED]

Responder a