13
Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro Faculdade de Engenharia Características das Linguagens de Programação I 1

Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

Embed Size (px)

Citation preview

Page 1: Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

Professor (a): Oscar Luiz Monteiro de FariasAluno (a): Andressa da Silva Siqueira

Matricula: 2006.1.03249.11

Universidade do Estado do Rio de JaneiroFaculdade de EngenhariaCaracterísticas das Linguagens de Programação I

1

Page 2: Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

Evolução da Linguagem e seu futuro. Paradigmas de programação suportada por C/C++ Sintaxe e Semântica Variáveis, Expressões e Comandos Tipos de Dados Escopo e Extent Procedures Abstração de Dados Tratamento de Exceções (Exception Handling) Concorrência Input/Output Programação em Rede (Networking Programming) Acesso a Banco de Dados Dataflow Programação Orientado a Objetos em C (Object Oriented

Programming) Lógica Programacional em C (Logic Programming - Prolog)

2

Page 3: Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

A linguagem foi criada por Dennis Ritchie em 1972 nos laboratórios Bell em um DEC PDP-11 com sistema operacional UNIX.

Seu surgimento iniciou com a linguagem ALGOL 60 que foi desenvovida visando substituir a linguagem Fortran,porém ela não obteve sucesso pois seu nível era alto demais para época.

Logo após surgiu o CPL que também não obteve sucesso. Em 1970 , criou-se a linguagem B

3

A linguagem B seria um versão simplificada e mais simples que o CPL,porém lenta demais para uma linguagem de alto nível..

Então Dennis Ritchie foi encarregado em desenvolver uma nova linguagem que seria sucessora da linguagem B.

A linguagem C é uma linguagem de Médio Nível.

Page 4: Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

As linguagens como SIMULA, BCPL, ALGOL 68, ADA, CLU, ML serviram de inspiração para o desenvolvimento da nova Linguagem.

Inicialmente era implementada por um pré-processador , porém a linguagem passou a exigir um compilador próprio que foi desenvolvido pelo Stroustrup. 4

Page 5: Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

Novas Características foram adicionadas a Linguagem como: Funções Virtuais, Sobrecarga de funções e Operadores

entre outros. Em 1985 foi lançada a 1º edição do livro The C++

Programming Language contendo referências para a utilização da linguagem.

A primeira versão comercial foi lançada em outubro de 1985. Em 1989 foi lançada a segunda versão, contendo novas

características como herança múltipla, classes abstratas, suporte a orientação a objeto e etc.

Em 1990 foi lançado o livro The Annotated C++ Reference Manual, que tornou-se base para o futuro padrão.

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#.

5

Page 6: Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

A linguagem continua em desenvolvimento pelo grupo de desenvolvimento Boost.org que trabalha para evoluir a biblioteca padrão.

C++ continuara continuará com sua natureza multiparadigma.

Há grande esforço para desenvolver compiladores que suportem inteiramente a liguagem, principalmente a parte de Gabaritos. Um exemplo é a palavra reservada Export, que permite que a definição de um gabarito seja separada de sua declaração. O primeiro compilador a implementar o Export foi Comeau C++, seguido por Borland C++ Builder X .

6

O futuro do C++

Page 7: Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

A sintaxe de uma linguagem de programação é a forma de suas expressões, declarações e unidades de programa.

Também pode ser definida como o conjunto de regras que determinam que construções estão corretas e quais não estão.

Existe 2 tipos de Sintaxe: Sintaxe concreta: Descreve a estrutura da linguagem com

todos os detalhes. Considera elementos “estéticos” como comentários,

palavras reservadas, precedência de operadores, e outros .

Utilizado para construir reconhecedores para programas. Sintaxe abstrata: Descreve apenas os elementos relevantes

da linguagem de programação. Ignora comentários e outros elementos que não

contribuem para a semântica do programa Utilizada para representar programas internamente no

compilador7

Sintaxe

Page 8: Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

8

Semântica

Descreve o significados das estruturas do programa expressos na sua sintaxeTipos de semânticaSemântica estática: Descreve as características de uma programa válidoSemântica dinâmica: Descreve os resultados da execução do programa

Page 9: Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

Funções

9

As funções são blocos de instruções que facilitam o entendimento do código. Sua sintaxe é:

Tipo_da_função nome_da_função (tipo var1, tipo var2,...,tipo varN)

{

corpo da função

}

Page 10: Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

Comandos

Comando If If (expressão){tarefa}

Comdando While While (expressão){tarefa} Do {tarefa}while (expressão)

Comando For for(valor inicial, condição,

ncremento/descremento){tarefa}

Page 11: Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

Paradigmas

Os paradigmas suportados são: Paradigma Imperativo (procedural)

Centrado em variaveis e comandos que manipulam as variaveis

Orientado a Objetos Uma aplicação é estruturada em modulos

( classes ) que agrupam um estado (atributos) e operações (métodos) sobre este.

Orientado a Aspecto Para C é denomndado AspectC e para C+

+,AspectC++

Page 12: Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

C++

Encapsulamento - O encapsulamento permite que

os atributos de classes possam ser declarados como

públicos, privados ou protegidos.

Herança - A herança de uma classe para com outra

pode ser declarada como pública, protegida ou privada.

Isso determina o quão relacionadas as classes serão entre

si.

Page 13: Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: 2006.1.03249.11 Universidade do Estado do Rio de Janeiro

Wikipédia C++ - http://pt.wikipedia.org/wiki/C%2B%2B Histórico da Linguagem C -

http://www.inf.pucrs.br/~pinho/LaproI/Historico/Historico.htm Introdução a Linguagem C -

http://www.cultura.ufpa.br/ferreira/Disciplinas/Paradigmas/Apostila_C.pdf

Sintaxe e Semântica - http://www.edilms.eti.br/uploads/file/pp/PP-aula-04-SintaxeSemantica.pdf

13