linguagens de programac¸ao˜ - facommadriana/pf/intro.pdf · resumo e bibliografia bibliografia...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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