27
Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Embed Size (px)

Citation preview

Page 1: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguagens de programação

Profª Kelly E. MedeirosBacharel em Sistemas de Informação

Page 2: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguaguens de Baixo NívelAs linguagens de baixo nível são interpretadas diretamente pelo

computador, tendo um resultado rápido, porém é muito difícil e incômodo se trabalhar com elas. Exemplos de linguagens de baixo nível são a linguagem binária e a linguagem Assembly.

Page 3: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguagem de Baixo Nível• Vantagens: Programas são executados com maior velocidade

de processamento. Os programas ocupam menos espaço na memória.

Page 4: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguagem de Baixo Nível• Desvantagens: Em geral, programas em Assembly tem pouca

portabilidade, isto é, um código gerado para um tipo de processador não serve para outro. Códigos Assembly não são estruturados, tornando a programação mais difícil.

Page 5: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguagem de Baixo NívelExemplo de código em Assembly:• MOV r0, #0C ;load base address of string into r0• LOAD: MOV r1,(r0) ;load contents into r1• CALL PRINT ; call a print routine to print the character in r1• INC r0 ;point to next character• JMP LOAD ;load next characterComo pode-se notar, é uma linguagem bastante complicada.

Page 6: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguagem de Nível Médio

• Estas linguagens são linguagens voltadas ao ser humano e a máquina, ou seja, estas linguagens são uma mistura entre as linguagens de Alto Nível e as de Baixo Nível. Estas linguagens contém comandos muito simples e outros muito complicados, o que torna o seu código não muito difícil e nem tão fácil de se entender. Uma linguagem de Nível Médio são C e C++, existem algumas outras que utilizam o mesmo nível.

Page 7: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguagem de Nível Médio• Vantagens: Geralmente são linguagens com mais poder,

permitindo a criação de jogos e programas com qualidade profissional.

• Desvantagens: Alguns comandos tem uma sintaxe muito difícil de se compreender.

Page 8: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguagem de Nível Médio• #include <unistd.h>• #define bufsize 1024;• int N,O;• int n;• char *buf;• buf = (char*) malloc (bufsize); • while((n=read(N, buf, bufsize))>0)• write(O, buf,n)• free(buf);

Page 9: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguagem de Alto Nível

• São mais fáceis de se trabalhar e de entender, as ações são representadas por palavras de ordem (exemplo faça, imprima, etc) geralmente em inglês, foram feitos assim para facilitar a memorização e a lógica. Elas não são interpretadas diretamente pelo computador, sendo necessário traduzí-las para linguagem binária utilizando-se de um programa chamado compilador.

Page 10: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguagem de Alto Nível• Quando programamos em uma linguagem de programação de

alto nível primeiramente criamos um arquivo de texto comum contendo a lógica do programa, ou seja, é onde falamos ao computador como deve ser feito o que queremos.

Page 11: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguagem de Alto Nível• Este arquivo de texto é chamado de código-fonte, cada

palavra de ordem dentro do código-fonte é chamada de instrução. Após criarmos o código-fonte devemos traduzir este arquivo para linguagem binária usando o compilador correspondente com a linguagem na qual estamos programando.

Page 12: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguagem de Alto Nível• O compilador irá gerar um segundo arquivo que chamamos de

executável ou programa, este arquivo gerado é interpretado diretamente pelo computador.

Page 13: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Linguagem de Alto Nível• Exemplo de código PHP (alto nível)• print (“Bem vindos visitantes do InfoEscola!”);

print (” Vamos contar até 50:”);for($x=1;$x<=50;$x++) {print $x;print ” “;}

• if(4 == 2) {print (“Fim do mundo! 4 é igual a 2!”);} else {print (“Ufa! 4 é diferente de 2″);}?>

Page 14: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Níveis de linguagem – Baixo, Médio e Alto

Algumas Linguagens de programação• C• JAVA• C++• C#• VISUAL BASIC .NET• PHP• JAVASCRIPT• DELPHI/OBJECT PASCAL• PASCAL

Page 15: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Metodologias de Desenvolvimento

Page 16: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Codifica-Corrige•Codifica-Corrige” nada mais é do que o conceito de

“apenas faça funcionar”. •Inicialmente, o cliente pode fornecer uma

especificação do que ele precisa. •Esta especificação pode ser obtida através de

algumas anotações, email, ou de qualquer outra fonte não muito consistente. •Esta abordagem se apóia nos conhecimentos da

equipe para tentar preencher as lacunas.

Page 17: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Codifica - Corrige• A metodologia “Codifica-Corrige” possui diversos efeitos

colaterais negativos:• A qualidade do produto é baixa.• O sistema frequentemente se transforma num código

bagunçado, com falta de adaptabilidade, reuso e interoperabilidade.• Os sistemas são difíceis de serem mantidos e aprimorados.• Os sistemas frequentemente tornam-se complicados e com

baixa escalabilidade.

Page 18: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Cascata

• A metodologia de desenvolvimento em cascata foi desenvolvida pela marinha norte-americana nos anos 60 para permitir o desenvolvimento de softwares militares complexos. No modelo em cascata, o projeto segue uma série passos ordenados. Ao final de cada fase, a equipe de projeto finaliza uma revisão. O desenvolvimento não continua até que o cliente esteja satisfeito com os resultados.

Page 19: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Cascata

Page 20: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Prototipagem Evolutiva• A metodologia de Prototipagem Evolutiva é uma abordagem

que visualiza o desenvolvimento de concepções do sistema conforme o andamento do projeto. Esta metodologia baseia-se na utilização de prototipagem visual ou modelos do sistema final.

Page 21: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Prototipagem Evolutiva• Estes modelos podem ser simples desenhos, imagens gráficas

e até cópias completas em HTML do sistema esperado. Com esta abordagem visual, o cliente tem uma certeza maior do resultado final.

Page 22: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação
Page 23: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

Entregas por estágios

• Esta metodologia é outra abordagem modificada da metodologia de Desenvolvimento em Cascata. Existe um fluxo definido do início ao fim e as aceitações ocorrem a cada estágio. A diferença principal é que os requisitos de negócio do cliente são quebrados em grandes componentes, e estes componentes são entregues ao cliente em estágios discretos.

Page 24: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação
Page 25: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

RUP (Rational Unified Process)

• A metodologia RUP (Rational Unified Process) é um processo que fornece uma metodologia disciplinada de desenvolvimento utilizando um conjunto de ferramentas, modelos e entregáveis.

Page 26: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação

RUP

• A metodologia padronizada pode ser atrativa para grandes organizações que necessitem de uma linguagem comum e ferramentas padronizadas para toda a organização.• A metodologia RUP utiliza UML (Unified

Modeling Language) para comunicar os requisitos, arquiteturas e modelagens.

Page 27: Linguagens de programação Profª Kelly E. Medeiros Bacharel em Sistemas de Informação