1 aula 2 aspectos preliminares universidade do vale do rio dos sinos barbosa...
TRANSCRIPT
![Page 1: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/1.jpg)
1
Aula 2Aula 2Aspectos PreliminaresAspectos Preliminares
Universidade do Vale do Rio dos Sinos
< Página da Disciplina >
www.inf.unisinos.br/~barbosawww.inf.unisinos.br/~barbosa
<Endereço do Professor >
[email protected]@exatas.unisinos.br
![Page 2: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/2.jpg)
2
SUMÁRIOSUMÁRIO
![Page 3: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/3.jpg)
3
SUMÁRIOSUMÁRIO1 – Porque estudar linguagens?
![Page 4: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/4.jpg)
4
SUMÁRIOSUMÁRIO1 – Porque estudar linguagens?2 – Domínios paras as linguagens
![Page 5: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/5.jpg)
5
SUMÁRIOSUMÁRIO1 – Porque estudar linguagens?2 – Domínios paras as linguagens3 – Avaliação de linguagens
![Page 6: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/6.jpg)
6
SUMÁRIOSUMÁRIO1 – Porque estudar linguagens?2 – Domínios paras as linguagens3 – Avaliação de linguagens4 – Influências sobre o projeto
![Page 7: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/7.jpg)
7
SUMÁRIOSUMÁRIO1 – Porque estudar linguagens?2 – Domínios paras as linguagens3 – Avaliação de linguagens4 – Influências sobre o projeto5 – Categarias de linguagens
![Page 8: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/8.jpg)
8
SUMÁRIOSUMÁRIO1 – Porque estudar linguagens?2 – Domínios paras as linguagens3 – Avaliação de linguagens4 – Influências sobre o projeto5 – Categarias de linguagens6 – Negociações no projeto de linguagens
![Page 9: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/9.jpg)
9
SUMÁRIOSUMÁRIO1 – Porque estudar linguagens?2 – Domínios paras as linguagens3 – Avaliação de linguagens4 – Influências sobre o projeto5 – Categarias de linguagens6 – Negociações no projeto de linguagens7 – Métodos de implementação
![Page 10: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/10.jpg)
10
SUMÁRIOSUMÁRIO1 – Porque estudar linguagens?2 – Domínios paras as linguagens3 – Avaliação de linguagens4 – Influências sobre o projeto5 – Categarias de linguagens6 – Negociações no projeto de linguagens7 – Métodos de implementação8 – Ambientes de programação
![Page 11: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/11.jpg)
11
1 - Porque estudar linguagens?1 - Porque estudar linguagens?
![Page 12: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/12.jpg)
12
• Aumento da capacidade de expressar idéias1 - Porque estudar linguagens?1 - Porque estudar linguagens?
![Page 13: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/13.jpg)
13
• Aumento da capacidade de expressar idéias• Maior conhecimento para escolha de linguagens
1 - Porque estudar linguagens?1 - Porque estudar linguagens?
![Page 14: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/14.jpg)
14
• Aumento da capacidade de expressar idéias• Maior conhecimento para escolha de linguagens• Capacidade para aprender novas linguagens
1 - Porque estudar linguagens?1 - Porque estudar linguagens?
![Page 15: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/15.jpg)
15
• Aumento da capacidade de expressar idéias• Maior conhecimento para escolha de linguagens• Capacidade para aprender novas linguagens• Entender a importância da implementação - Gerenciamento de memória: Fortran x C (Cray) - Recursividade x Iteração
1 - Porque estudar linguagens?1 - Porque estudar linguagens?
![Page 16: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/16.jpg)
16
• Aumento da capacidade de expressar idéias• Maior conhecimento para escolha de linguagens• Capacidade para aprender novas linguagens• Entender a importância da implementação - Gerenciamento de memória: Fortran x C (Cray) - Recursividade x Iteração• Capacidade de projetar novas linguagens - Quem projeta novas linguagens (nós)? - Interface é uma linguagem?
1 - Porque estudar linguagens?1 - Porque estudar linguagens?
![Page 17: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/17.jpg)
17
• Aumento da capacidade de expressar idéias• Maior conhecimento para escolha de linguagens• Capacidade para aprender novas linguagens• Entender a importância da implementação - Gerenciamento de memória: Fortran x C (Cray) - Recursividade x Iteração• Capacidade de projetar novas linguagens - Quem projeta novas linguagens (nós)? - Interface é uma linguagem?• Avanço da computação - O que guia a escolha de uma linguagem? - Fortran x Algol - C++ x Java - Java será Cobol do século XXI?
1 - Porque estudar linguagens?1 - Porque estudar linguagens?
![Page 18: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/18.jpg)
18
2 - Domínios para as linguagens2 - Domínios para as linguagens
• Aplicações científicas• Aplicações comerciais• Inteligência artificial• Programação de sistemas• Linguagens de scripting • Propósitos especiais
![Page 19: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/19.jpg)
19
• Aplicações científicas - Estruturas de dados: vetores e matrizes - Principal concorrente: Assembly (eficiência) - FORTRAN (década de 50 e 60) - Existe alguma outra linguagem científica? - Físicos usam FORTRAN - CESUP: Principal linguagem = FORTRAN
2 - Domínios para as linguagens2 - Domínios para as linguagens
![Page 20: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/20.jpg)
20
• Aplicações científicas - Estruturas de dados: vetores e matrizes - Principal concorrente: Assembly (eficiência) - FORTRAN (década de 50 e 60) - Existe alguma outra linguagem científica? - Físicos usam FORTRAN - CESUP: Principal linguagem = FORTRAN
• Aplicações comerciais - COBOL (década de 60) - Planilhas eletrônicas - Sistemas da Banco de Dados
2 - Domínios para as linguagens2 - Domínios para as linguagens
![Page 21: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/21.jpg)
21
2 - Domínios para as linguagens2 - Domínios para as linguagens• Inteligência Artificial - Processamento simbólico - Listas encadeadas x Matrizes - Capacidade de criar e executar código novo (assert/retract no Prolog) - Primeira linguagem: LISP (década de 60) - Linguagem Prolog (década de 70) LPA (Logic Programming Associates Ltda)
![Page 22: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/22.jpg)
22
• Inteligência Artificial - Processamento simbólico - Listas encadeadas x Matrizes - Capacidade de criar e executar código novo (assert/retract no Prolog) - Primeira linguagem: LISP (década de 60) - Linguagem Prolog (década de 70) LPA (Logic Programming Associates Ltda)
• Programação de Sistemas (software básico) - Linguagem Assembly - Linguagem C (baixo nível, eficiente, sem restrições de segurança)
2 - Domínios para as linguagens2 - Domínios para as linguagens
![Page 23: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/23.jpg)
23
2 - Domínios para as linguagens2 - Domínios para as linguagens
• Scripting - Lista de comandos (scripts) - Shells do Unix - BATs do DOS - Linguagens de scripting x Outras linguagens • Propósitos especiais
![Page 24: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/24.jpg)
24
3 - Avaliação de Linguagens3 - Avaliação de Linguagens
• Legibilidade• Capacidade de escrita• Confiabilidade• Custo
![Page 25: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/25.jpg)
25
• Legibilidade - Codificação x Manutenção
3 - Avaliação de Linguagens3 - Avaliação de Linguagens
![Page 26: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/26.jpg)
26
• Legibilidade - Codificação x Manutenção - Simplicidade global Linguagem grande: usamos um subset (APIS em Java) Multiplicidade de recursos (incremento de variáveis em C) Sobrecarga (soma de elementos e OO)
3 - Avaliação de Linguagens3 - Avaliação de Linguagens
![Page 27: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/27.jpg)
27
• Legibilidade - Codificação x Manutenção - Simplicidade global Linguagem grande: usamos um subset (APIS em Java) Multiplicidade de recursos (incremento de variáveis em C) Sobrecarga (soma de elementos e OO) - Ortogonalidade Pascal e C: Passagem de vetores sempre por referência Facilitada nas linguagens declarativas (Prolog, Lisp, etc)
3 - Avaliação de Linguagens3 - Avaliação de Linguagens
![Page 28: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/28.jpg)
28
• Legibilidade - Codificação x Manutenção - Simplicidade global Linguagem grande: usamos um subset (APIS em Java) Multiplicidade de recursos (incremento de variáveis em C) Sobrecarga (soma de elementos e OO) - Ortogonalidade Pascal e C: Passagem de vetores sempre por referência Facilitada nas linguagens declarativas (Prolog, Lisp, etc) - Instruções de controle: Banimento do GOTO e estruturação
3 - Avaliação de Linguagens3 - Avaliação de Linguagens
![Page 29: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/29.jpg)
29
• Legibilidade - Codificação x Manutenção - Simplicidade global Linguagem grande: usamos um subset (APIS em Java) Multiplicidade de recursos (incremento de variáveis em C) Sobrecarga (soma de elementos e OO) - Ortogonalidade Pascal e C: Passagem de vetores sempre por referência Facilitada nas linguagens declarativas (Prolog, Lisp, etc) - Instruções de controle: Banimento do GOTO e estruturação - Tipos de dados: Tipo booleano em C (0 = FALSE)
3 - Avaliação de Linguagens3 - Avaliação de Linguagens
![Page 30: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/30.jpg)
30
• Legibilidade - Codificação x Manutenção - Simplicidade global Linguagem grande: usamos um subset (APIS em Java) Multiplicidade de recursos (incremento de variáveis em C) Sobrecarga (soma de elementos e OO) - Ortogonalidade Pascal e C: Passagem de vetores sempre por referência Facilitada nas linguagens declarativas (Prolog, Lisp, etc) - Instruções de controle: Banimento do GOTO e estruturação - Tipos de dados: Tipo booleano em C (0 = FALSE) - Sintaxe (tamanho de identificadores, etc)
3 - Avaliação de Linguagens3 - Avaliação de Linguagens
![Page 31: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/31.jpg)
31
3 - Avaliação de Linguagens3 - Avaliação de Linguagens• Capacidade de escrita - Contexto do domínio de problema-alvo
![Page 32: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/32.jpg)
32
3 - Avaliação de Linguagens3 - Avaliação de Linguagens• Capacidade de escrita - Contexto do domínio de problema-alvo - Ortogonalidade
![Page 33: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/33.jpg)
33
3 - Avaliação de Linguagens3 - Avaliação de Linguagens• Capacidade de escrita - Contexto do domínio de problema-alvo - Ortogonalidade - Abstração: Processos (subprogramas) e Dados (EDs) TADs como base para Objetos
![Page 34: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/34.jpg)
34
3 - Avaliação de Linguagens3 - Avaliação de Linguagens• Capacidade de escrita - Contexto do domínio de problema-alvo - Ortogonalidade - Abstração: Processos (subprogramas) e Dados (EDs) TADs como base para Objetos - Expressividade: A++ mais expressivo que A := A + 1 ?
![Page 35: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/35.jpg)
35
3 - Avaliação de Linguagens3 - Avaliação de Linguagens• Confiabilidade - Verificação de tipos Pascal x C C++ x Jada
![Page 36: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/36.jpg)
36
3 - Avaliação de Linguagens3 - Avaliação de Linguagens• Confiabilidade - Verificação de tipos Pascal x C C++ x Jada - Manipulação de exceções Abertura de arquivos em Pascal: Assign/Reset/Rewrite Java: Try/Catch/Finally
![Page 37: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/37.jpg)
37
3 - Avaliação de Linguagens3 - Avaliação de Linguagens• Confiabilidade - Verificação de tipos Pascal x C C++ x Jada - Manipulação de exceções Abertura de arquivos em Pascal: Assign/Reset/Rewrite Java: Try/Catch/Finally - Aliasing Perigoso C: UNIONS e Ponteiros
![Page 38: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/38.jpg)
38
3 - Avaliação de Linguagens3 - Avaliação de Linguagens• Custo - Treinamento de programadores
![Page 39: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/39.jpg)
39
3 - Avaliação de Linguagens3 - Avaliação de Linguagens• Custo - Treinamento de programadores - Escrita de programas na linguagem
![Page 40: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/40.jpg)
40
3 - Avaliação de Linguagens3 - Avaliação de Linguagens• Custo - Treinamento de programadores - Escrita de programas na linguagem - Ambientes de programação: Turbo Pascal, JCreator (Java), etc
![Page 41: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/41.jpg)
41
3 - Avaliação de Linguagens3 - Avaliação de Linguagens• Custo - Treinamento de programadores - Escrita de programas na linguagem - Ambientes de programação: Turbo Pascal, JCreator (Java), etc - Custos de compilação e execução (máquinas virtuais: JVM, etc)
![Page 42: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/42.jpg)
42
3 - Avaliação de Linguagens3 - Avaliação de Linguagens• Custo - Treinamento de programadores - Escrita de programas na linguagem - Ambientes de programação: Turbo Pascal, JCreator (Java), etc - Custos de compilação e execução (máquinas virtuais: JVM, etc) - Otimização de código
![Page 43: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/43.jpg)
43
3 - Avaliação de Linguagens3 - Avaliação de Linguagens• Custo - Treinamento de programadores - Escrita de programas na linguagem - Ambientes de programação: Turbo Pascal, JCreator (Java), etc - Custos de compilação e execução (máquinas virtuais: JVM, etc) - Otimização de código - Confiabilidade
![Page 44: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/44.jpg)
44
4 - Influências sobre o projeto 4 - Influências sobre o projeto • Arquitetura do computador
• Metodologia de programação
![Page 45: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/45.jpg)
45
4 - Influências sobre o projeto 4 - Influências sobre o projeto • Arquitetura do computador - Arquitetura Von Neumann: Linguagens Imperativas - Máquinas Virtuais como novas arquiteturas - Projeto japonês do computador de V geração
• Metodologia de programação
![Page 46: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/46.jpg)
46
4 - Influências sobre o projeto 4 - Influências sobre o projeto • Arquitetura do computador - Arquitetura Von Neumann: Linguagens Imperativas - Máquinas Virtuais como novas arquiteturas - Projeto japonês do computador de V geração
• Metodologia de programação - Programação não estrutura (GOTOs): BASIC, COBOL, etc - Programação estruturada: COBOL estruturado, Pascal, etc - Programação Orientada a Objetos: C++, Java, etc
![Page 47: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/47.jpg)
47
5 - Categorias de Linguagens (paradigmas)5 - Categorias de Linguagens (paradigmas)
• Paradigma Imperativo• Paradigma Orientado a Objetos• Paradigma em Lógica• Paradigma Funcional• Multiparadigma
![Page 48: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/48.jpg)
48
6 - Negociações no projeto de linguagens6 - Negociações no projeto de linguagens
• Negociação entre os critérios de avaliação
![Page 49: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/49.jpg)
49
6 - Negociações no projeto de linguagens6 - Negociações no projeto de linguagens
• Negociação entre os critérios de avaliação• Critérios conflitantes:
![Page 50: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/50.jpg)
50
6 - Negociações no projeto de linguagens6 - Negociações no projeto de linguagens
• Negociação entre os critérios de avaliação• Critérios conflitantes: • Confiabilidade x Custo de execução - Verificação de tipos em tempo de execução
![Page 51: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/51.jpg)
51
6 - Negociações no projeto de linguagens6 - Negociações no projeto de linguagens
• Negociação entre os critérios de avaliação• Critérios conflitantes: • Confiabilidade x Custo de execução - Verificação de tipos em tempo de execução• Flexibilidade x Segurança - C x Pascal - C++ x Java
![Page 52: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/52.jpg)
52
7 - Métodos de Implementação7 - Métodos de Implementação
• Compiladores
• Interpretação
• Sistemas híbridos
![Page 53: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/53.jpg)
53
7 - Métodos de Implementação7 - Métodos de Implementação
• Compiladores - Análise léxica, Análise sintática e Geração de código
- UNISINOS: Disciplinas específicas• Interpretação
• Sistemas híbridos
![Page 54: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/54.jpg)
54
7 - Métodos de Implementação7 - Métodos de Implementação
• Compiladores - Análise léxica, Análise sintática e Geração de código
- UNISINOS: Disciplinas específicas• Interpretação - Processo de desenvolvimento
- 10 a 100 vezes mais lenta do que a compilação
- Usada em scripts• Sistemas híbridos
![Page 55: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/55.jpg)
55
7 - Métodos de Implementação7 - Métodos de Implementação
• Compiladores - Análise léxica, Análise sintática e Geração de código
- UNISINOS: Disciplinas específicas• Interpretação - Processo de desenvolvimento
- 10 a 100 vezes mais lenta do que a compilação
- Usada em scripts• Sistemas híbridos - Máquinas virtuais - Exemplos: Java (JVM) e Prolog (WAM)
![Page 56: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/56.jpg)
56
8 - Ambientes de programação8 - Ambientes de programação
• Ferramentas para programação
• Java
![Page 57: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/57.jpg)
57
8 - Ambientes de programação8 - Ambientes de programação
• Ferramentas para programação - Editor
- Compilador
- Ligador
- Depuração
• Java
![Page 58: 1 Aula 2 Aspectos Preliminares Universidade do Vale do Rio dos Sinos barbosa barbosa@exatas.unisinos.br](https://reader035.vdocuments.pub/reader035/viewer/2022070311/552fc111497959413d8c627f/html5/thumbnails/58.jpg)
58
8 - Ambientes de programação8 - Ambientes de programação
• Ferramentas para programação - Editor
- Compilador
- Ligador
- Depuração
• Java - Compilador e Máquina Virtual
- Diversos ambientes (JCreator, Kawa, etc)