Ode ao C++

Caloni, 2008-04-21 computer ccpp blog

Era uma vez em uma troca de emails:

Strauss: Lembra quando nós conversávamos sobre o assunto "Por que C++?", há muitas décadas atrás, e seu blogue era um dos primeiros no Brasil que não ficava relatando o que o autor comia no café da manhã, além de falar sobre programação? Pois é, eu estava reorganizando meus g-mails e reencontrei nossa conversa e, pior, seu artigo "derivado" dela, que irei republicar aqui pois, assim como antes, acredito em tudo que escrevi naquela época.

Cristiano: Olá! Sou programador em basic (Vbasic/Qbasic), fico indignado, com pessoas que sabem entender a linguagem C++, assembler... Como podem? Eu acho isto coisa de outro mundo! Será que eu tenho chances de aprender a linguagem?

Strauss: A resposta é simples: estudando. Eu tb comecei com QBasic e VB. Arrume um livro de C++ e estude. Treine bastante. E hoje em dia é mais fácil do que quando eu comecei, pq eu não tinha acesso à Internet. É simples assim... :-)

Caloni: Você pode ir tão longe quanto queira, mas pra isso a primeira coisa que vc tem que fazer é querer =).

Strauss: Acho que vou fazer um post sobre isso. "Por que C++" :-) Vc podia me ajudar...

Caloni: Escrevi um textículo sobre o assunto da escolha, mas não visando o mercado:

/**
* @title Por que C++
* @author Wanderley Caloni Jr
* @date 31.01.2005
*/

É natural que um programador
tenha preferência
por uma linguagem.

Geralmente por motivos pessoais
que se refletem em
suas características.

Eu, por exemplo,
tenho vários motivos
para amar essa linguagem.

Todas as vantagens
da linguagem C
estão embutidas em C++.

E sem aquele papo erudito
que deve-se programar em OO
para ser C++.

Por ser multiparadigma,
ela também suporta o melhor da
programação procedural e estruturada.

C++ é unânime e reconhecida
no mundo todo como de uso geral.

Dificilmente você vai encontrar
um algoritmo
que não exista em C++.

Pode parecer bobagem, mas coisas como
operador de incremento e
valor em todas expressões
permitem que se faça muita coisa
com poucas linhas.

Isso a torna muito expressiva.

Em outras palavras, você pode juntar
várias expressões numa só,
e esse conjunto será também uma expressão.

Em C++ você é o culpado de qualquer coisa
de bom e ruim
que aconteça no seu programa.

Você tem que seguir
poucas regras
e tem que ser responsável
no que faz.

C++ não te ajuda a
seguir um bom modelo de programação
com restrições embutidas.

Isso a torna difícil para iniciantes,
mas conforme aumenta a experiência,
maior o prazer em programar,
pelas responsabilidades embutidas.

A possibilidade de compilar e rodar
o seu código
em vários ambientes
é uma característica
útil e agradável.

No meu caso só é agradável,
pois dificilmente faço
código portável (apesar das
boas noções que tenho
sobre o assunto).

Por fim,
pode não ser importante em muitos casos,
mas já é do instinto do programador
o desejo pela eficiência.

E nada como programar numa linguagem
extremamente eficiente
em tempo de execução
para se sentir feliz
de ver o código rodando.

FIM

[]s

Strauss -- Legal. Vou colocar minha água mercadológica no feijão e colocar no site.

Update 2026-02-12 fiz umas pequenas alterações no texto original, mas não adicionei nada, como minha sugestão do passado de colocar, além de rapidez, a economia de recursos. É incrível o quanto progredimos no quesito hardware todos esses anos, e mesmo assim, existem linguagens e ambientes que parecem ter fome suficiente para consumir tudo e deixar um computador de última geração parecer um micro "meio lerdinho". Felizmente não preciso dar nome aos bois, pois todos sabem ou conhecem pelo menos uma linguagem (ou programador) com essa característica.

Também não quis generalizar. C e C++ não são as duas únicas opções quando se fala em bom desempenho. Existe também assembly e linguagens de script, que chegam inclusive a ser mais flexíveis e rápidas (além de mais produtivas).

Ainda acredito em tudo isso que C++ proporciona e irá continuar proporcionando por muto tempo. Muitos programas escritos em C/C++ são conhecidíssimos e usados nos quatro cantos do mundo, muitas vezes em mais de um sistema operacional. C++ está morto? Longe disso... talvez pareça assim em território nacional, mas esse é o motivo de meus votos de sucesso no início de nosso grupo C++.

[csi_crashed_server_investigation] [guia_basico_de_controle_de_codigo_distribuido]