1. Aula 07
Linguagens de Programação Parte 2
Prof. Acauan Ribeiro
acauan.ribeiro@gmail.com
2. Objetivos
Entender:
As principais linguagens existentes no
mundo da computação;
Como elas sugiram;
Onde são utilizadas atualmente;
Os paradigmas de programação;
Diferença de interpretador e compilador;
Como funciona um compilador;
3. Introdução
Linguagens:
Homem: natural + notações (como a
matemática);
Máquina: nível muito atômico
(dígitos, binários, registradores, memória etc.);
Solução proposta:
Uso de Linguagens de Alto Nível
Linguagem de programação ou fonte, usadas
para produzir o programa fonte (seqüência de
caracteres que corresponde a uma
frase, elaborada de acordo com as regras da
linguagem fonte);
Uso de Processadores de Linguagens:
Interpretador e/ou Compilador.
4. Linguagens de Programação
Para começar, existe uma linguagem "básica"
para quem quer aprender a
programar, ensinada nos cursos de lógica da
programação, o pseudocódigo. Ele não e uma
linguagem "de verdade", mas e uma maneira
mais simples para aprender os fundamentos
usados em todas as linguagens de
programação.
5. Exemplo simples:
escreva: "Qual é a nota do aluno?"
leia nota
se nota maior ou igual a sete
então:
escreva "Ele passou"
senão:
escreva: "Ele foi reprovado"
fim do se
fim do programa
Este programinha perguntaria a nota e com base no
numero que for digitado avisaria se o aluno passou ou
não.
6. Programação Estruturada
Ainda bastante utilizada no mundo do
desenvolvimento.
Baseada no conceito da modularização:
o programa é quebrado em pequenos
procedimentos, também conhecidos
como funções.
7. Programação Orientada a
Objetos
A programação orientada a objetos traz o
mundo real para dentro do desenvolvimento.
Simular o mundo real dentro do computador
não é uma tarefa difícil utilizando essa “nova”
técnica. Se considerarmos que tudo ao nosso
redor é um objeto (um produto, um carro, uma
pessoa, um banco, uma conta corrente) é
possível fazer com que esses objetos interajam
entre si.
8. Princípios da Orientação a
Objetos
Qualquer coisa é um objeto;
Objetos realizam tarefas através de
requisição de serviços de outros objetos;
Cada objeto pertence a uma
determinada classe. Uma classe agrupa
objetos similares;
A classe é um repositório para o
comportamento associado ao objeto;
Classes são organizadas em hierarquias.
9. Resposta de um Fórum
O que diferencia a Estruturada da OO??
Uma linguagem estruturada permite que vc aglomere os trechos de
maior uso e transforme em uma subrotina ou função. Normalmente
vc consegue parametrizar estas funções. Um bom exemplo é criar
uma função que escreve em um dado arquivo.
OO permite que vc 'abstraia' este tipo de programação. Vc possui
entidades que podem possuir atributos e métodos, num análogo às
variaveis e funções, como se fossem programas independentes.
Programar orientado à objeto é diferente na modelagem dos
dados.
Por exemplo, ao invez de vc ter centenas de funções no mesmo
contexto para atividades diferentes, vc agrupa em objetos com
comportamentos semelhantes. Ficará mais claro quando vc fizer
alguns programas.
10. Resposta de um Fórum..
> o q seriam esses obejtos q ñ há na Estruturada?
Como eu disse, são abstrações que possuem
propriedades interessantes. Normalmente eles
aglomeram informações e à forma como vc vai
tratar estar informações. Vc pode ter um objeto
Arquivo com os metodos de
escrever, apagar, reescrever, virar-do-avesso. Se vc
quer usar um arquivo, basta usar um objeto do tipo
arquivo. O Foco é o arquivo, ou seja, o objeto.
> quais outras linguagens além do Java q são 100%
OO?
Smaltalk, Ada, Python e Ruby são 100% OO
11. Assembly
Surgiu na década de 50;
Usa um comando em substituição a cada
instrução de máquina;
A linguagem de máquina de cada processador é
acompanhada de uma versão “legível” da
linguagem de máquina que é a chamada
linguagem simbólica Assembly
MOV AX,B ; //registro AX recebe o valor de memória contida na
variável B
ADD AX,C ; //AX recebe a soma de AX (valor de B) com o valor
de C
MOV A,AX ; //variável A recebe valor de AX
12. Assembly
A passagem de um programa escrito em
Assembly para a linguagem de máquina
é quase sempre direta;
Essa passagem é chamada de
Montagem;
O programa que realiza esta operação é
chamado de montador (Assembler ).
13. Desvantagens do uso de
Assembly
Apresenta um número muito reduzido de
instruções;
Como o programador utiliza diretamente
os recursos do processador e
memória, ele deve conhecer muito bem
a máquina onde ele está programando.
Um programa em assembly não é muito
portável;
14. Vantagens do uso de
Assembly
O programador pode gerar um
programa mais compacto e eficiente
que o código gerado pelo compilador
Permite o controle total do hardware:
programação de portas seriais e paralela
de um PC.
15. Fortran
Uma da principais linguagens de alto nível da
história;
A primeira versão do Fortran foi criada no final
da década de 50;
Os programas podem ser escritos em
qualquer editor de texto, desde que sejam
salvos com as extensões *.for ou *.f90;
program ola
print*,"Olá Mundo!"
end program ola
16. Pascal
Linguagem de alto nível;
Criada durante a década de 60;
Linguagem de programação estruturada;
program EscreverNaTela;
begin
writeln('Isso será escrito na
tela'); end
17. Cobol
Significa"Common Business Oriented
Language“;
Foi desenvolvida no final da década de 50;
Tinha como objetivo de ser uma plataforma
de desenvolvimento para aplicações
bancárias e financeiras em geral;
linguagem bastante amigável, o que
garantiu uma grande aceitação na época.
18. C
Desenvolvidodurante a década de 70;
Linguagem de “Médio Nível”;
Curiosidade: A maior parte dos programas
Linux e o Kernel quase todo foram escritos
em C, o que explica o por que do sistema
ser tão rápido em algumas tarefas.
19.
20. C++
Mantém os recursos do C, mas traz muitos
recursos novos, como recursos orientados
a objetos.
Linguagem oficial do KDE (a interface
gráfica usada por padrão no Kurumin) e
da maioria dos programas para ele
21. Python
Linguagem de programação bastante
amigável, contudo bastante poderosa.
Lançada em 1991;
Orientada a Objetos;
Modelo de desenvolvimento aberto(sem fins
lucrativos);
22. Shell Script
O shell script não é exatamente uma
linguagem de programação, mas tem a
vantagem de ser bem mais simples, o que
permite desenvolver pequenos programas
muito rapidamente, em questão de minutos.
kdialog --msgbox "Olá, tudo
bem?"
#!/bin/bash
echo „Entre com o valor da variável„
read var
echo $var
23. Java
Surgiu em 1992;
Linguagem de programação orientada a
objetos;
Linguagem de Programação
Multiplataforma;
24. Curiosidade: JVM? JRE? JDK?
JVM = apenas a virtual machine, esse download não
existe, ela sempre vem acompanhada.
JRE = Java Runtime Environment, ambiente de
execução Java, formado pela JVM e bibliotecas, tudo
que você precisa para executar uma aplicação Java.
Mas nós precisamos de mais.
JDK = Java Development Kit:
Nós, desenvolvedores, faremos o download do JDK do
Java SE (Standard Edition). Ele é formado pela JRE
somado a ferramentas, como o compilador.
http://netbeans.org/downloads/
Tanto o JRE e o JDK podem ser baixados do site
http://java.sun.com, hoje gerenciado pela Oracle.
25. PHP
O PHP sucede de um produto mais
antigo, chamado PHP/FI. PHP/FI foi criado por
Rasmus Lerdorf em 1995, inicialmente como
simples scripts Perl como estatísticas de acesso
para seu currículo online. Ele nomeou esta série de
script de 'Personal Home Page Tools'. Como mais
funcionalidades foram requeridas, Rasmus
escreveu uma implementação C muito maior, que
era capaz de comunicar-se com base de
dados, e possibilitava à usuários desenvolver
simples aplicativos dinâmicos para Web. Rasmus
resolveu » disponibilzar o código fonte do PHP/FI
para que todos pudessem ver, e também usá-
lo, bem como fixar bugs e melhorar o código.
26. Para Finalizar
“A mente que se abre a
uma nova idéia jamais
voltará ao seu tamanho
original.”
Albert Einstein
Acessem a nosso sala virtual, link
abaixo:
http://www.ava.ufrr.br