Desenvolvimento Código Aberto

C/C++

Aprenda agora para Windows: C e C++ ou Visual C++ MFC

Aprenda agora para Linux: C::B ou Eclipse ou Visual C++ QT

O que é C e C++ ?

O C++ foi inicialmente desenvolvido por Bjarne Stroustrup dos Bell Labs, durante a década de 1980 com o objetivo implementar uma versão distribuída do núcleo Unix. Como o Unix era escrito em C, devia-se-manter a compatibilidade, ainda que adicionando novos recursos. Alguns dos desafios incluíam simular a infraestrutura da comunicação entre processos num sistema distribuído ou de memória compartilhada e escrever drivers para tal sistema. Stroustrup percebeu que a linguagem Simula 67 possuía características bastante úteis para o desenvolvimento de software, mas que era muito lenta para uso prático. Por outro lado, a linguagem BCPL era rápida, mas possuía demasiado baixo nível, dificultando sua utilização no desenvolvimento de aplicações. A partir de sua experiência de doutorado, começou a acrescentar elementos do Simula 67 no C, especialmente os recursos de criação e manipulação de objetos. O C foi escolhido como base de desenvolvimento da nova linguagem pois possuía uma proposta de uso genérico, era rápido e também portável para diversas plataformas. Algumas outras linguagens que também serviram de inspiração para o cientista da computação foram ALGOL 68, Ada, CLU e ML.

