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]