Sie sind auf Seite 1von 4

3/24/2010

Introduo

Linguagens de Programao
ROGRIO DE AVELLAR CAMPOS CORDEIRO CATEGORIA E INSTALAO DE SOFTWARES
INSTITUTO FEDERAL FLUMINENSE CAMPUS BOM JESUS DO ITABAPOANA

Computadores so velozes, eficientes ... Computadores realizam tarefas atravs instrues


Porm, binrias: 010001101010 01010010101110 ...

de

Uma Linguagem de Programao (LP) um mtodo padronizado para expressar instrues para um computador

Processo de desenvolvimento de software


Mais importncia ao software e menos no hardware
Evoluo Barateamento Acesso

Processo de desenvolvimento de software

Mquinas mais complexas exigem programaes mais sofisticadas


A forma de produo fundamental
Compreender, solucionar e manter Ex: Ciclo de Vida

ENIAC - Primeiro computador digital eletrnico de grande escala

Ciclo de Vida
O Ciclo de Vida ajuda compreender a complexidade de desenvolvimento dos softwares: 4 Fases:
Projeto Codificao (implementao) Validao Manuteno (utilizao e evoluo)

Ciclo de Vida
Projeto Global
Compreender o problema Definir em linhas gerais como ser solucionado Equipes de domnio diversos Interao com o cliente Estabelecer a viabilidade de sua construo e utilizao em situaes reais Definio da(s) linguagem(ns)

3/24/2010

Ciclo de Vida
Codificao
O programa efetivamente escrito
Na(s) linguagem(ns) definida(s) na fase anterior Utiliza de documentos elaborados na fase anterior Diagramas, Fluxogramas, etc.

Ciclo de Vida
Validao
Teste do software
Funcionamento satisfatrio Conformidade com os objetivos (requisitos) da primeira fase

Se houver problemas, so consertados (retorna a codificao) Softwares para auxiliar o desenvolvimento


Prottipos

Ciclo de Vida
Manuteno (utilizao e evoluo)
Utilizao pelo cliente Finalmente preenche os objetivos Podem surgir novas funcionalidades
Novos erros e problemas: software inadequado Alterao e extenso do programa Diferente das detectadas na primeira fase

Ciclo de Vida
Cada uma das fases pode ser repetida quantas vezes forem necessrias
At que o produto (software) final seja considerado finalizado

Quanto mais cedo um erro detectado, menos custoso sua correo Existem outras metodologias
Ciclo de Vida: Modelo Clssico Incremental, Prototipao, gil, etc.

Linguagens de Programao
Caractersticas das LPs:
A linguagem no deve induzir o programador a erros Erros que no possam ser descobertos com facilidade. Naturalmente, erros descobertos durante a compilao criam problemas menores que erros descobertos posteriormente (s vezes chamados de "erros de lgica"). A linguagem deve ajudar o programador a corrigir os erros Facilita a identificao e a determinao da ao de correo, seja qual for a causa original do erro. Legibilidade: a facilidade que a LP oferece para que um programador leia e compreenda um programa, com o grau de confiana necessrio para alter-lo.

Exemplo de Legibilidade

PASCAL

3/24/2010

Linguagens de Programao
Outras caractersticas:
Eficincia do programa compilado: a estrutura da linguagem facilita o processo de gerao e otimizao de cdigo, permitindo a construo de compiladores que gerem cdigo objeto que faa uso eficiente dos recursos de mquina disponveis. Disponibilidade de ferramentas: existem compiladores, interpretadores, ambientes de programao e de desenvolvimento amigveis, adequados para a linguagem nas mquinas em que a implementao deve ser realizada.

Linguagens de Programao
Outras caractersticas (cont.):
Disponibilidade de bibliotecas: existem bibliotecas de software de uso geral e de uso especfico para a aplicao, que permitem a reutilizao de software j escrito, dispensando a necessidade de sua construo. Essas bibliotecas podem ser escritas em qualquer linguagem, mas que deve permitir ser ligada ao cdigo que est se escrevendo.

Linguagens de Programao
Considerando que o computador s entende binrio seria muito penoso para um humano decorar todas as instrues que o computador necessita para trabalhar
Acessar endereo de memria Instrues do processador Binrio (Baixo Nvel)

Linguagens de Programao Montagem


Linguagens de montagem:
Oferecem essencialmente a facilidade de utilizao de nomes em vez de endereos e de cdigos de instrues (mnemnicos) So especficas para determinadas mquinas
No oferecem mobilidade para outras mquinas, so portanto, dependentes Permitem apenas a utilizao dos tipos implementados diretamente no hardware das mquinas (byte, word, address, double, ...) e suas operaes.

As LPs surgiram da necessidade de livrar o programador dos detalhes mais ntimos das mquinas
Programao em termos mais prximos ao problema: Nveis mais altos

Ex: ASSEMBLY

Comando: MOV AL, 61h Tal instruo ordena que o valor hexadecimal 61 (97, em decimal) seja movido para o registrador 'AL'.

Processos de Traduo
Programadores diferentes podem trabalhar sobre o mesmo cdigo O foco do programador no deve se preocupar com o hardware que ser utilizado Processo de TRADUO: converter um programa escrito em Alto Nvel para Baixo Nvel (cdigo de mquina)
Compilao Interpretao

Compilao x Interpretao
Compilador:
Implementa uma linguagem fonte traduzindo programas escritos nas linguagens de alto nvel para a linguagem cdigo objeto da mquina alvo, onde os programas vo ser executados.

Interpretador:
Examina o programa fonte, e simula a execuo de cada instruo ou comando de forma que o seu efeito seja reproduzido corretamente, medida que essa execuo se torna necessria. Mquina Virtual

3/24/2010

Compilao

Interpretao

Interpretao com traduo prvia

Mquina Virtual
Executa instrues como se fosse um computador real Uma duplicata eficiente e isolada de uma mquina real

No Windows no temos muito contato com cdigo fonte, pois os programas so quase sempre distribudos apenas em formato binrio Mas, no caso do Linux, temos a possibilidade de baixar o cdigo fonte de praticamente todos os programas que usamos no dia-a-dia

Das könnte Ihnen auch gefallen