Isc aula 7

26
Aula 07 Linguagens de Programação Parte 2 Prof. Acauan Ribeiro [email protected] om

Transcript of Isc aula 7

Page 1: Isc   aula 7

Aula 07Linguagens de Programação Parte 2

Prof. Acauan [email protected]

Page 2: Isc   aula 7

ObjetivosEntender: 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;

Page 3: Isc   aula 7

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ívelLinguagem 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.

Page 4: Isc   aula 7

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.

Page 5: Isc   aula 7

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 sefim do programa

Este programinha perguntaria a nota e com base no numero que for digitado avisaria se o aluno passou ou não.

Page 6: Isc   aula 7

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.

Page 7: Isc   aula 7

Programação Orientada a ObjetosA 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.

Page 8: Isc   aula 7

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.

Page 9: Isc   aula 7

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.

Page 10: Isc   aula 7

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

Page 11: Isc   aula 7

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 BADD AX,C ; //AX recebe a soma de AX (valor de B) com o valor de CMOV A,AX ; //variável A recebe valor de AX

Page 12: Isc   aula 7

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 ).

Page 13: Isc   aula 7

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;

Page 14: Isc   aula 7

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.

Page 15: Isc   aula 7

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

Page 16: Isc   aula 7

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

Page 17: Isc   aula 7

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. 

Page 18: Isc   aula 7

C Desenvolvido durante 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.

Page 19: Isc   aula 7
Page 20: Isc   aula 7

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

Page 21: Isc   aula 7

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);

Page 22: Isc   aula 7

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 varecho $var

Page 23: Isc   aula 7

Java Surgiu em 1992; Linguagem de programação orientada a

objetos; Linguagem de Programação

Multiplataforma;

Page 24: Isc   aula 7

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.

Page 25: Isc   aula 7

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.

Page 26: Isc   aula 7

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