Vous êtes sur la page 1sur 13

Interpretadores (Definio)

Aes indicadas pelos comandos da linguagem so executadas!

Utilizao de subprograma
(escrito na linguagem de mquina do computador hospedeiro).

Interpretao de um programa feita pela chamada do subprograma em uma seqncia apropriada. Mais precisamente, um interpretador um programa que executa repetidamente a seguinte seqncia: 1. Obter o prximo comando do programa. 2. Determinar que aes devem ser executadas. 3. Executar estas aes.

Compiladores (Definio)
Tradutores de cdigo em alto nvel para baixo nvel.

Programas escritos em linguagem de alto nvel so traduzidos em verses de linguagem de mquina Esta traduo feita em vrios passos:
Inicialmente traduzidos para cdigo Assembly (compilador) Depois ser traduzido para cdigo relocvel (objeto), em linguagem de mquina O programa inteiro carregado na memria principal, como cdigo executvel de mquina.

Processo Descritivo

Prof. Leandro Coelho

Objetivos:
Introduzir conceitos e princpios fundamentais de linguagens de programao
elementos sintticos e semnticos caractersticas de projeto de linguagens tradutores de linguagens de programao ambientes de execuo

Estudar paradigmas de programao


diferentes enfoques na soluo de problemas

Motivao
porque estudar princpios e modelos de linguagens de programao?
Introduo a Linguagens de Programao

Modelos de linguagens
OP

Funcional OO

Lgico

Caractersticas desejveis em linguagens de programao

O relacionamento entre LP e mtodos de ES importante


LP oferecem suporte a mtodos de ES
Projeto estruturado: mdulos e estruturas de controle Projeto orientado a objetos: classes e relacionamentos Linguagens usadas tambm como notao de projeto

A ES oferece suporte a LP
Ambientes integrados de desenvolvimento de software Gerao automtica de cdigos

Paradigmas de programao esto relacionados com estilos de programao


programao estruturada, modular, orientada a objetos, funcional, lgico

Questes de projeto:
Qual a finalidade da LP? Uso geral? Uso especfico? Programao Internet? Qual a sua principal diferena em relao a outras LP existentes?

Questes de implementao:
Qual seu paradigma principal? Quais so suas razes? Linguagem nova? Extenso de linguagem existente? Como ser feito a traduo da linguagem? Plataforma de execuo homognea ou heterognea?

Linguagens imperativas
programao orientada a procedimentos programao orientadas a objetos

Linguagens concorrentes
programao paralela programao distribuda
Questes: - Suporte a mais de um paradigma? - Interoperabilidade?

Linguagens funcionais
programao funcional programao em lgica

Modelo imperativo Linguagens expressam seqncias de comandos que realizam transformaes sobre dados Base: mquina de von Neumann
orientadas a procedimentos orientadas a objetos

Modelo declarativo Linguagens que no possuem os conceitos de

seqncias de comandos atribuio


linguagens funcionais: nfase em valores computados por funes linguagens lgicas: nfase em axiomas lgicos

Seqencial Uma computao realizada aps o trmino da anterior Controle de fluxo de execuo interno ao programa:
seqncia seleo iterao invocaes

Concorrente Mltiplas computaes podem ser executadas simultaneamente Computaes paralelas

mltiplos processadores compartilham memria


Computaes distribudas

mltiplos computadores conectados por uma rede de comunicao

Sinttica: Uma linguagem de programao uma notao utilizada pelo programador para especificar aes a serem executadas por um computador Semntica: Uma linguagem de programao compreende um conjunto de conceitos que um programador usa para resolver problemas de programao

Aplicaes cientficas Aplicaes comerciais Inteligncia artificial Sistemas bsicos Aplicaes Internet
expressiva, eficiente, IDEs

portabilidade ...

GUIS,

expressiva, simples

Legibilidade Simplicidade Expressividade Ortogonalidade Confiabilidade Portabilidade

Vous aimerez peut-être aussi