Ode ao C++

2008-04-21 · 4 · 759

Este ainda é um rascunho publicado prematuramente e está sujeito a mudanças substanciais.

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 nas características da
linguagem. Eu, por exemplo, tenho vários motivos para amar essa
linguagem:

**Linguagem C.** 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, a linguagem também suporta o melhor da
programação procedural e estruturada.

**Popularidade.** C++ é o que há. Linguagem unânime e reconhecida no mundo
todo como de uso geral. Dificilmente você vai encontrar um algoritmo
que não tenha representação em C++.

**Economia e Expressividade.** Pode parecer bobagem, mas coisas como
operador de incremento e valor em todas expressões permite que se faça
muita coisa com poucas linhas. Isso a torna muito expressiva. Isso, em
outras palavras, quer dizer que você pode juntar várias expressões
numa só, e esse conjunto será também uma expressão.

**Liberdade.** Em C++ você é o culpado de virtualmente qualquer coisa de
bom e ruim que aconteça no seu programa, pois 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.

**Portabilidade.** A possibilidade de compilar e rodar o seu código em
vários ambientes - de compilação e execução - é 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. E
são essas boas noções que me permitem afirmar que C++ suporta muito
bem essa possibilidade.

**Rapidez.** Pode não ser importante em muitos casos, mas já é do instinto
do programador o desejo de eficiência no código. 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.

Não quis alterar o texto original, mas colocaria, além de rapidez, o título 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 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. Para os que não seguiram o linque do artigo do Strauss, existe uma modesta lista de programas escritos nessa linguagem ao redor do planeta. Muitos 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++.

· blog · draft · ccpp · Twitter ·