linguagem da programação

Download Linguagem da programação

Post on 29-Jun-2015

7.186 views

Category:

Technology

2 download

Embed Size (px)

DESCRIPTION

Rodrigo, Roberto e Alberto

TRANSCRIPT

  • 1. Histria das Linguagens de Programao

2. O que linguagemde programao
Umalinguagem de programao um mtodo padronizado para expressar instrues para umcomputador. um conjunto de regras sintticas e semnticas usadas para definir umprograma de computador. Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados sero armazenados ou transmitidos e quais aes devem ser tomadas sob vrias circunstncias.
3. O conjunto de palavras (tokens), compostos de acordo com essas regras, constituem ocdigo fontede umsoftware. Esse cdigo fonte depois traduzido paracdigo de mquina, que executado peloprocessador
4. Uma das principais metas das linguagens de programao permitir que programadores tenham uma maior produtividade, permitindo expressar suas intenes mais facilmente do que quando comparado com a linguagem que um computador entende nativamente (cdigo de mquina). Assim, linguagens de programao so projetadas para adotar uma sintaxe de nvel mais alto, que pode ser mais facilmente entendida por programadores humanos. Linguagens de programao so ferramentas importantes para queprogramadoreseengenheiro de softwarepossam escrever programas mais organizados e com maior rapidez
5. O primeiro trabalho de linguagem de programao foi criado para um computador que existia, criado peloAda Lovelace, esposa de William King-Noel. O projeto do primeiro computador foi idealizado por Charles Babbageque, aps gastar fortunas e um longo tempo, no conseguiu concretizar o projeto. A linguagem de programao ADAfoi batizada em homenagem a esta primeira programadora.
6. Uma das primeiras linguagens de programao para computadores foi provavelmente Plankalkl, criada por Konrad Zusena Alemanha Nazista, mas que teve pouco ou nenhum impacto no futuro das linguagens de programao.
A primeira linguagem de programao de alto nvel amplamente usada foi Fortran, criada em 1954
7. Em 1957 foi criada B-O, que daria origem a Flow-Matic(1958), antecessor imediato de Cobol, de 1959.LIspeAlgolforam criadas em 1958.
8. Diferena entre linguagem interpretada,compilada e scripts
9. Linguagem interpretada
uma linguagem de programao, onde o cdigo fontr nessa linguagem executado por um programa de computador chamado interpretador, que em seguida executado pelo sistema operacional ou processador. Mesmo que um cdigo em uma linguagem passe pelo processo de compilao, a linguagem pode ser considerada interpretada, se o programa resultante no for executado diretamente pelo sistema operacional ou processador. Um exemplo disso o Bytecode, que um tipo de linguagem interpretada, que passa pelo processo de compilao e, em seguida, executado por uma mquina virtual, cuja sintaxe similar a cdigo de mquina e cada comando ocupa 1byte. Existem tambm, as linguagens de script, que so linguagens interpretadas, executadas do interior de programas e/ou de outras linguagens de programao.
10. Linguagem compilada
uma linguagem de programao, onde o cdigo fonte nessa linguagem executado diretamente pelo sistema operacional ou pelo processador, aps ser traduzido, atravs de um processo chamado compilao, usando um programa de computador chamado compilador, para uma linguagem de baixo nvel, como linguagem de montagem ou cdigo de mquina.
11. Linguagem de script
Tambm conhecido como linguagem de scripting, ou linguagem de extenso, so linguagens de programao executadas do interior de programas e/ou de outras linguagens de programao, no se restringindo a esses ambientes. As linguagens de script servem para estender a funcionalidade de um programa e/ou control-lo, acessando sua API e, so freqentemente usadas como ferramentas de configurao e instalao em sistemas operacionais(Shell script), como por exemplo, em alguns sistemas operacionais da famlia Linux, que usam a linguagem bash. So tambm frequentemente usadas em jogos, como por exemplo, o jogo Impossible Creatures, que usa a linguagem Lua para controlar as aes dos personagens e o ambiente de batalha.
12. O que um paradigma de programao?
Modelo, padro ou estilo de programaosuportado por linguagens que agrupam certas caractersticas comuns
A classificao de linguagens em paradigmas uma conseqncia de decises de projeto que impactam radicalmente a forma na qual uma aplicao real modelada do ponto de vista computacional
13. O Paradigma Imperativo
Programas centrados no conceito de um estado (modelado por variveis) e aes (comandos) que manipulam o estado
Paradigma tambm denominado de procedural, por incluir sub-rotinas ou procedimentos como mecanismo de estruturao
Primeiro paradigma a surgir e ainda o dominante
14. Modelo Computacional do Paradigma Imperativo
Entrada
Sada
Programa
Estado
15. Vantagens do modelo imperativo
Eficincia (embute modelo de Von Neumann)
Modelagem natural de aplicaes do mundo real
Paradigma dominante e bem estabelecido
16. Desvantagens do paradigma imperativo
Relacionamento indireto entre E/S resulta em:
difcil legibilidade
erros introduzidos durante manuteno
descries demasiadamente operacionaisfocalizam o como e no o que
17. O Paradigma Orientado a Objetos
No um paradigma no sentido estrito: uma subclassificao do imperativo
A diferena mais de metodologia quanto concepo e modelagem do sistema
A grosso modo, uma aplicao estruturada em mdulos (classes) que agrupam um estado (atributos) e operaes (mtodos) sobre este
Classes podem ser estendidas e/ou usadas como tipos (cujos elementos so objetos)
18. Modelo Computacional do Paradigma Orientado a Objetos
Entrada
Sada
Programa
Entrada
Sada
Programa
Estado
Estado
Entrada
Sada
Programa
Entrada
Sada
Entrada
Sada
Programa
Programa
Estado
Estado
Estado
...
.
.
.
.
.
.
.
.
.
19. Vantagens do ParadigmaOrientado a objetos
Todas as do estilo imperativo
Classes estimulam projeto centrado em dados: modularidade, reusabilidade e extensibilidade
Aceitao comercial crescente
20. Problemas do Paradigma OO
Semelhantes aos do paradigma imperativo, mas amenizadas pelas facilidades de estruturao
21. O Paradigma Orientado a Aspectos
No um paradigma no sentido estrito
A diferena mais de metodologia quanto concepo e modelagem do sistema
uma nova forma de modularizao:
Para requisitos que afetam vrias partes de uma aplicao
22. O Paradigma Orientado a Aspectos
A grosso modo, uma aplicao estruturada em mdulos (aspectos) que agrupam pontos de interceptao de cdigo (pointcuts)que afetam outros mdulos (classes) ou outros aspectos, definindo novo comportamento (advice)
Aspectos podem ser estendidos e/ou usados como tipos
23. Modelo Computacional do Paradigma Orientado a Aspectos
Entrada
Sada
Programa
Entrada
Sada
Programa
Estado
Estado
Entrada
Sada
Programa
Entrada
Sada
Entrada
Sada
Programa
Programa
Estado
Estado
Estado
Aspecto
Aspecto
...
.
.
.
.
.
.
.
.
.
24. Vantagens do ParadigmaOrientado a Aspectos
Todas as do paradigma OO
til para modularizar conceitos que a Orientao a Objetos no consegue (crosscutting concerns)
Em especial, aqueles ligados a requisitos no funcionais
Aumenta a extensibilidade e o reuso
25. Problemas do Paradigma Orientado a Aspectos
Semelhantes aos do OO
Ainda preciso diminuir a relao entre classes e aspectos
Problemas de conflito entre aspectos que afetam a mesma classe
26. O Paradigma Funcional
Programas so funes que descrevem uma relao explcita e precisa entre E/S
Estilo declarativo: no h o conceito de estado nem comandos como atribuio
Conceitos sofisticados como polimorfismo, funes de alta ordem e avaliao sob demanda
Aplicao: prototipao em geral, IA, concorrncia, ...
27. Modelo Computacional do Paradigma Funcional
Entrada
Sada
Programa
28. Viso Crtica do Paradigma Funcional
Vantagens

  • Manipulao de programas mais simples: 29. - Prova de propriedades 30. - Transformao (exemplo: otimizao) 31. - Concorrncia explorada de forma natural

