Conectando programas a computadores

Conceitos em Ciência da Computação

Pritesh Patel

Computer Scientist & Data Scientist for over 20 years

Fazendo a ponte: humano → computador

Animação que mostra um laço for compilado para binário

Linguagens de programação

  • Algo que uma pessoa escreve e é traduzido para binário
  • Intermediárias

Tipos de tradução

  • Compilação
  • Interpretação
Conceitos em Ciência da Computação

Linguagens compiladas: produção de filme

Imagem que mostra um estúdio de gravação como analogia para linguagem compilada

Linguagens compiladas

  • O código é totalmente traduzido para binário (código de máquina) antes de executar.
  • Equivalente a produzir um filme vs. uma peça ao vivo.
    • Roteiro escrito, ensaiado, filmado e editado antes de exibir
Conceitos em Ciência da Computação

Exemplos de linguagens compiladas

Linguagem Logo
C Logotipo da linguagem C
C++ Logotipo da linguagem C++
Java Logotipo da linguagem Java
Rust Logotipo da linguagem Rust
Go Logotipo da linguagem Go

Vantagens

  • Desempenho mais rápido

Desvantagens

  • Depuração mais lenta
  • Binários dependem da plataforma
Conceitos em Ciência da Computação

Linguagens interpretadas: teatro ao vivo

Imagem que mostra um palco como analogia para linguagem interpretada

Linguagens interpretadas

  • O código é traduzido para binário (código de máquina) linha a linha durante a execução.
  • Equivalente a apresentar um roteiro ao vivo no palco.
    • Execução imediata
Conceitos em Ciência da Computação

Exemplos de linguagens interpretadas

Linguagem Logo
Python Logotipo da linguagem de programação Python
Javascript Logotipo da linguagem de programação JavaScript
Ruby Logotipo da linguagem de programação Ruby
php Logotipo da linguagem de programação PHP
R Logotipo da linguagem de programação R

Vantagens

  • Flexibilidade e iteração rápida

Desvantagens

  • Pode ser mais lento
Conceitos em Ciência da Computação

Vamos praticar!

Conceitos em Ciência da Computação

Preparing Video For Download...