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]