NOME DURAÇÃO
Abertura do Curso de C++
Visão Geral da Linguagem C++
Instalando o Code::Blocks para Desenvolvimento C++
Instalando a IDE CLion para Desenvolvimento em C++
Primeiro Programa em C++
Comentários em C++
Indentação, Espaço em Branco e Ponto e Vírgula em C++
Variável em C++
Tipos Primitivos do C++
Características das Variáveis em C++
Manipulando Variáveis em C++
Nomenclatura de Variáveis em C++
Introdução às Stream em C++
Stream em C++
Manipulação de Dados em C++
Modificadores de Tipo em C++
Operadores Aritméticos do C++
Construindo uma Calculadora com C++
Módulo da Divisão em C++
Operadores Relacionais do C++
Tomada de Decisão em C++
Tomada de Decisão - Estrutura else em C++
Tomada de Decisão - Estrutura else em C++
Operadores Lógicos do C++
Operadores de Atribuíção do C++
Iteração em C++
Estrutura de Repetição for do C++
Operadores de Incremento e Decremento do C++
Tabuada em C++
Estrutura de Repetição while do C++
Programa em Looping em C++
Estrutura de Repetição do-while do C++
Estrutura de Seleção Múltipla switch do C++
Estrutura de Seleção Múltipla switch do C++ (parte II)
Depuração de Código C++
Depuração de Código C++ (parte II)
Depurando com o Clion Código C++
Depurando com o Code::Block Código C++
Blocos de Instrução em C++
Blocos de Instrução em C++ (parte II)
Blocos de Instrução em C++ (parte III)
Operador Ternário do C++
Operador Ternário do C++ (parte 2)
Instrução break do C++
Instrução break do C++ (parte II)
Instrução continue do C++
Precedência de Operadores do C++
Associatividade de Operadores em C++
Introdução aos Arrays em C++
Declaração de Arrays em C++
Arrays - Definições em C++
Inicialização de Arrays em C++
Percorrendo os Elementos de um Array em C++
Calculando a Média Aritmética com Arrays em C++
Arrays Multidimensionais em C++
Manipulação de Arrays Bidimensionais em C++
Laços Aninhados
Função Matricial em C++
Manipulando Planilhas em C++
Introdução às Estruturas em C++
Utilizando struct em C++

Nesta aula estudaremos as principais características da linguagem C++ e também, aprenderemos vários conceitos relacionados com a linguagem.

A LINGUAGEM C++

A linguagem C++ possui um conjunto de características e definições que fazem da mesma a segunda linguagem mais utilizada no mundo, perdendo somente para a linguagem C. A seguir, listamos o que entendemos ser os principais recursos da linguagem e discutimos um pouco sobre cada item.

Não temos como objetivo esgotar o debate de cada característica ou mesmo, sobre a linguagem C++ propriamente dita. O objetivo é descrever para fazer com que o aluno venha a conhecer e ir se acostumando com as terminologias.

Superset de C
A linguagem C++ possui todos os recursos e funcionalidades do C, logo, dizemos que C++ é um superset de C, isto é, é um conjunto que possui todos os elementos de outro. Um programa em C pode ser facilmente migrado para C++, até porque, o seu código é compatível pela grande maioria dos compiladores.
Estaticamente tipada
Da mesma forma que a linguagem C, em C++ temos tipos que são pré-definidos pela linguagem e que, abarcam os tipos fundamentais das informações que utilizamos no dia-a-dia. Assim, não precisamos criar um objeto para representar os números inteiros, até porque, já existe o tipo primitivo int.
Compilada

Todo código C++ é compilado para o que chamamos de Linguagem de Máquina, isto é, a linguagem universal dos computadores. Logo, nosso programas são executados o mais rapido possível, até porque, estão escritos na linguagem do compilador.

Obviamente existem interpretadores de código C++, porém, não é de conhecimento do autor um interpretador C++ que seja utilizado em larga escala ou mesmo, em projetos grandes.

Multi-paradigma
A linguagem C contempla o paradigma de programação procedural, o que foi, para a sua época, uma grande evolução na forma em que as linguagens possibilitavam a criação de programas.
A linguagem C++ foi além do paradigma procedural e adicionou a capacidade de desenvolvimento Orientado a Objetos. Mesmo que o paradigma Orientado a Objetos tenha sido um grande sucesso a programação procedural é suportada pelo C++ até os dias atuais. Inclusive, atualmente, é possível trabalhar com o paradigma funcional, o que ainda não está muito difundido entre os desenvolvedores C++.
Alto e Baixo nível
Compiladores C e C++ comumente geram códigos em Assembler e, em seguida, são convertidos para código de máquina. Por essa característica, foi disponibilizado um meio para a escrita de código em Assembler junto ao código C e C++. Assim, conseguimos escrever trechos de código em alto-nível que contenham trechos em linguagens de baixo-nível.
Orientação a Objetos

A Orientação a Objetos é, sem nenhuma dúvida, um divisor de águas para as linguagens de programação. Porém, o conceito não é novo e só foi adicionado às linguagens depois de muitos, mas muitos anos de debate.

A principal ideia por detrás da orientação a objetos é o de definir novos tipos de dados e assim, agrupar as função para a sua manipulação criando uma entidade representativa. Então, ainda que muito se discuta sobre OO, o principal conceito e, que sozinho, já representa uma grande evolução, é a junção das características (propriedades) e funcionalidade (funções) num mesmo lugar. Obviamente que, se você possui algum conhecimento de C++, dirás que essa característica foi incluída quando a estrutura struct foi disponibilizada. Porém, a estrutura struct só foi capaz de aglutinar todas essas informações com o advento das classes. É importante lembrar que atualmente, conseguimos criar instâncias através de estruturas definidas tanto com struct como também com classes.

Por fim, a discussão sobre os recursos do C++ não possuem fim e sempre que possível, devemos participar dessas discussões. Até porque, no final, como rapidamente percebemos, ambas partes estão corretas e o que diferencia-os é o ponto de vista utilizado em suas analises!



Tags curso, cpp, visão geral, superset, linguagem c, blog

Comentários

comments powered by Disqus