linguagens de programac¸ao˜ - facommadriana/pf/intro.pdf · resumo e bibliografia bibliografia...

15
Princ´ ıpios Resumo e Bibliografia Linguagens de Programac ¸˜ ao Vis ˜ ao Geral Maria Adriana Vidigal de Lima Faculdade de Computac ¸˜ ao - UFU Agosto - 2009 Maria Adriana Vidigal de Lima Linguagens de Programac ¸˜ ao

Upload: others

Post on 17-Mar-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Linguagens de ProgramacaoVisao Geral

Maria Adriana Vidigal de Lima

Faculdade de Computacao - UFU

Agosto - 2009

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 2: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

1 PrincıpiosDefinicao de uma LPParadigmas de LPsUma breve historia das LPs

2 Resumo e Bibliografia

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 3: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Definicao de uma LPParadigmas de LPsUma breve historia das LPs

O que e uma linguagem de programacao?

Linguagens naturais facilitam a expressao e o intercambio deideias entre as pessoas. Assim como as linguagens naturais,as linguagens de programacao permitem a comunicacao deideias entre pessoas e computadores, porem, possuem umdomınio de expressao mais reduzido.

Uma boa linguagem de programacao e um universoconceitual para pensar em programacao. (AllanPerlis)

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 4: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Definicao de uma LPParadigmas de LPsUma breve historia das LPs

O que e uma linguagem de programacao?

“Uma linguagem de programacao (LP) e umaferramenta utilizada pelo profissional de computacaopara escrever programas, isto e, conjuntos deinstrucoes a serem seguidas pelo computador pararealizar um determinado processo.”

Flavio Varejao, Linguagens de Programacao (Java, C, C++ eoutras): Conceitos e Tecnicas, Editora Campus, 2002.

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 5: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Definicao de uma LPParadigmas de LPsUma breve historia das LPs

Projeto de uma Linguagem de Programacao

Sintaxe: A sintaxe de uma linguagem descreve o queconstitui um programa estruturalmente correto, e edefinida por uma gramatica livre de contexto.

Nomes e tipos: O vocabulario de uma LP inclui umconjunto de regras para nomear variaveis, funcoes eassim por diante.

Semantica: O significado de um programa e definido porsua semantica, ou seja, quando um programa eexecutado, o efeito de cada comando sobre os valores dasvariaveis e dado pela semantica.

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 6: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Definicao de uma LPParadigmas de LPsUma breve historia das LPs

Paradigmas de Linguagens de Programacao

Um paradigma de programacao e um padrao de resolucao deproblemas que se relaciona com um determinado genero deprogramas e linguagens.

Quatro paradigmas de programacao distintos e fundamentaisevoluıram nas ultimas tres decadas:

Programacao imperativa

Programacao orientada a objeto

Programacao funcional

Programacao logica

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 7: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Definicao de uma LPParadigmas de LPsUma breve historia das LPs

Programacao Imperativa

A programacao imperativa e fundamentada no modelocomputacional classico de John von Neumann. O programa contemuma serie de comandos para executar calculos, atribuir valores avariaveis, obter entradas ou produzir saıdas.

As LPs imperativas predominantes incluem COBOL, Fortran, C, Adae Perl.

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 8: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Definicao de uma LPParadigmas de LPsUma breve historia das LPs

Programacao Orientada a Objeto

A programacao orientada a objeto (POO) fornece um modelono qual um programa e uma colecao de objetos que interagementre si, passando mensagens que transformam seu estado.

Linguagens orientadas a objeto importantes sao: Smalltalk,C++ e Java.

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 9: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Definicao de uma LPParadigmas de LPsUma breve historia das LPs

Programacao Funcional

A programacao funcional modela um problemacomputacional como uma colecao de funcoesmatematicas, cada uma com um domınio de entrada e umresultado.As funcoes interagem e combinam entre si usandocomposicao funcional, condicoes e recursao.Linguagens importantes de programacao funcional saoLisp, Scheme, Haskell e ML.

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 10: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Definicao de uma LPParadigmas de LPsUma breve historia das LPs

Programacao Logica

A programacao logica permite a um programa modelarum problema declarando qual resultado o programa deveobter, em vez de como ele deve ser obtido.Sao chamadas linguagens baseadas em regras, pois asdeclaracoes do programa se parecem mais com umconjunto de regras ou restricoes sobre o problema, aoinves de uma sequencia imperativa de instrucoes.A principal linguagem logica e o Prolog.

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 11: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Definicao de uma LPParadigmas de LPsUma breve historia das LPs

Uma breve historia das LPs

As primeiras LPs foram as linguagens de maquina e aslinguagens assembly dos primeiros computadores,comecando na decada de 1940.Desde entao o desenvolvimento de LPs tem sido motivadopela demanda de poder computacional e novas aplicacoespor parte das comunidades:

Inteligencia ArtificialEducacao, Ciencia e EngenhariaSistemas de InformacaoSistemas, Redes e World Wide Web

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 12: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Definicao de uma LPParadigmas de LPsUma breve historia das LPs

Uma breve historia das LPs

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 13: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Definicao de uma LPParadigmas de LPsUma breve historia das LPs

Exercıcios

Uma pesquisa on-line sobre linguagens de programacaoproduzira links para fontes de informacao confiaveis de todasas LPs importantes do passado e do presente. Para cada umadas LPs seguintes, use a Internet para aprender algo sobreela. Escreva, com suas proprias palavras, um breve resumodas suas caracterısticas diferenciais, assim como sua relacaohistorica com outras linguagens que a precederam ouseguiram.

EiffelPythonHaskell

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 14: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Resumo

O estudo de linguagens de programacao e valioso por umaserie de importantes razoes: aumenta nossa capacidade deusar diferentes construcoes para escrever programas,possibilita-nos escolher linguagens para projetos de maneiramais inteligente e torna mais facil a aprendizagem de novaslinguagens.

Maria Adriana Vidigal de Lima Linguagens de Programacao

Page 15: Linguagens de Programac¸ao˜ - FACOMmadriana/PF/Intro.pdf · Resumo e Bibliografia Bibliografia Allen B. Tucker, Robert E. Noonan. Linguagens de Programac¸ao - Princ´ıpios e

PrincıpiosResumo e Bibliografia

Bibliografia

Allen B. Tucker, Robert E. Noonan. Linguagens deProgramacao - Princıpios e Paradigmas SegundaEdicao - MacGraw Hill, 2008. (Capıtulo 1)

Maria Adriana Vidigal de Lima Linguagens de Programacao