Você está na página 1de 54

ONDE TUDO

COMEÇOU
MÁQUINA
UNIVERSAL
Proposto por
Allan Turning, esse
conceito expandia as
possíveis expectativas
sobre as máquinas
PRIMEIRO
COMPUTADOR
PROGRAMÁVEL
Criado por Konrad Zuse
PRIMEIRA
GERAÇÃO
Ainda na primeira
geração o objetivo
principal das máquinas
era o processamento
de cálculos complexos
HARVARD
MARK I
Primeira e maior
calculadora digital
automática
desenvolvida nos EUA
GRACE HOPPER HOWARD AIKEN
ENAC
Eletrônico, foi
desenvolvido durante
a Segunda Guerra
Mundial
SEGUNDA
GERAÇÃO
O grande marco na
segunda geração foi o
uso, nos computadores,
de transistores -
componentes criados
a partir do silício
TERCEIRA
GERAÇÃO
Um novo componente
rouba a cena: os
semicondutores, que
aumentavam a eficiência
e velocidade dos
computadores
QUARTA
GERAÇÃO
Foi o começo da era dos
computadores pessoais,
na década de 70
BILL GATES E STEVE JOBS E
PAUL ALLEN STEVE WOZNIAK
APPLE MAC II WINDOWS 95
COMO VOCÊ ACHA QUE
SERÃO OS FUTUROS
COMPUTADORES E SUAS
RESPECTIVAS
GERAÇÕES?
LINGUAGENS PARA PROGRAMAÇÃO E SEUS

NÍVEIS
CONTEXTO

EMISSOR MENSAGEM RECEPTOR


CONTEXTO

EMISSOR MENSAGEM RECEPTOR


COMO ME COMUNICO
COM UM COMPUTADOR?
Assim como na comunicação interpessoal,
a comunicação com uma máquina precisa
de alguns elementos para ser bem
sucedida. Um deles é a linguagem para
programação.
O COMPUTADOR
É MUITO BOM EM
EXECUTAR TAREFAS E
RESOLVER CÁLCULOS
COMPLEXOS
OLHE AO SEU REDOR
Onde estão os computadores?
Eles estão presentes no nosso dia-a-dia
de diferentes maneiras
NOTEBOOK CELULAR MICROONDAS
COMUNICAÇÃO

NOTEBOOK CELULAR MICROONDAS


LINGUAGEM
BINÁRIA
A linguagem binária,
também conhecida como
código de máquina, é
formada apenas por 0 e 1,
que representam estados
de ligado e desligado.
PYTHON JAVASCRIPT JAVA

ABSTRAÇÃO C++ PASCAL C

NÍVEL DE ABSTRAÇÃO
DAS LINGUAGENS DE ALTO NÍVEL

LINGUAGENS
ASSEMBLY

- Alto nível de abstração


- Baixo nível de abstração CÓDIGO DE MÁQUINA

HARDWARE
PYTHON JAVASCRIPT JAVA

C++ PASCAL C

NÍVEL DE ABSTRAÇÃO
BAIXO NÍVEL LINGUAGENS DE ALTO NÍVEL

DE ABSTRAÇÃO ASSEMBLY

CÓDIGO DE MÁQUINA

HARDWARE
PYTHON JAVASCRIPT JAVA

C++ PASCAL C

NÍVEL DE ABSTRAÇÃO
ALTO NÍVEL LINGUAGENS DE ALTO NÍVEL

DE ABSTRAÇÃO ASSEMBLY

CÓDIGO DE MÁQUINA

HARDWARE
LINGUAGEM DE
ALTO NÍVEL nome = "Paula Allemand"
nick = “paulaallemand”

Exemplo de código print("Nome: ", nome, “Nick: ”, nick)

em Python
LINGUAGENS
PARA
PROGRAMAÇÃO
- LINGUAGENS DE PROGRAMAÇÃO SÃO UMA FORMA
DE COMUNICAÇÃO COM O CÓDIGO DE MÁQUINA
COMPUTADOR

- PODEM ESTAR MAIS DISTANTES OU MAIS PRÓXIMAS


DA LINGUAGEM NATURAL HUMANA, DEFININDO
SEU NÍVEL DE ABSTRAÇÃO

- EXISTEM OUTRAS LINGUAGENS QUE AUXILIAM O


DESENVOLVIMENTO, E QUE NÃO SÃO LINGUAGENS
DE PROGRAMAÇÃO
CARACTERÍSTICAS
ABSTRAÇÃO DAS LINGUAGENS
-sintaxe e semântica
-nível de abstração
-tipagem
-paradigmas
-modos de execução
SINTAXE E SEMÂNTICA
sintaxe
/substantivo/
5. disposição harmoniosa de partes ou elementos.

semântica
/substantivo/
2. (..) o componente do sentido das palavras e da
interpretação das sentenças e dos enunciados.
NÍVEL DE ABSTRAÇÃO

ALTO MÉDIO BAIXO

fazerCafe() fazerCafe(): escolherCafe():


escolherCafe() olharArmario()
prepararFiltro() selecionarCafe()
esquentarAgua() pegarCafe()
coarCafe() guardarCafe()
descartarPo()
TIPAGEM

String nome = “Paula”; let nome = “Paula”;


int telefone = 123456789; let telefone = 123456789;

TIPAGEM ESTÁTICA TIPAGEM DINÂMICA


EXEMPLO DE CÓDIGO EM JAVA EXEMPLO DE CÓDIGO EM JAVASCRIPT
TIPAGEM

System.out.printIn(”Olá print(”Olá Mundo!”)


Mundo!”)

TIPAGEM ESTÁTICA TIPAGEM DINÂMICA


EXEMPLO DE CÓDIGO EM JAVA EXEMPLO DE CÓDIGO EM PYTHON
PARADIGMAS
ORIENTAÇÃO
PROCEDURAL A OBJETOS FUNCIONAL

Comandos Códigos que Comandos estão


executados como tentam espelhar o encapsulados em
em uma fila mundo real através funções
ordenada de objetos
MODOS DE EXECUÇÃO
As instruções escritas em uma linguagem de
programação devem ser traduzidas para o
código de máquina para serem executadas
COMPILAÇÃO
- Todo o código é lido no início
- Erros de sintaxe impedem o processo
- Mais lento para compilar e mais rápido para
executar
INTERPRETAÇÃO
- O código é lido linha a linha
- Um erro só interrompe o processo
- A cada execução é necessário
reinterpretar o código
- Mais rápida para interpretar e mais lenta
para executar
> LINGUAGENS PARA PROGRAMAÇÃO > NÍVEIS

[]

[]

[]
QUEM SÃO?
CADA LINGUAGEM
TEM UMA FILOSOFIA,
VANTAGEM E CASO
DE USO
ASSEMBLY
COBOL
PYTHON
JAVA
JAVASCRIPT
O que preciso desenvolver? As características dessa
linguagem atendem à demanda de negócio E os planos
de escalabilidade? O trabalho é em time? Ele conhece
essa linguagem? Como a comunidade de tecnologia
engaja com essa linguagem? Quais os custos de
implementação?
E UM TANTO MAIS...
CULTIVE
INTERESSE
GENUÍNO E FOCO.

Você também pode gostar