Introdução
A linguagem de programação C++ é, na verdade um superconjunto da linguagem de programação C (seu primeiro nome foi "C com Classes"). A razão da linguagem C ter sido chamada de C é simplesmente porque ela foi sucessora de uma linguagem chamada B, desenvolvida por Ken Thompson em 1970 e que rodava em um DEC PDP-7, um computador muito menos potente do que um PC moderno. O sistema operacional UNIX original rodava naquela máquina, e foi ali também onde o B nasceu (o B em si foi o sucessor de uma linguagem chamada BCPL, escrita por Martin Richards).
No entanto, o B era um tanto quanto restrito. Em 1972 Dennis Ritchie e Ken Thompson criaram a Linguagem C para aumentar o poder do B. O C não se tornou popular imediatamente após sua criação. Na verdade, ele permaneceu como um assunto quase esotérico pelos seis anos seguintes. Em 1978, Brian Kernighan e Dennis Ritchie escreveram o famoso "The C Programming Language", o qual tenho um exemplar original em Inglês da 1ª. Edição, obrigado. Este livro simplesmente mudou tudo. Com a divulgação do C houve uma explosão de interesse, e a linguagem foi implementada em computadores de 8 bits que rodavam o sistema operacional CP/M. Mas foi o lançamento do IBM PC, em 1981, que realmente deu impulso ao C. Quando a revolução do PC começou, o C estava em uma posição privilegiada para aproveitá-la. À medida que o número de PC's explodia, também explodia o número de usuários do C.
O C libertou-se de seu ambiente UNIX original e tornou-se uma linguagem "popular" para microcomputadores. Vale a pena salientar que ele se tornou popular por uma razão muito boa: os programadores gostaram de usá-lo. Ao contrário de outras linguagens, o C dava ao programador grande controle sobre o computador, tal controle, no entanto, traz também a responsabilidade: há muitas coisas que você pode fazer em C que arruinarão seu programa ou travarão seu computador. Ou seja, você pode fazer em C coisas que outras linguagens jamais permitiriam. Os programadores gostaram disso, imagine quem não gostaria poder fazer praticamente tudo com um computador! O C tornou-se uma ferramenta e não um obstáculo. O C tornou-se a combinação perfeita entre o controle e poder de programação.
À medida que a popularidade do C crescia, crescia também o número de aplicativos escritos em C.
Depois de certo tempo, os programas em C ficavam cada vez maiores e algumas pessoas começaram a achar que as construções de programação padrão simplesmente não estavam à altura da tarefa. Uma solução seria tornar os programas mais modulares, através do uso de funções. No entanto algumas funções acabavam precisando compartilhar dados, outras precisavam coordenar seu trabalho com outras e, de novo, era possível acabar precisando ter de guardar na cabeça dúzias de coisas ao mesmo tempo. Aí então apareceu o Dr. Bjarne Stroustrup e desenvolveu o C++, inspirado em parte por outras linguagens, como o Simula67, Smalltalk, até hoje considerada uma das mais puras linguagens OO.
O trecho de uma entrevista com o Dr. Bjarne Stroustrup:
"Inventei C++, escrevi suas definições preliminares e produzi sua primeira implementação. Escolhi e formulei os critérios de projeto para C++, projetei seus principais recursos e era responsável pelo processamento de propostas de extensão no comitê de padrões C++".
Acho que ninguém melhor como referência na linguagem que o Dr. Bjarne. Mais detalhes sobre ele, acesse http://www.research.att.com/~bs/homepage.html
O nome C++ foi criado por Rick Mascitti em 1983, o nome representa um incremento (operador ++ de incremento no C) na linguagem C. A linguagem não foi chamada de D porque é uma extensão da linguagem C. No início não havia documentação de projeto do C++, nem comitê para aprovação dos padrões C++. Em 1987 (ano que comecei a me dedicar em programação de computadores) com a explosão do C++ foi-se necessário que a padronização formal do C++ acontecesse. Após vários anos e várias propostas de padronizações, em 1995 foi divulgado um projeto de padrão inicial para revisão pública e em 1998 um padrão internacional formalmente aprovado para C++.
Bem pessoal, acho que agora todos conhecem um pouco da história do C++, vamos dar prosseguimento ao nosso estudo.
Vamos agora abordar uma visão geral do C++, sem entrar em detalhes minuciosos de definição da linguagem. O objetivo é fornecer uma visão geral de C++ e as principais técnicas para usá-la. Logo nos próximos artigos da série "Iniciando em C++" vamos fornecer informações detalhadas sobre o que está descrito abaixo neste artigo.
O que estamos passando daqui pra frente é uma visão geral do C++, ou seja, da linguagem de programação C++, e não de um pacote de desenvolvimento, seja ele, Visual C++, C++ Builder, C++.NET VS.NET, GCC (Unix). Estes próximos artigos descreverão o C++ ISO/ANSI. Depois após você estiver familiarizado com o C++, vamos tomar um outro rumo, que é o pacote da Microsoft VS.NET C++ e MS Visual C++ 6.0.
No próximo tópico, iniciaremos nossa série propriamente dita, e é imprescindível que você que deseja aprender C++, tenha alguns conhecimentos de Orientação a Objeto, abstração de dados, etc.
O que é o C++
O C++ é uma linguagem de uso geral, com uma tendência para a programação de sistemas e que:
- É uma linguagem C melhorada;
- Suporta abstração de dados;
- Suporta programação orientada a objetos;
- Suporta programação genérica;
Como mencionei acima, não vamos tentar adivinhar qual é o sistema operacional que você está utilizando, vamos aprender o C++ ISO/ANSI padrão, que a partir de agora será chamado de C++.
Nesta etapa não vamos fazer referências a janelas, listbox, textbox, gráficos, etc., ou seja, tudo o que depender de sistema operacional. Vamos utilizar nesta fase a 'saída padrão', ou seja, a console.