Portugol M00A02 Como Funcionam as Linguagens

00:19:31
https://www.youtube.com/watch?v=Ol8KcAc7N2c

Zusammenfassung

TLDREn esta clase del curso básico de fundamentos de programación, se explora cómo funcionan las lenguajes de programación. Se enfatiza que no hay un lenguaje superior, sino que cada uno se adapta a diferentes necesidades. Se compara la programación con aprender un idioma, donde se necesita traducir el código fuente a código de máquina. Se explican los procesos de compilación, interpretación y el uso de máquinas virtuales, preparando a los estudiantes para elegir la mejor opción para sus proyectos.

Mitbringsel

  • 💻 No hay un lenguaje de programación superior.
  • 📚 Aprender a programar es como aprender un idioma.
  • 🔄 La traducción de código es esencial en programación.
  • 🛠️ Existen diferentes procesos: compilación, interpretación y máquinas virtuales.
  • 📊 Cada lenguaje tiene su propio método de traducción.
  • ⚙️ Compiladores generan código ejecutable antes de la ejecución.
  • 📜 Intérpretes traducen línea por línea durante la ejecución.
  • 🔍 Bytecode es un código intermedio para máquinas virtuales.
  • 🖥️ Las máquinas virtuales permiten ejecutar código en diferentes entornos.
  • 📈 La elección del lenguaje depende del proyecto y sus necesidades.

Zeitleiste

  • 00:00:00 - 00:05:00

    En esta lección, se discute la importancia de entender las diferentes lenguajes de programación y cómo cada uno se adapta a necesidades específicas. Se enfatiza que no existe un lenguaje de programación superior, sino que cada uno tiene sus ventajas y desventajas dependiendo del proyecto a desarrollar. Se anima a los estudiantes a mantener una mente abierta y a aprender múltiples lenguajes a lo largo de su carrera.

  • 00:05:00 - 00:10:00

    Se introduce el concepto de traducción de código fuente a código de máquina, explicando que existen diferentes métodos para realizar esta traducción. Se presentan tres procesos principales: compilación, interpretación y el uso de máquinas virtuales. Se explica cómo cada uno de estos procesos funciona y se mencionan ejemplos de lenguajes que utilizan cada método.

  • 00:10:00 - 00:19:31

    Se profundiza en el proceso de compilación, donde el código fuente se traduce a un código de máquina a través de un compilador, y se discute el proceso de interpretación, donde el código se traduce línea por línea. También se introduce el concepto de compiladores de bytecode, que generan un código que se ejecuta en una máquina virtual. Se concluye que cada lenguaje tiene su propio método de traducción y que es importante entender estos procesos para elegir el lenguaje adecuado para cada proyecto.

Mind Map

Video-Fragen und Antworten

  • Qual é a melhor linguagem de programação?

    Não existe a melhor linguagem, mas sim aquelas que se adaptam às suas necessidades.

  • O que é um compilador?

    Um compilador traduz o código-fonte de uma linguagem de alto nível para uma linguagem de baixo nível ou código de máquina.

  • Qual é a diferença entre compilação e interpretação?

    Compilação gera um código executável antes da execução, enquanto a interpretação traduz o código linha por linha durante a execução.

  • O que é uma máquina virtual?

    Uma máquina virtual é um ambiente que permite executar código em um sistema operacional diferente do original.

  • Quais linguagens utilizam compilação?

    C, C++, Fortran e Pascal são exemplos de linguagens que utilizam compilação.

  • Quais linguagens são interpretadas?

    PHP, JavaScript e Python são exemplos de linguagens que utilizam interpretação.

  • O que é bytecode?

    Bytecode é um código intermediário gerado por um compilador que é executado em uma máquina virtual.

  • O que é um interpretador?

    Um interpretador traduz o código-fonte diretamente para a linguagem de máquina, linha por linha.

  • Como funciona o processo de compilação?

    O código-fonte é passado por um compilador que gera um código de montagem, que é então convertido em código de máquina.

  • O que é um montador?

    Um montador é um tradutor que converte código de montagem em código de máquina.

Weitere Video-Zusammenfassungen anzeigen