Ainda em 1983 o nome da linguagem foi alterado de C with Classes para C++. Antes implementada usando um pré-processador, a linguagem passou a exigir um compilador próprio, escrito pelo próprio Stroustrup. Novas características foram adicionadas, como funções virtuais, sobrecarga de operadores e funções, referências, constantes, gerenciamento manual de memória, melhorias na verificação de tipo de dado e estilo de comentário de código de uma linha (//). Em 1985 foi lançada a primeira edição do livro The C++ Programming Language, contendo referências para a utilização da linguagem, já que ainda não era uma norma oficial. A primeira versão comercial foi lançada em outubro do mesmo ano. Em 1989 a segunda versão foi lançada, contendo novas características como herança múltipla, classes abstratas, métodos estáticos, métodos constantes e membros protegidos, incrementando o suporte a orientação a objeto. Em 1990 foi lançado o livro The Annotated C++ Reference Manual, que tornou-se base para o futuro padrão. Outras adições na linguagem incluem gabaritos, tratamento de exceções, espaço de nomes, conversão segura de tipo de dado e o tipo booleano.

Assim como a linguagem, sua biblioteca padrão também sofreu melhorias ao longo do tempo. Sua primeira adição foi a biblioteca de E/S, e posteriormente a Standard Template Library (STL); ambas tornaram-se algumas das principais funcionalidades que distanciaram a linguagem em relação a C. Criada primordialmente na HP por Alexander Stepanov no início da década de 1990 para explorar os potenciais da programação genérica, a STL foi apresentada a um comitê unificado ANSI e ISO em 1993 à convite de Andrew Koenig. Após uma proposta formal na reunião do ano seguinte, a biblioteca recebe o aval do comitê.

Depois de anos de trabalho, o mesmo comitê ANSI/ISO padronizou o C++ em 1998 (ISO/IEC 14882:1998). Após alguns anos foram reportados defeitos e imprecisões no documento, e uma correção foi lançada em 2003.

Por muito tempo, o C++ foi encarado como um superconjunto do Entretanto, em 1999 o novo padrão ISO para a linguagem C tornou as duas linguagens ainda mais diferentes. Devido a essas incompatibilidades, muitas empresas que desenvolvem compiladores não oferecem suporte à versão mais recente da linguagem C.

Pode-se dizer que C++ foi a única linguagem entre tantas outras que obteve sucesso como uma sucessora à linguagem C, inclusive servindo de inspiração para outras linguagens como Java, a IDL de CORBA e C♯.

Introdução ao C++

Console

1: Tipos, variáveis, operadores

2: Mais tipos, métodos, Condicionais

3: Loops, Arrays

4: Classes e Objetos

Programação orientada a objeto

Definindo Classes

Usando classes

Referências vs Valores

Tipos e métodos estáticos

5: O controle de acesso, escopo de classes , Namespaces, API C++

6: Projeto, Depurando

7: Revisão, Exceções, I/O

Visual C++ – MFC – Windows API ou Linux Qt

1: Controles Visuais – Microsoft Fundation Classes + Windows API ou Qt Widget Library

Windows: ODBC – OLEDB

1: Utilizando C++ com banco de dados – Oracle – IBM DB2 – MSSQL Server

C++: Vale a Pena Aprender em 2021? Por que e onde Usar?

C++: Por que aprender em 2021?

C++ é uma das linguagens mais usadas do mundo, uma das poucas linguagens de alto nível realmente compiladas e está em constante evolução!

Diferente do que muitos pensam, C++ não é uma linguagem ultrapassada e sim oferece recursos muito interessantes para o desenvolvimento de aplicações que demandam performance, sem necessariamente dificultar o entendimento do código.

Qual a melhor linguagem de programação?

O número de linguagens de programação existentes no mundo é incerto, mas aqui podemos conferir que existem tantas linguagens que seria simplesmente impossível escolher a melhor linguagem para todos os cenários.

Cada linguagem de programação possui um propósito, um motivo para existir.

Por que C++ foi criada?

Na década de 1980, Bjarne Stroustrup queria criar uma versão distribuída do Kernel Unix. Por ser uma tarefa demasiadamente complexa, ele queria escolher uma linguagem que trouxesse facilidades na hora de escrever o código, mas ao mesmo tempo performática.

Linguagens como Simula ofereciam facilidades de codificação, porém eram bastante lentas. Já C era suficientemente rápida, então Bjarne Stroustrup começou a adicionar funcionalidades de código à linguagem C. Assim, C++ (chamado na época de C with Classes) foi criado para ser uma linguagem com ótima performance, porém com recursos de alto nível suficientes a ponto de facilitar o desenvolvimento de sistemas complexos.

O que é possível fazer com C++?

C++ é uma das linguagens mais versáteis que existem, permitindo desenvolver desde tarefas simples como aplicações na linha de comando ou web, até sistemas complexos de tempo real, muito usadas no mercado financeiro.

Agora nem tudo que é possível de se fazer em C++ é pertinente. Se o que quisermos fazer for uma simples página da web que recebe dados na URL e os exibe, por exemplo, teremos um código complexo para uma tarefa tão corriqueira:

using namespace std ; using namespace cgicc; int main () { Cgicc formData; cout << "Content-type:text/htmlr

r

" ; cout << "

" ; cout << "

" ; cout << "

Using GET and POST Methods

" ; cout << "

" ; cout << "

" ; form_iterator fi = formData.getElement( "first_name" ); if ( !fi->isEmpty() && fi != { cout << "First name: " << **fi << endl ; } else { cout << "No text entered for first name" << endl ; } cout << "

" ; fi = formData.getElement( "last_name" ); if ( !fi->isEmpty() &&fi != { cout << "Last name: " << **fi << endl ; } else { cout << "No text entered for last name" << endl ; } cout << "

" ; cout << "

" ; cout << "

" ; return 0 ; }

Com isso notamos que C++ é ideal para realizar tarefas que demandam performance e possuem alta complexidade. Sistemas mais simples e corriqueiros não são o foco, logo, vão demandar mais trabalho do que linguagens mais adequadas a esses cenários.

Onde C++ é realmente usado?

Como já foi citado, C++ é uma linguagem incrivelmente versátil, mas ela se destaca como líder nos seguintes cenários:

Jogos;

Mercado financeiro;

Grandes aplicações Navegadores; Softwares multimídia; Pacotes Office;

Sistemas operacionais;

Microcontroladores;

Etc.

Algumas das empresas famosas que fazem uso pesado dessa linguagem são:

Facebook;

Adobe;

Google;

Microsoft;

EA;

Etc.

Onde / como aprender C++?

Existem diversos (realmente são muitos) materiais para você aprender essa linguagem, porém devemos sempre tomar cuidado com o tipo de conteúdo que consumimos. Embora os livros clássicos sejam uma ótima forma de aprender, muitos foram escritos antes de diversos recursos serem incluídos na linguagem.

Aqui na Alura nós temos uma formação C++ que vai desde os fundamentos da linguagem, passando por orientação a objetos, até recursos mais avançados e performance. Tudo isso usando as novidades da linguagem e boas práticas do mercado.

Leave a comment