Em que linguagem são escritas as linguagens de programação? | #0 Série Fundamentos

preview_player
Показать описание
Linguagem X foi escrita em linguagem Y? É verdade? E o que significa realmente escrever uma linguagem? Neste vídeo a gente vai passar pelos compiladores, linguagem de máquina, assembly, interpretadores, bootstrapping e vamos tentar finalmente chegar à resposta desta pergunta.

» Links e fontes «

» Não deixe de assistir ao último vídeo! «

» Críticas ou sugestões? «

Comenta aqui embaixo! ;)

» Produção e apresentação «

Рекомендации по теме
Комментарии
Автор

Cara, vc conseguiu um véio de 52 anos entender finalmente alguma coisa ! obrigado, fique com Deus.

paulohofer
Автор

Essa foi provavelmente a melhor recomendação que o youtube já fez pra mim

Delphino__
Автор

No caso do Java o processo não é o mesmo da Linguagem C. O compilador vai gerar um bytecode, em .jar, e este não roda direto na CPU, e sim através de uma máquina virtual: a JVM.

Leodin
Автор

Mano não para, são exatamente esses videos descontraídos e de linguagem simples mas bem explicativos que muita gente precisa pra não desistir de entender algo, parabéns

ruannilton
Автор

bootstrapping nesse mundo do ínicio da computação tinha o significado metafórico de alçar vôo puxando os cordões dos próprios sapatos, o que reflete a dificuldade que esses pioneiros enfrentaram.

cybermsantos
Автор

Quem diria que um vídeo de 4 anos atrás iria me ensinar tanto? Parabéns pelo ótimo trabalho. Bom demais!

isaiassilva
Автор

Muito legal, tem um livro chamado Os inovadores que conta, entre outras, da história dos primórdios da computação...

marceloLoschiBH
Автор

Isso tudo vira impulsos elétricos rsrs.. Que conteúdo foda!!!

eliabeweverton
Автор

Cara, isso é exatamente o que uma pessoa que tá aprendendo programação precisa. O que mais tem por aí é nego fazendo vídeo falando difícil, parece que a pessoa só quer mostrar que sabe e quer mais é que ninguém entenda. Tudo o que a gente precisa é de alguém indo a fundo e falando em linguagem clara o que as coisas significam. Parabéns e obrigado

unknownxyz
Автор

Muito bom o vídeo, cara. Uma sugestão é fazer um vídeo de errata explicando, por exemplo que o assembly é montado e não compilado. Parabéns pelo vídeo.

umblocodecodigo
Автор

Serão, respondeu tudo que eu estava procurando a tempão, mas não avia achado nada até agora.Brigado

brutaquelions
Автор

Parabéns!! Acho maneiro vc escrever nessa prancheta. Show.

alexandresebastiaos.desouz
Автор

Cara que satisfatória essa explicação! Tudo faz sentido agora!

lucasvalins
Автор

Mano parabéns!
Começando agora na area de programação e seu conteudo e didatica é super interessante!
Ganhou mais um inscrito.

gilmartech
Автор

Obrigado por essa resposta shusahasu, muito esclarecedor meu amigo

kevinkaiser
Автор

Maneiro a explicação! Só uma observação: C foi desenvolvido dentro da Bell Labs nos anos 1970 mas que teve inspiração gramatical na linguagem B e outras como COBOL e Algol. Essa linha evolucionária é mais pra fins de como a especificação da linguagem foi tomando forma, mas isso não se refletia na implementação do compilador.

AVISO! Texto abaixo é para esclarecimentos acadêmicos :D

Na época, as CPUs (que eram praticamente o mainframe inteiro) eram muito ineficientes e isso demandava recorrer para os montadores (assemblers) que eram criados pelos fabricantes de CPUs (como a Intel, Texas Instruments, ...). Os assemblers conseguiam ser mais eficientes, embora ficassem muito restritos à plataforma-alvo. Os caras que trabalhavam projetando linguagens em pesquisas já tinham enormes problemas com a sobrecarga de abstrações e intermediários para serem traduzidos pela CPU, aí nasceu a necessidade de um projeto simples mas usando montadores consistentes e mais "evoluídos". O primeiro compilador de C era genericamente chamado de "CC" (C-Compiler) da Bell Labs (AT&T). Era um compilador tão primitivo que na verdade era quase um assembler que tomou suplementos.


Assim, o primeiro compilador de C (CC) conseguia produzir códigos para uma família de CPUs e ainda bibliotecas escritas para diversos tipos de computadores ou famílias de CPUs. Isso tudo ajudou para que a linguagem C pudesse ajudar na criação de programas escritos para diversos computadores e ser base para a escrita do Sistema Operacional UNIX.

Uma pergunta pode surgir: Como eram feitos os montadores (assemblers)? Resposta: depende de como a CPU foi projetada. Na época, as CPUs eram de arquitetura CISC, tendo um micro-compilador gravado em silício ou parte disso feito pelo próprio assembler por software. Ele pegava trechos de memória com código de máquina com símbolos especiais e convertia para um formato puramente numérico para ser decodificado pela Unidade de Controle da CPU (bloco funcional que cuida do ponteiro de execução da CPU e tradução da palavra de instrução para outros blocos funcionais). Um montador poderia ser feito 100% em assembly, uma tarefa árdua que levava anos. Alguém tinha que se fuder kkk

cristianmello
Автор

Obrigado por deixa as referências. Vídeo bem didático!

luanmatheusmarques
Автор

Mano, tudo que eu precisava saber vc explicou da melhor forma possível! Obrigado!

Di_fernandes
Автор

Acho que esse é o único vídeo respondendo essa pergunta no Youtube e é muito bom!

viniciusbraga
Автор

Curti muito o video!! Explicou de uma forma super simples e direta. Toma o meu like 👍

domss