ICC - Aula Compiladores, e January 9, 05 ICC - Aula Compiladores, e
enquanto ( x <0) x=x+... Tradução manual 0 x0 0 x f f 0 x0 0 xab 0 x9 0 xcc... ICC - Aula Compiladores, e
movl $5, 8(%rbp ) movl $, 4(%rbp ) jmp. L. L : movl 4(%rbp ), %eax i m u l l 8(%rbp ), %eax movl %eax, 4(%rbp ) s u b l $, 8(%rbp ). L : cmpl $0, 8(%rbp ) j g. L popq %rbp Tradutores ICC - Aula Compiladores, e
Cartões perfurados Difícil programar difícil manter Específico para um computador ( sem portabilidade ) Rotinas ICC - Aula Compiladores, e
Era necessário alguma coisa melhor que o Assembly de Programação ( Formais) Mais rigidas ICC - Aula Compiladores, e
Compiladores Compilação transforma uma arquivo em uma linguagem em um outro arquivo em outra linguagem Esta outra linguagem pode ser Assembly Compiladoes para linguagens de máquina diferentes Portabilidade ICC - Aula Compiladores, e
primeiro.asm primeiro.c ICC - Aula Compiladores, e
Interpretadores em tempo de execução Máquina Virtual bytecode Maior portabilidade Compilação just-in-time ICC - Aula Compiladores, e
Maquina Virtual meuprimero.py primeiro.pyc Primergy Maquina Virtual ICC - Aula Compiladores, e
Ninguem é uma ilha... Independente de compilação/interpretação, existem as bibliotecas Conjunto de tarefas similares são armazenaas em bibliotecas Eficientes e seguras(?) Um programa complexo geralmente é composto por várias biliotecas ICC - Aula Compiladores, e
Paradigmas Imperativas Declarativas: programação logica Funcional Orientada a Objetos: encapsulamento/abstração e reuso ICC - Aula Compiladores, e
Uma vez compilado, o software pode ser usado por um ser humano normal...as pessoas não querem (nem precisam) aprender computação para usar um computador Com a popularização do computador houve o nascimento da industria do software ICC - Aula Compiladores, e
Lotus --: primeira killer app planilha: permite ao contadore/gerente fazer balanço, calcular custos, etc, sem conhecer uma linguagem de programação processador de texto banco de dados Demorou para usar interface grafica 980 a 0 ICC - Aula Compiladores, e
A solução de banco de dados do Lotus -- não é robusta Sistema Gerenciador de Banco de Dados Solução corporativa Banco de dados relacional Tabelas e relações Por exemplo, a tabela de funcionarios contem as informações sobre os funcionarios de uma empresa (com uma ficha ) A tabela Setor armazena as informações sobre um determinado setor da empresa A tabela Lotado em relaciona os funcionarios que trabalham em cada setor ICC - Aula Compiladores, e
Um banco de dados é um bom exemplo de arquitetura cliente-servidor. Primergy ICC - Aula Compiladores, e
Um copmutador servidor atende a inumeros clientes Lógica e dados em um unico lugar $ facilidade de manutenção O servidor pode ser cliente de alguem (n-camadas) ICC - Aula Compiladores, e
Um navegador (chrome, firefox,...) é outro sistema cliente-servidor Serviços e informações são acessadas remotamente Mensagem mande a pagina xyz A servidor deve ser um computador muito rapido para servir milhares de paginas... ainfraestrutura de rede também deve ser rápida ICC - Aula Compiladores, e
PP peer to peer (PP) os elementos são pares não existe servidor diminuição de custo Direitos autorais privacidade ICC - Aula Compiladores, e
4 5 ICC - Aula Compiladores, e
4 5 ICC - Aula Compiladores, e
4 5 ICC - Aula Compiladores, e
4 4 5 ICC - Aula Compiladores, e
4 4 4 5 5 4 5 ICC - Aula Compiladores, e
4 5 4 5 4 5 4 5 4 5 ICC - Aula Compiladores, e