Problemas

  • O mundo no funcional! 32. Implementaes ineficientes 33. Mecanismos primitivos de E/S e formatao

O Paradigma Lgico
Programas so relaes entre E/S
Estilo declarativo, como no paradigma funcional
Na prtica, inclui caractersticas imperativas, por questo de eficincia
Aplicaes: prototipao em geral, sistemas especialistas,banco de dados, ...
34. Modelo Computacional do Paradigma Lgico
Entrada
Sada
Programa
35. Viso Crtica do Paradigma Lgico
Vantagens

  • Em princpio, todas do paradigma funcional 36. Permite concepo da aplicao em um alto nvel de abstrao (atravs de associaes entre E/S)

Problemas

  • Em princpio, todos do paradigma funcional 37. Linguagens usualmente no possuem tipos,nem so de alta ordem

Geraes de Linguagem de Programao.
Primeira Gerao: Linguagem de maquina (Binria)

  • Usa apenas 0 (zero) e 1 (um) para programarsoftwares.

Originalmente nenhum tradutor foi usado para montaras linguagens de primeira gerao. As instrues de programao eram submetidas atravs dos interruptoreslocalizados no painel frontal de sistemas de computadores. O principal benefcio na primeira gerao que o cdigo escrito pelo usurio muito rpido e eficiente, desde que este cdigo seja diretamente executado pe