Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Orientada a Eventos Alexandre Marcos C. Gitirana amcgitirana@yahoo.com.br 2013.1 Disciplina • Apresentações • Experiência da Turma • Expectativa do Professor • Expectativa da Turma • Planejamento do Curso Paradigmas de Programação O que é um Paradigma? “Paradigma é um termo com origem no grego “paradeigma” que significa modelo, padrão. No sentido amplo, corresponde a algo que vai servir de modelo ou exemplo a ser seguido em determinada situação. São as normas orientadoras de um grupo.” Ex.: Conto dos cinco macacos Breve Histórico As linguagens atuais não surgiram numa derivação linear das anteriores Início(baixíssimo nível): Binário • Linguagens de Montagem: substituíam as funções do código de máquina por mnemônicos e endereços de memórias por identificadores. Porém, mesmo assim essa ainda é um paradigma de baixo nível. Ex: Assembly • ex: Assembly • lui $s0, 0×1000 lw $v0, 0×8000($s0) A instrução lui carrega os 16 bits de mais alta ordem de uma constante em um registrador, permitindo que a instrução subseqüente especifique os 16 bits de mais baixa ordem desta constante Breve Histórico As linguagens atuais não surgiram numa derivação linear das anteriores Início(baixíssimo nível): Binário • Linguagens de Montagem: substituíam as funções do código de máquina por mnemônicos e endereços de memórias por identificadores. Porém, mesmo assim essa ainda é um paradigma de baixo nível. Ex: Assembly • ex: Assembly • lui $s0, 0×1000 lw $v0, 0×8000($s0) Movimenta dados da memória para registrador (load word). ex: lw <registrador> <deslocamento>(<registrador>) Breve Histórico Paradigma imperativo “Primeiro faça isso e depois faça aquilo.” • Após a segunda geração, houve um grande avanço com a chegada das linguagens procedurais. São as primeiras em que podemos dizer serem de alto nível pois usam um vocabulário relativo para solucionar problemas. Também é conhecido como paradigma imperativo, pois é uma sequência de comandos que o computador executará, passo-a-passo, modificando dados e variáveis a fim de chegar ao resultado esperado. Ex: COBOL, FORTRAN, C, PASCAL Breve Histórico Paradigma funcional “Subdividir o problema em outras funções e resolver cada uma separadamente, pois os resultados encontrados serão utilizados posteriormente.” Cada bloco recebe no topo uma entrada de dados e retorna, na base, os dados de saída. A solução geral é dividida em várias funções (daí o nome funcional) que, no final, se associam para mostrar o resultado na tela. Ex: APL, LISP, HASKELL, F# … Breve Histórico Paradigma de Orientação a Objetos “Um conjunto de classes faz a interação entre objetos (instâncias) e, com a troca de mensagens entre eles, forma-se o software como um todo.” Praticamente tudo é objeto, cada qual com estrutura e comportamento próprio. Esses objetos são oriundos de uma classes e comunicam-se entre si. Cada uma dessas representa um determinado fenômeno e seus objetos são organizados hierarquicamente. O conjunto de classes faz a interação entre objetos e a troca de mensagens entre eles forma o software como um todo. Junto com ele, veio o conceito de: • Classes / sub-classes • Objetos • Atributos • Métodos • Herança • Encapsulamento • Polimorfismo • Interface • etc.. Breve Histórico Existem diversos outros paradigmas e diversas linguagens que usam um ou vários paradigmas. A compreensão de alguns deles pode te ajudar a solucionar problemas de uma forma bem clara. Reflitam: por que não subir na escada para pegar as bananas? Tipos de Linguagem • Linguagens de Máquina Ex: 0010 0011 1000 1101 0110 – Consiste em uma sequência de números, escritos no sistema binário ou hexadecimal. Isso dependerá do processador utilizado Vantagem: Velocidade e Espaço Desvantagem: Pouca portabilidade Tipos de Linguagem • Linguagens de Baixo Nível Ex.: add ecx, ebx Linguagens intermediárias entre as de máquina e as de alto nível • Simplificações da linguagem de máquina. • Usam códigos mnemônicos Vantagens: Sintaxe mais inteligível Desvantagens: mnemônicos de difícil compreensão Tipos de Linguagem Linguagens de Alto Nível Comandos são mais próximos da linguagem humana Vantagens: Possibilidade de execução em qualquer plataforma e em qualquer processador Desvantagens: Necessidade de tradução para linguagem de máquina POO e POE A POO (Programação Orientada a Objetos) e a POE (Programação Orientada a Eventos) são facilmente confundidas. Lembre-se a POO contém a POE, mas a POE não contém a POO, um objeto pode existir mesmo que não exista nenhum evento associado a ele, mas um evento não pode existir se não houver um objeto a ele associado. A primeira implementa o conceito de: Abstração, classe, objeto, encapsulamento, herança e polimorfismo. A programação orientada a eventos é um paradigma de programação que não segue um fluxo de controle padronizado, sendo que seus fluxos de controles são guiados por sinais externos. Por tanto sua aplicação esta diretamente ligada com o desenvolvimento de interfaces voltada para o usuário. Linguagens de Programação Convenções de código são importantes para os programadores pelos seguintes motivos: • 80% do tempo gasto em codificação de um software é na fase de manutenção; • Dificilmente qualquer software é mantido por toda a sua vida pelo autor original; • Convenções de código melhoram a legibilidade do software, permitindo que os desenvolvedores entendam o código de forma mais rápida e completamente; • Se você enviar o seu código-fonte como um produto, você precisa ter certeza de que é bem feito e limpo como qualquer outro produto que você criar. Boas Práticas de Programação Se condicione a hábitos “saudáveis”, inclusive na sua atividade profissional. Aqui estamos focando em programação Boa semana para a todos ! Até quarta-feira que vem ! Programação Orientada a Eventos
Compartilhar