paradigmas de linguagem de programação -...
TRANSCRIPT
Introdução
▪ Nesta segunda etapa de nossos estudos, veremos:
▪ aspectos básicos de programa e linguagem de programação;
▪ revisão de conceitos de compilador e interpretador;
▪ as principais linguagens de programação;
▪ breve conceito sobre alguns paradigmas.
Professor Ariel da Silva Dias - www.arieldias.com - Obra Gratuita, proibida reprodução e venda
Aspectos básicos
▪ Programa
▪ Mecanismo que manipula e produz entidades abstratas (dados);
▪ Enquanto em formato texto, ele se torna a descrição do mecanismo;
▪ Em execução, ele se torna o próprio mecanismo, com ações próprias;
▪ O meio físico de atuação deste mecanismo é o computador.
Professor Ariel da Silva Dias - www.arieldias.com - Obra Gratuita, proibida reprodução e venda
Aspectos básicos
▪ Linguagem de Programação
▪ Trata-se de um conjunto de recursos e regras capazes de construírem mecanismosabstratos a serem executados com qualidade em computadores;
▪ A primeira linguagem foi criada em 1945 e denominada Plankalkul;
▪ Esta linguagem nunca foi implementada.
Professor Ariel da Silva Dias - www.arieldias.com - Obra Gratuita, proibida reprodução e venda
Aspectos básicos
▪ Características de uma linguagem de programação▪ Requisitos
▪ qual universo de problemas queremos resolver?
▪ Expressividade▪ melhor forma para representar os elementos da linguagem
▪ Paradigma▪ qual a forma mais adequada para representar e resolver os problemas apresentados por uma determinada
aplicação?
▪ Implementável▪ aquilo que é passível de implementação
▪ Eficiência▪ relação entre custo x benefício da implementação
▪ Sintaxe▪ como escrevemos os elementos da linguagem.
▪ Semântica▪ o significado de cada elemento da linguagem, ou seja, seu comportamento quando em execução.
Professor Ariel da Silva Dias - www.arieldias.com - Obra Gratuita, proibida reprodução e venda
Compilador e Interpretador
▪ Para que a linguagem de programação possa ser executada, precisamos de umprocessador de linguagem;
▪ Processadores de linguagens são programas capazes de transformar os códigosfontes (escrito pelo programador) em códigos entendidos pelo sistemacomputacional;
▪ A estes processadores de linguagem denominamos de Compilador eInterpretador;
Professor Ariel da Silva Dias - www.arieldias.com - Obra Gratuita, proibida reprodução e venda
Compilador e Interpretador
▪ Compilador
▪ Transforma código fonte escrito pelo programador em código que pode serentendido pelo computador (código de máquina);
▪ Uma vez traduzido, o computador executa de uma única vez todo o código demáquina gerado pelo compilador;
▪ Conforme vimos anteriormente, o compilador possui 4 fases fundamentais:
Professor Ariel da Silva Dias - www.arieldias.com - Obra Gratuita, proibida reprodução e venda
Compilador e Interpretador
▪ Analisador Léxico
▪ Constrói a tabela de símbolos léxicos (identificadores, palavras reservadas,operadores, etc)
▪ Analisador Sintático
▪ Verifica se os símbolos léxicos obedecem as regras sintáticas da linguagem
▪ Analisador Semântico
▪ Verifica se há conflitos difíceis/impossíveis de serem encontrados pelo analisadorsintático
▪ Gerador de Código de Máquina
▪ Constrói um código capaz de ser executado pelo processador do computador
Professor Ariel da Silva Dias - www.arieldias.com - Obra Gratuita, proibida reprodução e venda
Compilador e Interpretador
▪ Interpretador
▪ Diferentemente do Compilador, aqui cada linha do código escrito pelo programadoré executada de uma a uma
▪ Cada linha passa pela análise léxica, sintática e semântica e imediatamenteexecutada pelo processador (caso não haja erro no código)
▪ Desvantagem: lentidão
Professor Ariel da Silva Dias - www.arieldias.com - Obra Gratuita, proibida reprodução e venda
Paradigmas de Programação
▪ No cotidiano encontramos muitos problemas e cada um deles possui uma (oumais) forma diferente de ser solucionado
▪ O mesmo problema pode ter dois ou mais tipos de soluções
▪ Ex: Como é possível subir do térreo ao 17º andar de um prédio?
▪ Possibilidades:▪ Ir de elevador▪ Ir pelas escadas do prédio;▪ Escalar;▪ Subir de escada magirus;▪ Outras possibilidades???
Professor Ariel da Silva Dias - www.arieldias.com - Obra Gratuita, proibida reprodução e venda
Paradigmas de Programação
▪ No problema temos 4 possíveis soluções, mas qual a melhor?
▪ Elevador: mais rápido, mais prático;
▪ Escadas: prático, porém SE for um idoso ou deficiente físico, talvez não seja uma boaideia;
▪ Escalar: nada prático;
▪ Escada magirus: em um cenário normal é algo inviável;
▪ Para este cenário, o melhor mesmo é o elevador.
▪ Mas e se o prédio estiver em chamas???
Professor Ariel da Silva Dias - www.arieldias.com - Obra Gratuita, proibida reprodução e venda
Paradigmas de Programação
▪ Como vimos, para cada problema uma ou mais soluções;
▪ As linguagens de programação foram desenvolvidas para solucionar problemas,das mais diferentes espécies, porém, cada linguagem possui suas característicase determinados fins;
▪ O elevador do problema anterior que era excelente para levar o morador de umandar para o outro, em caso de chamas passa-se a ser a pior escolha;
▪ Por outro lado, a escada magirus que em situação normal é nada praticável,torna-se a melhor opção em caso de incêndio.
Professor Ariel da Silva Dias - www.arieldias.com - Obra Gratuita, proibida reprodução e venda
Paradigmas de Programação
▪ Paradigma Imperativo (estado, atribuição, sequência)
▪ Basic, Pascal, C, Assembly, ADA
▪ Paradigma Funcional (função, aplicação, avaliação)
▪ Lisp, Miranda, Haskell, SCHEME
▪ Paradigma Lógico (relação, dedução)
▪ Prolog, Godel
Professor Ariel da Silva Dias - www.arieldias.com - Obra Gratuita, proibida reprodução e venda
Paradigmas de Programação
▪ Paradigma Orientado a Objetos (objeto, troca de mensagem)
▪ C++, JAVA, Eiffel, Ocaml, Python
▪ Paradigma Concorrente (processo, comunicação – síncrona ou assíncrona)
▪ Ada, JAVA
▪ Declarativas
▪ Vê o problema como uma relação das declarações (objetos, dados e relações).
▪ Deste paradigma, podemos destacar o paradigma lógico e o paradigma funcional
Professor Ariel da Silva Dias - www.arieldias.com - Obra Gratuita, proibida reprodução e venda