Erhalten Sie sofortigen Zugang zu kostenlosen YouTube-Videozusammenfassungen, die von AI unterstützt werden!
Untertitel
pt
Automatisches Blättern:
  • 00:00:04
    olá chegamos aqui há mais uma aula do
  • 00:00:07
    seu curso básico de fundamento de
  • 00:00:09
    programação e eu espero sinceramente que
  • 00:00:11
    você tenha visto os dois últimos vídeos
  • 00:00:13
    porque eles te dão uma base para você
  • 00:00:15
    entender como é que a gente chegou até
  • 00:00:16
    aqui e durante essa aula 02 do seu curso
  • 00:00:19
    de fundamentos aqui do estudo a alta
  • 00:00:21
    a gente vai ver como funcionam as
  • 00:00:22
    linguagens o que eu não sei se você sabe
  • 00:00:24
    existem vários formatos de linguagem e
  • 00:00:27
    vários comportamentos que podem
  • 00:00:29
    inclusive interferir na sua decisão em
  • 00:00:32
    relação a usar ou não utilizar uma
  • 00:00:34
    determinada linguagem porque é muito
  • 00:00:36
    comum nesse ramo de tecnologia a gente
  • 00:00:39
    ter tribos que defendem uma determinada
  • 00:00:41
    linguagem como a solução para todos os
  • 00:00:43
    problemas
  • 00:00:44
    isso não existe eu poderia muito bem
  • 00:00:46
    aqui gravar um curso de python a durante
  • 00:00:48
    o curso de pato poderia falar que python
  • 00:00:50
    é melhor linguagem do mundo durante o
  • 00:00:52
    curso de java poderia falar que já vai
  • 00:00:53
    na linguagem no mundo gente não existe a
  • 00:00:56
    melhor linguagem existem as linguagens
  • 00:00:58
    que se adaptam de acordo com as suas
  • 00:01:00
    necessidades não adianta ficar forçando
  • 00:01:02
    a barra
  • 00:01:03
    porque por exemplo python não é a melhor
  • 00:01:06
    opção para você criar um aplicativo para
  • 00:01:08
    android dá pra fazer da é meio da amb a
  • 00:01:11
    reta é melhor você utilizar java ou
  • 00:01:13
    quatro em um e aí você escolhe um time
  • 00:01:15
    você acaba fechando as suas
  • 00:01:17
    possibilidades
  • 00:01:18
    por exemplo se você escolhe o time sharp
  • 00:01:21
    uma postura de que se fechar primeira
  • 00:01:23
    linguagem não existe outra talvez na
  • 00:01:26
    hora de criar um aplicativo para android
  • 00:01:27
    você não se dê tão bem assim com josé
  • 00:01:30
    mourinho por exemplo que não é uma
  • 00:01:31
    solução nativa
  • 00:01:33
    por outro lado se você escolhe o java e
  • 00:01:35
    vai precisar fazer alguma coisa de data
  • 00:01:37
    mining ou de inteligência artificial
  • 00:01:40
    você pode fechar as possibilidades para
  • 00:01:41
    o uso do python então aqui no estudo na
  • 00:01:43
    alta a gente sempre vai pegar uma coisa
  • 00:01:45
    você vai abrir sua mente para todas as
  • 00:01:47
    possibilidades e se por acaso mas sendo
  • 00:01:49
    mais tarde você se viu na necessidade de
  • 00:01:52
    aprender uma nova linguagem não vai ser
  • 00:01:54
    doloroso
  • 00:01:55
    você não vai atrair o seu time não
  • 00:01:57
    existe time e é o que eu sempre digo que
  • 00:01:59
    o aluno quem tem time é jogador de
  • 00:02:01
    futebol é jogador de hóquei é jogador de
  • 00:02:04
    futebol americano programador não tem
  • 00:02:06
    time programador aprendi os fundamentos
  • 00:02:09
    é isso que você está fazendo agora
  • 00:02:11
    a dor consegue entender qual a linguagem
  • 00:02:14
    vai atender melhor um determinado
  • 00:02:16
    projeto que vai desenvolver
  • 00:02:18
    então é isso que eu vou te mostrar aqui
  • 00:02:19
    a gente vai ver como funciona as
  • 00:02:21
    linguagens
  • 00:02:21
    a gente vai ver alguns mecanismos de
  • 00:02:23
    funcionamento de forma mais genérica não
  • 00:02:25
    vou falar especificamente de nenhuma
  • 00:02:27
    linguagem
  • 00:02:27
    apesar de citar algumas linguagens aqui
  • 00:02:29
    durante essa aula e assim eu tenho já há
  • 00:02:32
    alguns anos a seguinte postura eu trato
  • 00:02:34
    linguagem de programação como idioma
  • 00:02:37
    sabe quando você precisa se comunicar e
  • 00:02:39
    vai fazer um curso de inglês vai fazer
  • 00:02:41
    um curso de espanhol ou você vai fazer
  • 00:02:42
    uma viagem pelo japão com o morro de
  • 00:02:44
    vontade de fazer e aí você precisa fazer
  • 00:02:46
    um curso básico de japonês porque você
  • 00:02:48
    faz um curso de inglês
  • 00:02:50
    basicamente eu te respondo porque você
  • 00:02:52
    tem uma linguagem ea outra pessoa tem
  • 00:02:54
    outra linguagem
  • 00:02:55
    a gente vai precisar fazer o transporte
  • 00:02:57
    de uma pra outra como você está vendo
  • 00:02:58
    aquele lado
  • 00:02:59
    só falo pra você olá você vai entender
  • 00:03:01
    sem problema nenhum
  • 00:03:02
    agora se alguém falar em japonês para
  • 00:03:05
    mim provavelmente não vai entender se
  • 00:03:07
    para falar em alemão provavelmente não
  • 00:03:09
    vou nem saber que está sendo simpático
  • 00:03:11
    comigo e se você vai viajar para os
  • 00:03:13
    estados unidos e vai falar com alguém
  • 00:03:15
    provavelmente essa pessoa não vai te
  • 00:03:16
    entender porque lá eles não falam o lá
  • 00:03:18
    eles falam revelou
  • 00:03:20
    e aí aqueles que ama você tem que fazer
  • 00:03:22
    um curso para você conseguir redação
  • 00:03:24
    para fazer um curso para traduzir lá
  • 00:03:26
    para vê lo
  • 00:03:26
    mas o doutor né você entende o nível de
  • 00:03:28
    abstração aqui que a gente está tendo
  • 00:03:30
    então vou precisar efetuar uma tradução
  • 00:03:33
    eu vou precisar jogar do la para o
  • 00:03:35
    revelou
  • 00:03:36
    de alguma maneira você sabe que isso
  • 00:03:38
    acontece no seu dia a dia
  • 00:03:39
    então é exatamente a mesma coisa que vai
  • 00:03:41
    acontecer quando você aprender a
  • 00:03:43
    programar porque são duas linguagens
  • 00:03:45
    diferentes
  • 00:03:46
    eu estou falando a linguagem tipo c e
  • 00:03:48
    java não eu estou preparando a casa que
  • 00:03:51
    você entender o seguinte você entende
  • 00:03:54
    uma linguagem eu entendo a mesma
  • 00:03:55
    linguagem que você até porque você está
  • 00:03:57
    assistindo esse vídeo compreendendo mas
  • 00:03:59
    o seu computador não entende é a mesma
  • 00:04:02
    coisa que eu encarei alemão por exemplo
  • 00:04:04
    não conheço ninguém que de que fala
  • 00:04:06
    alemão e eu não sei uma palavra de
  • 00:04:07
    alemão só volkswagen
  • 00:04:09
    então eu preciso aprender uma forma de
  • 00:04:11
    fazer essa conversão linguagem de
  • 00:04:13
    programação são exatamente o mesmo
  • 00:04:15
    princípio claro que guardadas as
  • 00:04:17
    proporções
  • 00:04:18
    basicamente quando você tá aqui ó
  • 00:04:19
    inscrever no programa também teve
  • 00:04:21
    problema nenhum para não ficar falando
  • 00:04:22
    ou deixando linguagem a linguagem dele
  • 00:04:24
    isso aqui do lado é um programa que lá
  • 00:04:26
    você pode escrever vencer em java e
  • 00:04:29
    python e javascript é um programa aqui
  • 00:04:32
    do lado
  • 00:04:33
    você entende esse programa a gente diz
  • 00:04:35
    que esse programa ele está numa
  • 00:04:37
    linguagem de alto nível
  • 00:04:39
    alto nível porque ele está perto de você
  • 00:04:41
    a gente pensa o seguinte você escreve o
  • 00:04:44
    que a gente chama de código fonte
  • 00:04:46
    esse código fonte é muito fácil de você
  • 00:04:48
    compreender porque ele tem palavras que
  • 00:04:50
    você consegue identificar como por
  • 00:04:52
    exemplo print e tudo isso é muito
  • 00:04:55
    simples e fácil de você compreender
  • 00:04:57
    com isso nós colocamos em alto nível só
  • 00:05:00
    que existe uma outra linguagem que a
  • 00:05:02
    gente chama de linguagem de máquina que
  • 00:05:04
    está bem abaixo está abaixo do baixo
  • 00:05:06
    nível já vai entender isso já que é a
  • 00:05:09
    linguagem que o seu computador
  • 00:05:11
    essa linguagem de máquina e que você não
  • 00:05:14
    entenderia seria o alemão para mim e aí
  • 00:05:17
    o que eu tenho que fazer é exatamente a
  • 00:05:19
    mesma coisa que eu falei no início do
  • 00:05:20
    vídeo a gente tem que efetuar uma
  • 00:05:22
    tradução tradução essa que leva de
  • 00:05:25
    linguagem do código-fonte lá de cima
  • 00:05:26
    para o código de máquina aqui embaixo
  • 00:05:29
    é claro que esse processo não é tão
  • 00:05:30
    fácil parece muito bom passar de cima
  • 00:05:32
    para baixo e acabou em um passo-a-passo
  • 00:05:34
    envolvido aí e é nesse vídeo que a gente
  • 00:05:36
    vai entender isso
  • 00:05:37
    então a gente precisa entender são
  • 00:05:39
    técnicas como que as linguagens fazem
  • 00:05:42
    para conseguir fazer essa produção aqui
  • 00:05:44
    na verdade o termo tradutora existe você
  • 00:05:46
    pode usar eu preciso traduzir o meu
  • 00:05:49
    código
  • 00:05:50
    e aí cada linguagem em conta o seu
  • 00:05:51
    método a sua melhor forma de se traduzir
  • 00:05:54
    mas existem padrões
  • 00:05:56
    eu trouxe aqui nesse vídeo três padrões
  • 00:05:58
    que são muito populares e atacam quase
  • 00:06:01
    todas as linguagens de programação que a
  • 00:06:02
    gente tem no mercado
  • 00:06:03
    e são esses três processos que a gente
  • 00:06:05
    vai ver exatamente agora vou começar
  • 00:06:08
    pelo processo é o seguinte eu tenho que
  • 00:06:10
    jogar como eu falei do código-fonte do
  • 00:06:12
    código de máquina
  • 00:06:13
    o primeiro processo mais clássico lembro
  • 00:06:15
    quando a gente viu lá as linguagens de
  • 00:06:17
    programação no vídeo anterior
  • 00:06:19
    se você não viu o cara dá uma moral
  • 00:06:21
    assistir o vídeo anterior porque deu um
  • 00:06:22
    trabalhão para fazer e eu falei do
  • 00:06:25
    surgimento do for tran do cobol a
  • 00:06:27
    linguagem ser as primeiras linguagens da
  • 00:06:29
    história e todas elas usam esse processo
  • 00:06:32
    eu vou explicar agora esse processo um
  • 00:06:34
    basicamente você vai passar o seu
  • 00:06:36
    código-fonte por um programa
  • 00:06:38
    uma tradutor que a gente dá um nome em
  • 00:06:40
    específico pra ele é o compilador com a
  • 00:06:42
    tarefa do compilador o compilador ele
  • 00:06:45
    vai traduzir a sua linguagem a sua
  • 00:06:48
    linguagem de alto nível
  • 00:06:49
    a linguagem simbólica ou a linguagem do
  • 00:06:52
    que o código fonte existem vários nomes
  • 00:06:54
    várias biografias um nome diferente pra
  • 00:06:56
    isso mas basicamente ele vai pegar do
  • 00:06:58
    alto nível e vai jogar por uma linguagem
  • 00:07:01
    intermediária
  • 00:07:03
    na verdade essa linguagem intermediária
  • 00:07:04
    a gente chama de baixo nível ou então
  • 00:07:06
    linguagem de montagem
  • 00:07:09
    essa linguagem de montagem ela não tem
  • 00:07:11
    muito a ver com que tipo de máquina vai
  • 00:07:13
    rodar esse código
  • 00:07:14
    ela não tem nem com instruções das
  • 00:07:16
    máquinas elas têm instruções básicas de
  • 00:07:19
    como converter esse programa é o espaço
  • 00:07:22
    desse programa que podem ser convertidos
  • 00:07:24
    de novo mais pra frente em linguagem de
  • 00:07:26
    máquina
  • 00:07:27
    então basicamente o código fonte é uma
  • 00:07:29
    linguagem que você entende que a gente
  • 00:07:31
    chama de linguagem de alto nível e aí
  • 00:07:33
    quando você passa por um compilador ele
  • 00:07:35
    faz vários processos existe análise
  • 00:07:37
    léxico análise semântica análise
  • 00:07:39
    sintática mas eu não vou ficar me
  • 00:07:41
    aprofundando aqui porque esse curso de
  • 00:07:43
    primeiros passos não tô falando de
  • 00:07:44
    arquitetura de linguagem de programação
  • 00:07:46
    vou te fazer entender como é que
  • 00:07:48
    funciona o negócio então a olha aqui do
  • 00:07:50
    lado
  • 00:07:51
    a gente tem o código fonte que a gente
  • 00:07:52
    chama de alto nível depois o compilador
  • 00:07:55
    uma vez passando pelo computador
  • 00:07:57
    ele chama a linguagem de montagem que é
  • 00:07:59
    o que a gente chama de linguagem de
  • 00:08:00
    baixo nível
  • 00:08:01
    nessa linguagem que está exatamente no
  • 00:08:03
    meio da tela que a linguagem de baixo
  • 00:08:04
    nível ou linguagem de montagem ou inglês
  • 00:08:08
    montagem assembly ele tem instruções
  • 00:08:11
    básicas genéricas que podem depois ser
  • 00:08:15
    convertidas para a linguagem da sua
  • 00:08:17
    máquina que como eu disse é abaixo do
  • 00:08:19
    baixo nível
  • 00:08:20
    tem gente que confunde diz que se aqui
  • 00:08:22
    de baixo a linguagem de máquina é baixo
  • 00:08:23
    nível não baixo nível é este aqui do
  • 00:08:25
    meio é a linguagem de montagem e essa
  • 00:08:27
    linguagem de montagem tem algumas
  • 00:08:29
    instruções que você já não entende mais
  • 00:08:31
    porque é baixo nível mas o seu
  • 00:08:33
    computador também não entendi ainda
  • 00:08:34
    porque existe a conversão da montagem
  • 00:08:37
    para a linguagem de máquina que aí sim
  • 00:08:40
    ele vai começar a trabalhar com micro
  • 00:08:41
    instruções específicas do seu
  • 00:08:43
    processador e quem vai fazer essa
  • 00:08:46
    conversão de linguagem de montagem para
  • 00:08:48
    a linguagem de máquina que está aqui em
  • 00:08:49
    baixo é o montador
  • 00:08:51
    é um outro tradutor que é o montador ou
  • 00:08:54
    em inglês assembléia então tomar muito
  • 00:08:57
    cuidado com o uso das palavras assembly
  • 00:08:59
    e assembler assembléia o nome da
  • 00:09:01
    linguagem assembléia é o tradutor de
  • 00:09:05
    linguagem de montagem para a linguagem
  • 00:09:07
    de máquina
  • 00:09:07
    eu espero que tenha sido muito claro pra
  • 00:09:09
    você esse assembler o montador vai fazer
  • 00:09:12
    a conversão de linguagem de baixo nível
  • 00:09:14
    ou linguagem de montagem para a
  • 00:09:17
    linguagem de máquina que a gente algumas
  • 00:09:19
    linguagens chama de código executável o
  • 00:09:21
    código de montagem ele não é executada
  • 00:09:23
    por uma máquina
  • 00:09:24
    tem gente que chama ele de código de
  • 00:09:26
    máquina não é executável eu não gosto
  • 00:09:29
    muito desse termo não mas existe essa
  • 00:09:31
    terminologia em alguns livros
  • 00:09:32
    então é isso esse é o primeiro programa
  • 00:09:34
    panorama um que é uma linguagem
  • 00:09:36
    compilada compilada é montada exemplo de
  • 00:09:40
    linguagens que utilizam esse tipo de
  • 00:09:42
    panorama aqui do lado
  • 00:09:43
    c c++ fortran pascal visual basic
  • 00:09:48
    clássico o delphi não sei se eu falei eu
  • 00:09:50
    fui duas vezes mas é que aqui no brasil
  • 00:09:52
    ele fez tanto sucesso que se falei duas
  • 00:09:54
    vezes está valendo
  • 00:09:55
    por exemplo se você está aqui no estudo
  • 00:09:57
    na alta fazendo um curso de ser a gente
  • 00:09:59
    já tá concurso desse aí em andamento
  • 00:10:01
    linguagem ser funciona exatamente dessa
  • 00:10:04
    maneira quando você vai lá no seu
  • 00:10:05
    ambiente manda compilar o seu programa o
  • 00:10:08
    bild angolano ele vai gerar o executável
  • 00:10:10
    você deve ter visto isso durante a aula
  • 00:10:12
    e ele pára no meio com o código objeto
  • 00:10:14
    que é o código ponto org exatamente aqui
  • 00:10:17
    no meio você não sabe dar uma olhadinha
  • 00:10:18
    no curso de ser
  • 00:10:20
    vale a pena dar uma olhada porque ser
  • 00:10:21
    uma linguagem importantíssima para todo
  • 00:10:23
    programador provavelmente você passou
  • 00:10:25
    por uma faculdade por um colégio
  • 00:10:26
    você passou por essa linguagem você já
  • 00:10:28
    teve que aprender a linguagem se em
  • 00:10:30
    linguagem ser uma linguagem clássica e
  • 00:10:32
    funciona nesse formato que você está
  • 00:10:33
    vendo aqui mas esse não é o único
  • 00:10:35
    formato existe também o segundo formato
  • 00:10:38
    que ele vai permitir a tradução
  • 00:10:40
    automática do código fonte diretamente
  • 00:10:43
    para o código de máquina comando por
  • 00:10:45
    comando e esse produto especial a gente
  • 00:10:48
    chama de interpretador basicamente uma
  • 00:10:51
    linguagem interpretada ela tem o seu
  • 00:10:52
    código fonte diretamente convertido para
  • 00:10:55
    a linguagem de máquina por um processo
  • 00:10:57
    que cada linguagem utiliza o seu e nesse
  • 00:10:59
    momento você pode estar pensando poxa
  • 00:11:00
    então interpretador é muito melhor do
  • 00:11:03
    que o compilador aí é que você
  • 00:11:05
    em gana em alguns casos às vezes você
  • 00:11:06
    tem razão depende de cada linguagem e
  • 00:11:09
    como ela vai fazer uso desse
  • 00:11:10
    interpretador basicamente o processo que
  • 00:11:13
    a gente viu anteriormente gera um código
  • 00:11:15
    de máquinas gera um código executável na
  • 00:11:17
    sua máquina e esse código já está pronto
  • 00:11:19
    para ser votado já está pronto para ser
  • 00:11:21
    colocado na memória todos os comandos
  • 00:11:23
    diretamente na memória e aí o seu
  • 00:11:25
    sistema operacional executa
  • 00:11:27
    eu não sei se você sabe dentro da
  • 00:11:28
    arquitetura de computadores para
  • 00:11:30
    qualquer programa será executado ele tem
  • 00:11:32
    que estar alocado na memória principal
  • 00:11:34
    então por exemplo quando se está no
  • 00:11:36
    windows e você vai abrir o old ele
  • 00:11:38
    demora para abrir porque o que está
  • 00:11:40
    pegando todo o código executável do word
  • 00:11:42
    jogando na memória de seu computador ele
  • 00:11:44
    poder ser executado o próprio processo
  • 00:11:46
    de ligar o seu computador é você liga e
  • 00:11:49
    tem o windows mac ou linux
  • 00:11:51
    fica aquele processo de loading o que
  • 00:11:53
    ele está fazendo ele está pegando a base
  • 00:11:55
    do seu sistema operacional o executável
  • 00:11:57
    núcleo e algumas bibliotecas jogando na
  • 00:12:00
    memória principal e uma vez na memória
  • 00:12:01
    principal ele pode ser executado esse
  • 00:12:04
    processo o anterior
  • 00:12:05
    no caso do processo dois aqui que é o
  • 00:12:07
    processo de interpretação
  • 00:12:08
    a coisa não acontece bem assim como
  • 00:12:10
    acontecia no processo um nesse processo
  • 00:12:13
    de interpretação a gente vai pegar cada
  • 00:12:16
    uma das linhas no interpretador pegá-la
  • 00:12:18
    primeira linha do seu código-fonte ele
  • 00:12:20
    converte diretamente ele passa por
  • 00:12:22
    processos e aí cada linguagem que faz o
  • 00:12:24
    seu processo joga na linguagem de
  • 00:12:26
    máquina jogar na linguagem que você atua
  • 00:12:29
    máquina vai compreender uma linha só
  • 00:12:31
    essa linha vai para a memória e ela é
  • 00:12:33
    executada
  • 00:12:34
    terminado esse processo vamos pegar a
  • 00:12:36
    segunda linha fazer a conversão para a
  • 00:12:39
    linguagem de máquina e uma vez na
  • 00:12:40
    linguagem de máquina joga essa linha na
  • 00:12:42
    memória e executa viu como é que o
  • 00:12:44
    processo é um pouco mais lento mas eu
  • 00:12:47
    não preciso passar por aquele processo
  • 00:12:48
    de compilação e montagem e aí você pode
  • 00:12:51
    perguntar muitos me perguntam taça
  • 00:12:52
    guanabara mas qual é o melhor e aí é que
  • 00:12:54
    tá não tem melhor
  • 00:12:56
    na verdade cada linguagem no seu momento
  • 00:12:58
    de construção ela nos seus primórdios
  • 00:13:00
    decide qual o processo existem
  • 00:13:03
    linguagens que são interpretadas e
  • 00:13:04
    também podem ser compilados
  • 00:13:06
    mas existem linguagem somente
  • 00:13:08
    interpretadas então basicamente no
  • 00:13:10
    processo um todo o programa de código de
  • 00:13:12
    máquina está na memória principal ali
  • 00:13:14
    disponível para ser executado nesse
  • 00:13:16
    processo 2 que você está vendo aqui do
  • 00:13:17
    lado
  • 00:13:18
    cada linha é posta na memória para ser
  • 00:13:21
    executada depois executada é apagada e
  • 00:13:24
    dá lugar a outra linha
  • 00:13:25
    então isso gera uma economia de memória
  • 00:13:27
    por exemplo mas também por outro lado
  • 00:13:29
    gera um processamento maior e geram uma
  • 00:13:32
    queda de performance e aí cada um tem
  • 00:13:34
    sua vantagem por exemplo a linguagem php
  • 00:13:37
    ela utiliza esse mecanismo que faz a
  • 00:13:39
    ponte então php lento há um senão vem
  • 00:13:42
    lentidão no ph pelo porque que
  • 00:13:44
    normalmente o php está rodando numa
  • 00:13:46
    máquina que é um servo era um servidor e
  • 00:13:48
    servidores tem recursos muito bem
  • 00:13:50
    dimensionados para não deixar a máquina
  • 00:13:52
    fica lenta e além do php outras
  • 00:13:54
    linguagens que utilizam esse mecanismo
  • 00:13:55
    que dê interpretação só por exemplo o
  • 00:13:57
    javascript o python e a linguagem é
  • 00:14:00
    esses dois primeiros paradigmas são os
  • 00:14:03
    mais populares
  • 00:14:04
    o compilado mais popular de todos o
  • 00:14:06
    interpretado são linguagens um pouco
  • 00:14:08
    mais recentes que utilizam isso de forma
  • 00:14:10
    otimizada e o terceiro processo que eu
  • 00:14:12
    tenho para te mostrar
  • 00:14:13
    ele é um tanto quanto diferente
  • 00:14:16
    basicamente ele está pegando aqui como
  • 00:14:18
    você viu a montagem da animação aqui do
  • 00:14:20
    lado
  • 00:14:20
    o código fonte e jogando diretamente
  • 00:14:23
    para a linguagem de máquina através de
  • 00:14:24
    um compilador especial
  • 00:14:26
    na verdade esse compilador ele não é um
  • 00:14:28
    compilador comum ele o que a gente chama
  • 00:14:30
    de compilador bytecode que basicamente
  • 00:14:32
    ele não gera um código de máquina para o
  • 00:14:35
    seu computador ele gera um código de
  • 00:14:37
    máquinas para uma máquina virtualizada
  • 00:14:40
    máquina virtualizado gosta de explicar
  • 00:14:41
    os meus alunos como reguladores sabe
  • 00:14:44
    aquele morador de joguinho
  • 00:14:45
    na verdade você tem o seu windows e você
  • 00:14:47
    coloca um emulador de seila playstation
  • 00:14:50
    pra quê e simulador consiga executar
  • 00:14:53
    comandos que o playstation faria
  • 00:14:55
    só que você não tem o playstation nesse
  • 00:14:57
    processo aqui funciona de forma
  • 00:14:58
    semelhante eu tenho o código-fonte lá em
  • 00:15:01
    cima e ele vai gerar um código de
  • 00:15:03
    máquina
  • 00:15:03
    só que é um código de máquina um pouco
  • 00:15:05
    modificado ele não roda no seu
  • 00:15:08
    computador
  • 00:15:09
    ele roda em uma máquina virtual ele roda
  • 00:15:11
    numa espécie de entre grandes aspas
  • 00:15:13
    emulador e simulador tem um nome que é
  • 00:15:16
    virtual machine ou vn a tarefa da retoma
  • 00:15:20
    a china é conseguir pegar o bate code
  • 00:15:22
    que está exatamente no meio e jogar
  • 00:15:24
    diretamente para uma linguagem do seu
  • 00:15:26
    processador executivo na verdade ele não
  • 00:15:29
    faz exatamente essa tradução
  • 00:15:31
    está representada aqui que a máquina
  • 00:15:32
    virtual joga para a linguagem de máquina
  • 00:15:34
    a máquina virtual ela está funcionando
  • 00:15:35
    no sistema operacional e vai fazer com
  • 00:15:38
    que seu computador consiga interpretar
  • 00:15:40
    de qods em uma camada extra de software
  • 00:15:43
    e aí vem várias críticas a esse tipo de
  • 00:15:46
    linguagem é lenta porque eu tenho uma
  • 00:15:48
    camada mais tá é o mesmo processo do
  • 00:15:51
    processo interpretado o php
  • 00:15:53
    o python o r ele conseguiu utilizar de
  • 00:15:56
    mecanismos para deixar isso mais
  • 00:15:58
    eficiente não tão lento e as linguagens
  • 00:16:01
    que utilizam esse mecanismo também estão
  • 00:16:03
    utilizando sistemas para a otimização
  • 00:16:05
    dessa performance inclusive todas as
  • 00:16:08
    linguagens que estão utilizando máquinas
  • 00:16:10
    virtuais
  • 00:16:11
    eles agora têm uma coisa chamada justin
  • 00:16:13
    time com o painel ou jet que serve git
  • 00:16:17
    ele pega o seguinte a máquina
  • 00:16:18
    virtualizado aqui são comandos debate
  • 00:16:20
    código seu computador não entende
  • 00:16:22
    ele vai pegando cada um deles debate
  • 00:16:24
    code ou a máquina virtual vai jogando
  • 00:16:26
    com a linguagem de máquina parecido com
  • 00:16:28
    o processo de interpretação se você
  • 00:16:29
    começar a analisar friamente esse
  • 00:16:32
    processo 3 que está vendo aqui que são
  • 00:16:34
    das linguagens virtualizados né com
  • 00:16:36
    máquinas virtuais
  • 00:16:37
    é mais ou menos uma mistura de
  • 00:16:38
    compilação com interpretação a parte de
  • 00:16:41
    cima é compilada a partir de baixo é
  • 00:16:44
    interpretada
  • 00:16:45
    só que a interpretação não é feita no
  • 00:16:46
    seu código fonte é feito no seu código
  • 00:16:49
    bytecode que é isso que está aqui no
  • 00:16:50
    meio
  • 00:16:50
    espero que você consiga entender se você
  • 00:16:52
    não entender pergunta pra tutoria do
  • 00:16:54
    estudo a alta ela está preparada para te
  • 00:16:56
    ajudar e o que seria esse compilador git
  • 00:16:59
    este compilador de ti é o seguinte como
  • 00:17:01
    eu disse avenida vai pegando cada um dos
  • 00:17:03
    códigos bytecode e jogando para
  • 00:17:05
    linguagem de máquina para poder ser
  • 00:17:06
    executado
  • 00:17:07
    o que a gente faz é o seguinte ele
  • 00:17:09
    consegue perceber desse código do meio
  • 00:17:11
    quais são os trechos de programa que são
  • 00:17:13
    mais interpretados está sendo toda hora
  • 00:17:16
    interpretar esse comando aí que ele faz
  • 00:17:18
    espertamente vou fazer o seguinte em vez
  • 00:17:20
    de fazer a máquina virtual fazer essa
  • 00:17:21
    conversão eu já pego diretamente o
  • 00:17:24
    código debate kodiak do meio e jogos
  • 00:17:26
    diretamente para a linguagem de máquina
  • 00:17:27
    ali embaixo e tudo agora fica de forma
  • 00:17:30
    nativa como se ela fosse compilado
  • 00:17:32
    anteriormente
  • 00:17:33
    na verdade hoje não funciona para todos
  • 00:17:35
    os comandos do bairro onde apenas para
  • 00:17:37
    aqueles que são mais usados e as
  • 00:17:39
    linguagens que utilizam esse mecanismo
  • 00:17:40
    que simples
  • 00:17:42
    lua a linguagem java a linguagem c sharp
  • 00:17:45
    na verdade não só sharp toda a família
  • 00:17:48
    dot net da microsoft utiliza esse método
  • 00:17:51
    aqui de máquina virtual tem processo que
  • 00:17:54
    pode ser interpretado tem um processo
  • 00:17:55
    que pode ser rodado com máquina virtual
  • 00:17:58
    eu espero sinceramente que você tenha
  • 00:18:00
    gostado dessa aula e espero sinceramente
  • 00:18:02
    que você tenha entendido não passe para
  • 00:18:04
    o próximo passo se você ainda não
  • 00:18:06
    compreendeu esses três processos
  • 00:18:08
    então tô quando você vai trabalhar por
  • 00:18:10
    exemplo a desenvolvimento android que a
  • 00:18:12
    gente tem aqui o desenvolvimento do
  • 00:18:13
    android ele utiliza a linguagem java ou
  • 00:18:16
    linguagem cotrim a linguagem java
  • 00:18:17
    linguagem 4 funciona exatamente nesse
  • 00:18:20
    paradigma aqui do lado que é a
  • 00:18:22
    virtualização porque o seu celular tem
  • 00:18:24
    uma máquina virtual que vai rodar o seu
  • 00:18:27
    programa compilado que se você está na
  • 00:18:29
    dúvida de como é que funciona
  • 00:18:30
    nós temos também o curso de android
  • 00:18:32
    estúdio com java e que mostra logo no
  • 00:18:35
    início do módulo 10 como essa linguagem
  • 00:18:37
    funciona aqui nessa linguagem dos
  • 00:18:39
    fundamentos
  • 00:18:40
    eu tenho que dar um panorama geral de
  • 00:18:42
    todas as linguagens cara provavelmente a
  • 00:18:44
    linguagem que você vai escolher aprender
  • 00:18:45
    ela funciona nesses paradigmas no
  • 00:18:47
    paradigma 1 2 ou 3
  • 00:18:49
    e aí cabe a você descobrir no momento é
  • 00:18:51
    claro que eu já dei o exemplo aqui
  • 00:18:53
    previu a vencer a gente utiliza para de
  • 00:18:55
    marun que é da linguagem compilada se
  • 00:18:57
    está fazendo curso de php um banco de
  • 00:18:59
    dados que vai funcionar no paradigma 2
  • 00:19:01
    se você está fazendo um curso de sharon
  • 00:19:03
    java vai funcionar no paradigma três e
  • 00:19:05
    assim vai acontecer com todas as
  • 00:19:07
    linguagens pode escolher sua linguagem e
  • 00:19:09
    gasolina de favorita e faz uma
  • 00:19:11
    pesquisada é compilada para código
  • 00:19:13
    nativo ela é interpretada ou ela é
  • 00:19:15
    compilada praticou já utiliza uma
  • 00:19:17
    máquina virtual
  • 00:19:18
    fica aí o desafio para você descobrir
  • 00:19:20
    então é isso no próximo vídeo a gente
  • 00:19:22
    vai conhecer a ferramenta que a gente
  • 00:19:24
    vai utilizar durante todo esse curso
  • 00:19:26
    nós vamos instalar um porto ao estúdio e
  • 00:19:28
    vamos fazer funcionar no seu computador
Tags
  • programación
  • lenguajes
  • compilación
  • interpretación
  • máquina virtual
  • bytecode
  • código fuente
  • código de máquina
  • fundamentos
  • tecnología