o Olá pessoal Fabio Akita na segunda parte do vídeo sobre teclados quem assistiu viu que eu mostrei o avô dos Teclados mecânicos a máquina de escrever de verdade e quando eu adicionei ele no vídeo eu tinha dois objetivos o primeiro Claro era adicionar uma camada de história daquele vídeo mas o segundo era usar de gancho para historinha que eu quero contar hoje aliás historinha nada se prepara que essa vai ser uma história bem longa e se você nunca leu sobre tudo em vão Norma você vai finalmente entender o que é um computador e porque uma
máquina de calcular não é um computador além disso esse episódio vai servir como ponte entre os vídeos do guia Hardcore de introdução computação cor entende o que eu mostrei alguns vídeos atrás e o próximo que vai ser mais leve eu quero falar um pouco mais sobre meus vídeo games emuladores preferidos Eu quero explicar como que de uma máquina de escrever foi possível chegar no computador moderno e eu quero contar um pouco da história das duas pessoas que eu considero mais importantes e que representam o tipo de Gigantes que e tem umas bases da Computação moderna
Vamos focar em duas dessas pessoas uma é famosa e você provavelmente conhece um outro é um dos maiores gênios que já existiu um monstro de proporções bíblicas pau a pau ao intelecto de um Albert Einstein mas você talvez nunca tenha ouvido falar [Música] é como eu disse na introdução à história que vou contar agora eu estou segurando desde quando eu fiz a sério sobre teclados quem assistiu Vai se lembrar da máquina de escrever mecânica original de Christopher shows o que vocês não sabem é que a máquina de escrever teve um papel crucial na invenção do
computador moderno eu não lembro como mas anos atrás mais Barreiro um artigo muito bom do blog de um cara chamado Robert Messenger de 2013 e eu vou pegar bastante coisa dele o artigo começa assim em 23 de junho de 1912 no 44º aniversário da primeira patente de máquina de escrever de Christopher lations uma data celebrada até hoje com o dia da máquina de escrever é até os Tony touring filha do engenheiro-chefe da Madre Israel e deu à luz em paddington um filho 11 anos depois do verão de 1923 esse menino Alan mathison turing escreveu a
seus pais a partir da sua escola em resolver segue os pais estavam na Índia porque o pai Julio medem são Tuner trabalhava no ser e da Índia ele contava aqui naquela semana ele imaginou como fazer uma máquina de escrever a antune nunca inventou uma máquina de escrever mais um sou de inspiração para se tornar o pai da Ciência da Computação talvez você se lembre no filme The imitation Game onde o eterno Sherlock Holmes benedict cumberbatch interpreta Alan turing no famoso episódio da segunda guerra mundial ou de derrota a máquina de criptografia Enigma dos alemães com
uma máquina de computar enorme um passo importante para ajudar a terminar a guerra a favor dos Aliados se ainda não assistiu o filme recomendo embora ele não explica de fato como funciona a máquina de turing E para isso recomendo ver meus vídeos sobre criptografia o filme foi baseado no livro Alan turing the Enigma de Angel Rhodes que foi publicado em 1983 num dos trechos desta biografia temos a passagem que diz que a mãe de Tuner tinha uma máquina de escrever e que isso fascinava o jovem ao ele desenhou sua máquina automática em Machine o tipo
idealizado de máquina de escrever conquered ou carro infinito sobre a qual uma cabeça de leitura passava com habilidade não só de escrever mais de ler e apagar um quadrado de cada vez antes de mover para o quadrado imediatamente adjacente a biografia segue explicando que claro existiam máquinas que manipulavam símbolos naquela época a máquina de escrever era um exemplo Alan sonhou e inventar máquinas de escrever quando criança sua mãe tinha um aí ele pode ter começado a se perguntar o que significava dizer uma máquina mecânica podia significar que sua resposta para alguma ação de um operador
era perfeitamente previsível esquece por um momento que você já conhece computadores e pense numa época que só se conhece máquinas como a descrever Alguém poderia descrever diante mão exatamente como a máquina se comportaria sobre qualquer contingência mais havia mais a ser dito sobre a humilde máquina de escrever do que isso a resposta Depende das condições da máquina ou que o acha a configuração atual da máquina em particular uma máquina de escrever poderia estar na configuração de maiúscula ou minúscula Essa era uma ideia que o Ala elaborar ou de forma mais genérica e abstrata ele considerou
máquinas que em qualquer determinado momento o dianta em um número finito de possíveis configurações Então se existe somente um número infinito de coisas que a máquina pode fazer é possível saber todo o comportamento da máquina de uma forma finita Entretanto a máquina de escrever tinha uma funcionalidade a mais que era essencial a sua função seu ponto de digitação se mexer relativo a página sua ação de digitação seria independente da posição desse ponto da página ela teria configurações internas e uma posição variável na linha de impressão a ação da máquina não dependeria da sua posição sem
levar em consideração detalhes como margem linha de controle e assim por diante o que eu acabei de licitar seria suficiente para dar uma descrição completa da nato é uma máquina de escrever um relato exato das configurações e posições permitidas e de como teclas determinam os símbolos impressos tecla de Shift para mudar a configuração de minúscula para maiúscula a barra de espaço e back space tudo isso resumia as funcionalidades mais relevantes se o engenheiro olhasse essa descrição e criasse uma máquina física que atendesse a essas especificações o resultado seria uma máquina de escrever e independente da
cor peso ou outros atributos mais uma máquina de escrever era muito limitada para servir de modelo ela lhe dava com símbolo só consegui escrever e precisava de um operador humano para escolher os símbolos e mudar as configurações de posição uma de cada vez Então tu nem se perguntou o que seria um tipo mais genérico de máquina que lidasse com símbolos para ser uma máquina ela precisaria reter a qualidade de uma máquina de escrever de um número finito de configurações e um comportamento determinado eu tô em cada mas devia ser capaz de muito mais então ele
começou a imaginar máquinas que seria um super máquinas de escrever para simplificar ele imaginou máquinas trabalhando só em uma linha Isso é uma tecnicalidade mas que permite esquecer de coisas como margens e linhas de controle Mas é bem importante que o suprimento de papel pudesse ser tipo infinito e nessa imagem o ponto de digitação de sua super máquina de escrever o dia progredir para esquerda ou para a direita indefinidamente por uma questão de definição ele imaginou esse papel sendo uma forma de fita marcado com unidades quadradas de tal forma que somente um símbolo pudesse ser
escrito em cada uma então suas máquinas teriam uma definição finita mas poderiam trabalhar em uma quantidade infinita de espaço e assim foi nascendo as sementes da ideia de uma máquina discreta Universal Ou seja que pudesse ser configurada para várias tarefas diferentes a máquina de escrever de churros reduzida aos seus princípios o que não suporta até hoje pura e simplesmente se livrou das pessoas e digitadores e isso é possível porque a máquina de turing e ainda mais excepcionalmente crua do que uma máquina de escrever tudo que ele usa é uma fita de papel que ao mesmo
tempo material de programa e dados input e output ao mesmo tempo tune enxugou a máquina de escrever a essa fita mas tem ainda mais economia sua máquina não precisa de letras inundante cifras e sinais de um teclado de máquina ele consegue se virar somente com um sinal EA ausência de sinal ou seja 110 essa informação binária pode ser lida ou escaneado a tela máquina daí ela pode mover a fita de papel um espaço para a direita ou para esquerda ou não se mexer e é só isso sério isso que eu acabei de descrever é um
computador e nenhum computador que já foi construído vai ser construído vai conseguir fazer mais que esse modelo isso foi provado matematicamente por Alan Antunes em eu sei que Resumindo uma máquina de turing conforme definido no seu paper on control Number with application to be and Once problema são construções matemáticas abstratas nos ajudam a descrever rigorosamente O que significa computação se você não entendeu ainda o que é isso de fita infinita e cabeça de leitura eu achei um site uma do mtur em machine visualization que permite escrever uma máquina de turing usando uma simplificação da lotação
que ele usou no seu paper no paper touring definir sua máquina como tendo um ou mais estados cuja notação é esse quesão daí um estado Inicial q0 pertencente artesão algum parâmetro de entrada acima a tal fita Gama onde Sigma que é o parando tá continua na fita Gamma um símbolo branco bebezinho pertencente a fita Gama e um ou mais funções de transmissão Delta que tem o tipo indo de tesão em Gama para Gama left or right ou seja comando para esquerda ou para a direita e o tesão ver notação matemática a paz o cérebro da
maioria desligar em Pânico Mas relaxa que vai ficar mais simples já já Vamos considerar uma máquina de turing muito simples de exemplo que faz só um incremento em um número binário basicamente soma 1 a 1 número a gente viu isso no vídeo do guia Hardcore de introdução à computação Então você deve se lembrar vamos implementar o sangue essa notação começamos definindo os estados possíveis nessa lista quesão temos direita sob um e término o processo começa no estado Inicial q0 sendo ir para a direita o número de entrada em binário é o Sigma = 10 nesse
exemplo mas podia ser qualquer número em binário a fita Gamma contém o Sigma então ele tem 10 e espaço em branco e o bebêzinho definir o espaço em branco agora definimos as funções de transição se o estado for para a direita e a cabeça tiver lendo uma fita ele devolve um ou seja não muda nada vai para a direita e manter o estado em ir para a direita é uma coisa para 10 porém se ele Nenhum espaço em branco não escreve nada mas agora muda o comando para ir para a esquerda e muda o estado
para querem ou sob um se o estado for sob um e ele nenhum agora apaga e escreve Zero no lugar em seguida da Comando para continuar para esquerda e mantenha o estado em sob um agora se for zero ele escreve um da Comando para a esquerda e muda o estado para Dani ou término mesma coisa ser Inês passa em branco eu sei até agora muitos de vocês provavelmente não tô entendendo nada mas Aguenta aí indo para o site que eu recomendei o turing Machine veja lá e-session podemos reescrever dessa notação mais formal para uma mais
prática e mais parecida com uma linguagem de programação eles fizeram um interpretador para facilitar a gente escrever o equivalente a programinhas se você é programador deixa deverá ser trivial então vamos trocar a notação matemática por isso agora deve estar assustando um pouquinho menos né recapitular nós começamos definir o equivalente a uma variável com o número binário que queremos incrementar Esse é tipo um argumento ou parâmetro de entrada daí tem esse Bank que definir o que é um espaço em branco temos start state sendo rite que é o estado inicial de indo para a direita em
seguida temos a tabela de configuração de transições se você alguma vez já trabalhou no sistema de comércio por exemplo já deve ter visto uma máquina de estados que definir o estado de uma ordem de venda por exemplo se eu vou na Amazon e compra um Kindle meu pedido pode iniciar com o estado de aguardando o pagamento e dá o comando de executar o pagamento quando o pagamento é confirmado o estado do pedido muda para apresento aguardando envio e eles soltam comando para mandar para fila do centro de distribuição e assim por diante até o pedido
até confirmação da entrega Como é um conjunto finito de estados chamamos essa estrutura de Estados e transições de máquinas de estado finito ou autômatos finitos isso sim a teoria dos autômatos que é um subtópico de Ciências da Computação na prática você definir diferentes estados que seu sistema pode estar e definir o que acontece na transição de um estado para outro qualquer linguagem moderna tem bibliotecas para lidar com isso mas de qualquer forma a máquina de tu ne é configurada com a tabela de Estados e transições e o exemplo do site ela pode estar no estado
de rite ou o que eu chamaria de indo para a direita ou carrick seria subindo um subindo um sentido de sob um em que a gente faz em soma o primeiro estado é muito simples ele simplesmente vai indo para a direita sem fazer nada enquanto for lendo 10 na fita mas ele para quando encontra um espaço em branco nesse caso ele muda o estado para subindo um e recebe o comando de voltar para a esquerda no estado de subindo um sem encontrar um ele substitui por zero porque vai subindo um para a esquerda e vai
trocando 1.0 1.0 até encontrar zero daí ele pode colocar um que tinha subido e terminar e esse programa é simplesmente o incremento de um e daí ele muda o estado para dando ou terminado nesse site você vai encontrar exemplos bem mais complexos que isso por exemplo para determinar se um número é divisível por 3 ou melhor ainda nós já vimos no outro vídeo como fazer uma máquina de adição de números binários com processador Moss Lumia 502 no protobord ex a versão de autômatos finitos uma máquina de tu ne você pode ir avançando passo a passo
para ver o sistema funcionando visualmente então é bem fácil de entender divirtam-se na prática você poderia pensar no tal ponto de digitação que falei antes ou cabeça com uma cabeça de leitura de um disquete ou cd-rom ou blu-ray e a fita como sendo a cadeia de bits que tem nas trilhas nós sempre lidamos com dados e programas da mesma forma como uma cadeia super longa de bits alguns dos Bits são instruções que executamos com o programa outros bits são Dados como o texto imagem um vídeo e se for um HD podemos escrever também Além disso
essa cabeça pode se movimentar para trás ou para o ou seja ela postei acesso aleatório qualquer posição na frente por exemplo você vai se lembrar aqui Hum quer dizer Exatamente isso memória de acesso aleatório a beleza do trabalho de tu nem foi definido com o Rigor matemático O que é um programa na forma da máquina de turing configurado como transições entre Estados finitos e o conceito de uma máquina Universal e consegue executar quaisquer máquinas de Tuner que é o que ele chama de máquina de túnel Universal e na prática chamamos isso de computador uma máquina
universal de um é uma máquina de turing cuja tarefa é simular outra máquina de turing arbitrária com uma entrada de dados arbitrária O que chamamos de computador moderno tem uma característica muito importante ela consegue carregar e armazenar configurações ou que chamamos de programa essa é uma distinção que eu considero importante recentemente Me perguntaram isso que que diferencia uma aba com uma calculadora mecânica de um computador a verdade EA definição é se ela é ou não é uma máquina universal de Turim particularmente com a característica de não distinção entre programa e dados no armazenamento Natal fita
infinita o que permite a universalidade dele poder simular outra máquina de turing antes de tule existem diversos experimentos que Alguns chamam de computador mas que na realidade seria mais correto chamar de máquinas de calcular grandes e aqui eu vou usar trechos do artigo Quem inventou o computador do site do próprio autor da biografia do túnel o endrew Rhodes ele disse e eu concordo por exemplo que não podemos chamar o engenho analítico de Charles Babbage de computador ele não incorpora a ideia Vital de armazenar programas da mesma forma que os dados a máquina de Babbage foi
desenhada para armazenar programas em cartões perfurados enquanto o trabalho de calcular a feito mecanicamente por engrenagens e rodas havia outras diferenças claro como ainda o o numérico decimal em vez de Binário um obviamente não ser eletrônico já que sequer Thomas Edison tinha nascido naquela época Cem Anos depois em 1940 dava para usar relays eletromagnético no lugar de engrenagens mais ninguém avançou além dos princípios de babas existiu grandes calculadoras que você podia reconfigurar Mas nenhum deles eram computador A ideia era mesmo você construiu uma máquina que fazer aritmética então rearranja Vaz instruções em cuidados no cartão
perfurado ou mudando cabos e suítes de lugar ou algo assim e fazer a máquina calcular Depois que terminar se precisasse fazer outro cálculo precisava reconfigurar a máquina inteira de novo eram calculadoras grandes reconfiguráveis mas não eram computadores e de novo eles não tinham como armazenar programas e não eram capazes de simular outra máquina pelo mesmo motivo o Eniac que muitos consideram um dos primeiros computadores estão bem não eram computador era outra calculadora gigante é só porque era grande complexa usava Bahls no lugar de engrenagem não é isso que faz a máquina ser um computador durante
a guerra teve várias tentativas de quebrar a criptografia alemã e um deles foi a máquina batizada the Colossus na Inglaterra novamente Não era o computador era uma máquina especificamente desenhada para quebrar sites da máquina de Lawrence e por mais complexa e útil que ela fosse ainda não era um computador o papel mais importante do Colosso foi de fato mostrar por Allan Turini que também estava trabalhando para quebrar criptografia alemã sobre a velocidade confiabilidade da eletrônica e esse aparato britânico tá lá na frente dos esforços norte-americanos já que o Eniac tinha tamanho e complexidade comparáveis ao
Colossus mas só começou a realmente a funcionar depois que a guerra já tinha acabado em 1946 E aí ela já estava obsoleta o engenheiro alemão com o rádio Zuza desenham calculadoras mecânicas e electromecânicas de forma independente também antes e durante e ele não vou eletrônicos e o que ele construiu ainda era mais próximo dos princípios de babas mas teve um médico de reconhecer a importância da programação e pode ser creditado por um tipo de linguagem o plano callicoon os usavam caso de azar ele era um geniozinho também autodidata fazer tudo sozinho para descrever circuitos lógicos
ele inventou um sistema próprio de notação de diagramas e depois de acabar o seu em 1938 ele descobriu que o cálculo que inventou sozinho já existirá conhecido como cálculo proposicional enquanto trabalhava na sua dissertação de doutorado Ele desenvolveu o primeiro sistema formal conhecido para anotação de algoritmo capaz de dar congruentes e o Lux ele escreveu sua linguagem plan cálculo um livro que não foi publicado Por que foi bem no período conturbado quando caiu Alemanha nazista e os computadores que construiu foram destruídos por bombas durante a guerra Ele só conseguiu resgatar o z-4 o C3 também
é considerado por muitos como o primeiro computador programável o Eniac pra e reprogramado para cada tarefa viu trabalhoso tedioso e fácil de errar mecanismo minha conexão de dezenas de Cabos e diferente do monstruoso n aqui é o mesmo do Colossus da Inglaterra foi o Z3 feito na unha por Zuza sem financiamento do governo ou institutos nem nada quem chegou mais perto do que tu envia definir como a máquina de turing O problema é que o C3 não tinha condicionais mesmo assim pelo menos na teoria ele quase podia ser considerado turing-complete nas palavras de walras que
1998 demonstrou isso ele disse nós podemos portanto dizer que de uma perspectiva abstrata teórica o modelo de computação do Z3 é equivalente ao modelo de computação dos computadores de hoje mais de uma perspectiva prática e do jeito que o C3 é realmente programado ele não equivale ao modelo moderno de computador aliás assim como Raul demonstrou existem diversas formas artificiais e e rosas de tentar montar experimentos teórico abstrato que no caso extremo dá para dizer que um Engenho analítico do Babbage oz3d Zuza ou Colossus tem potencial de ser turing-complete mas na prática eles não tinham chegado
lá de verdade eu disse que o caso de Zuza foi de azar Porque sendo conterrâneo detune a diferença entre os dois Aqui tudo em foi escolhido pelo governo britânico para ajudar nos esforços da guerra e teve a sorte de trabalhar num projecto de grande notoriedade mas quando os usa se voluntariou para ajudar na guerra ele foi rejeitado antes de continuar história eu falei algumas vezes o termo turing-complete e se você é programador faz algum tempo já deve ter visto ou participado em discussões inúteis sobre cima linguagem é tudo em conflito ou não deixa aproveitar para
esclarecer isso máquinas de turing podem ser funções parciais ou seja funções para as quais não tem saídas bem definidas elas podem receber qualquer número inteiro e da de saída qualquer número inteiro o dele tem uma definição bem mais formal que isso mas só imagina uma máquina de turing como uma função numa linguagem moderna que recebe inúmeros e devolvem números e o conjunto de funções que você pode expressar com máquinas de tu ne é o que chamamos de funções computáveis existem números computáveis e também números não computáveis se for possível calcular o número com precisão arbitrária
Esse número é computável no universo de todos os números possíveis de inteiros a Complex up e tudo mais nem todos são computados mas na prática é difícil chegar de cabeça número não computável a maioria que mexemos um dia a dia são computáveis Mas isso é só para relembrar que computadores não necessariamente conseguem lidar com 100 porcento dos números possíveis na matemática no máximo aproximamos para um programador que não é um cientista da computação e não vai me dar no dia a dia com construção de CPU ou linguagens de computador ao mês As definições formais não
sejam tão interessantes por isso não tô de e mais é mais para entender que existe uma definição matemática que delimita o que são números computáveis e funções computáveis ou seja existe uma definição não só do que dá para fazer mas também do que não é computável se eu quiser me aprofundar o conceito mais importante sobre isso é o que tu me chamou de sequências computáveis fica admissão de casa para vocês pesquisar o que é isso mas voltando para definição uma linguagem turing-complete é uma que pode simular uma máquina de turing como no site de visualização
só isso ou seja se você pode simular uma máquina de turing Então pode computar qualquer função que uma máquina de turing consegue computar mas o que a torna completa é que ela pode computar todo o conjunto de funções computáveis de túneis não só alguma na prática todas as linguagens de programação que você consegue imaginar provavelmente podem ser consideradas turing-complete na prática se fossemos que gordurosos ao pé da letra Acho que nem existem O que são turing-complete por definição uma máquina de turing tem uma memória tal fita de papel que não tem limites para a esquerda
ou para a direita é infinita o computador de verdade obviamente tem limites você nunca vai ter hum infinita pode ter petabytes e petabyte mas está longe de ser infinito máquinas o linguagens que consegue fazer tudo que uma máquina de turing consegue mais até um certo limite memória chamamos Dener Bound automation o automação linear ilimitada que são máquinas de turing quem põe o limite para esquerda e para direita da fita e a pergunta mais óbvia é sim um computador não pode ser 100% uma máquina de Tuner como que uma linguagem de programação que roda no computador
com limites poderia ser turing-complete tem um jeito que define uma linguagem só no papel dizendo que suporta mistas o Array infinito mas na prática a implementação e que limita o tamanho máximo seja tipo dizer que a intenção ele tá dentro das regras e tenta rodar o hardware é que limitado e não deixa Acessar memória infinita e crochê eu não tenho que ir o meio sujo usando uma tecnicalidade da definição na formalidade matemática isso faz diferença mas para um engenheiro vais pouca diferença então se você encontrar alguma discussão acirrada se é linguagem x ou Y é
ou não é tudo em conflit e ninguém tá provando que as Tais linguagens conseguem de verdade lidar com memória sem limite então a discussão é uma grande perda de tempo na prática toda linguagem de programação que chamamos por aí de turing complete tem capacidade de fazer qualquer coisa que outra linguagem turing-complete consegue fazer dado tempo suficiente de execução e memória suficiente elas são equivalentes agora você Capaz não a mesma coisa que se eficiente muita gente confunde isso por isso é possível e não deveria ser surpresa fazer um simulador de PC antigo em Java Script como
nesse site chamado PC Junior que eu vou deixar linkado nas redes eu acho se você ainda não entendeu um PC é uma máquina universal de tuning que consegue rodar um simulador de pc que é uma máquina de turing feita numa linguagem turing-complete como javscript para simular outra máquina de turing no caso um PC Virtual para jogar Doom como os pcn's de hoje são exponencialmente mais poderosas que precisa dos anos 90 até usando uma linguagem como Já myscript conseguimos simular o PC velho inteiro a ponto de mudar o Windows 95 jogos Commander Kim O Doom e
esses programas não sabem que estão rodando no ambiente simulado de qualquer forma para uma linguagem ser turing-complete na prática não precisa de muita coisa não são sintaxes exóticas bibliotecas complicados nem nada disso uma linguagem imperativa basta ter alguma forma de repetição condicional como um raio um if com guncho e uma forma de ler e escrever para algum lugar tipo registradores ou e funcional baseada em lambda-calculus basta consegui abstrair funções de argumentos e aplicar funções e argumentos Tecnicamente se você consegue fazer recursão tá com meio caminho andado existe um conceito chamado touring tarpit um poço de
piche no sentido de você se sujar e afundar de linguagens que foram desenhadas especificamente para tênis ó o mínimo do mínimo para cê turing-complete se e legível e Fácil de usar não é parte do requerimento e nessa categoria se encontram linguagens como brainfuck que é uma linguagem turing-complete e Teoricamente consegue fazer tudo Só vai ser terrivelmente traumático de tentar se você nunca viu eles um exemplo de um programa que calcula números de Fibonacci engraving funk e sim acreditem ou não isso é uma linguagem de verdade e é turing-complete divirtam-se por isso Eu repito sim qualquer
linguagem turing-complete consegue fazer tudo que outra turing-complete faz mas não quer dizer que vai ser eficiente uma que confunde muita gente são expressões regulares a linguagem decente suporta hoje em dia e não se pessoas singulares não são touring cumpridos primeiro que ele só se move em uma direção quando adicionar um beck reféns não se passava se turing-complete mas para todos os propósitos pode considerar que não é como o próprio nome diz se ela faz parte da categoria de linguagens regulares que são linguagens que podem ser definidas puramente com expressões regulares você vai entender isso se
estudar autômato finito determinístico se estudar compiladores vai chegar em coisas com a hierarquia de chomsky fica a direção de casa também outros exemplos que você já deve ter ouvido falar e é verdade essa Kelly não é turing-complete e HTML ou XML não são turing-complete na prática assim podem ser consideradas as linguagens de programação mas não são completas ou seja não conseguem fazer o quê outras linguagens conseguem para um engenheiro não importa tanto o que importa é eficiência para certos casos de uso por exemplo horroroso brainfuck é touring com cliente mas é inútil para ser usado
de verdade a menos é um sadomasoquista já HTML mesmo não sendo complete é bem mais útil na prática então uma discussão mais acadêmica que não tem tanta utilidade a menos que de novo você seja alguém trabalhando na pesquisa e desenvolvimento de novas linguagens por exemplo finalmente se for para ser seguro osamente formal nenhum computador nem linguagem é touring com pente de verdade porque não temos memória infinita turing-complete é o ideal inatingível o topo da cadeia alimentar da Ciência da Computação nada que foi construído até hoje supera O que é possível fazer com uma máquina de
turing teórico a gente só se aproxima mesmo se pensarmos em um computador quântico ele também não consegue fazer nada mais que uma máquina de turing já não faça vai ser absurdamente mais eficiente mas só isso eficiente é importante esse conceito para entender que o paradigma Geral de computação que conhecemos hoje foi delimitado por Allan Turini e ninguém conseguiu pensar em outro modelo que supera o dele não é impossível só ninguém conseguiu ainda E agora voltando sobre a diferença entre grandes máquinas de calcular e um computador moderno ou seja uma máquina universal de tu ne agora
você já sabe que muita gente chama as máquinas de baba juíz usa o Eniac O Colosso como computadores mas na real são máquinas de calcular glorificados não são máquinas de turing importantes não tem parentesco com nossos computadores modernos se usar na loja de 45 o computador de Babbage tem tanto parentesco com nossos PCs smartphones quanto um macaco tem parentesco com seres humanos o DNA Batman porcentagem mais nós e os macacos somos espécies completamente diferentes nós não descendemos dos Macacos apesar do túnel tem desenvolvido toda a matemática que dá origem à Ciência da Computação a máquina
de turing e teórica um modelo quem de verdade trabalhou no desenvolvimento do primeiro hardware que pode ser considerado de fato o primeiro computador moderno completo de verdade foi John von Neumann e do EDC cujo paper pode ser considerado as bases do computador moderno por isso chamamos arquitetura de hardware de todo o computador como arquitetura vão Moema e segundo ele o que o tour envolveu a impressionante mas ele não chegou a descrever como de fato construir uma máquina de turing de verdade aí eu vou Norma preencher as lacunas que faltavam do ponto de vista da engenharia
do Hardware eu falei bastante de tuning e todo mundo hoje em dia já ouviu falar dele especialmente depois do filme e por outros motivos que não tem nada a ver com Ciências da Computação mas eu acho que a maioria dos programadores não ouvi falar em John von Neumann como deveria nem eu vou corrigir isso hoje essa descrição vai ser lotada de superlativos Então pode se preparar eu gostei de um artigo que saiu no blog cantor super a dizem 2019 escrito por George o ex Down e eu vou pegar emprestado alguns trechos mas eu recomendo ler
o artigo completo que eu vou deixar nas descrições abaixo o artigo abre com uma frase sem autoria que diz a e matemáticos prova que podem vão Oi mano prova o que quer Pois é eu falei que ia ter superlativos eu achei o continuar descrevendo como um ótimo representante dos grandes matemáticos qualquer um poderia descrevê-lo com uma pessoa mais inteligente que já viveu e não seria um exagero Digamos que todo o prêmio Nobel de ciências do século 20 iria reconhecer vão Norma não só como um par mas muitas vezes com o superior e não seria exagero
dizer que se a física teórica teve Albert Einstein a matemática e computação não ficaram nem um pouco longe porque tiveram vão Norma vão noiva nasceu no começo do século 20 em Budapeste na Hungria E desde criança já era prodígio história círculo que quando ele tinha seis anos já conseguia fazer cálculos tipo dividir números de 8 digitos de cabeça e conversar em grego antigo se não parecer grande coisa ele já era proficiente em cálculo aos 18 anos nem a teoria das funções de e-mail boreal os 12 e segundo relatos de muitos que o conheceram ao longo
dos anos o que ele tinha memória eidética lembro do Sheldon The Big Bang Theory Pois é só que aqui era real ele era capaz de repetir tudo que havia lido o mesmo anos depois num dos relatos no livro de campeão Pascal tive um noema de Herman goldstein ele diz o seguinte uma de suas habilidades impressionantes ela se o poder de lembrança absoluta dentro do que eu posso dizer vão nome era capaz de ler um livro um artigo Esse tá de volta a palavra por palavra e ele podia fazer isso anos depois sem hesitar ele também
conseguia traduzir sem diminuir a velocidade da sua língua original para inglês numa ocasião Eu testei sua habilidade e pedir que ele me dissesse como um conto clássico appelt Os seres começaram e a cena começou a recitar o primeiro Capítulo inteiro sem pausas e continua citando até que eu pedi que ele parasse depois de uns 10 ou 15 minutos p*** que o pariu esse é o tipo de coisa que é quase Super Poder de herói da Marvel cara tipo um 20 Winters com Tony Stark Mas isso é só o Iceberg quando eu vou lá entrou para
faculdade em 1921 ele já tinha escrito um paper com seu tutor sobre uma generalização do Teorema de Ferrier aos 18 anos ele já era reconhecido como matemático propriamente dito colaborou em papers obter Unidos conjuntos em Berlim e teve aulas de física incluindo estatística mecânica com Albert Einstein assim ele tava na dúvida de que faculdade fazer então eventualmente se formou tanto em Engenharia Química quando pega bem matemática aos 24 anos sem duas ao mesmo tempo formado summa c** Laude ou seja com a maior das honras um dos professores de matemática relatou o seguinte durante um seminário
para estudantes avançados em Zurique que eu tava ensinando eu cheguei num certo o teorema e disse que ele ainda não estava provado em que podia ser difícil vão noiva não disse nada por cinco minutos daí levantou a mão quando eu chamei ele para ir para lousa ele foi Escreveu a prova depois disso eu tive medo de voo nome assim e esse professor era o folhear por si só um dos maiores matemáticos da Hungria depois disso ele continuou trabalhando em pesquisa com maior matemático do mundo na época David Hilbert e durante esse período ele escreveu um
monte de paper sobre teoria dos conjuntos Em lógica enquanto ainda estava na faixa dos 20 anos e em resumo sua maior contribuição à teoria dos conjuntos é o que seria chamado de teoria vão Norma bernis Golden e não eu não sei o que significa fica direção de casa para vocês mais ou menos na mesma época que tava contribuindo na para teoria dos conjuntos ele também provou o teorema conhecido como Minimax para jogos de soma zero e isso criaria a fundação para o novo campo de estudos que viria a ser chamado de teoria dos jogos lembra
aquele filme do nosso chroma Mente Brilhante por causa do filme todo mundo acha que foi o John Nash que deu origem à teoria dos jogos e apesar de ter sido importante depois quem criou a fundação toda foi vão Norma em colaboração com economista Óscar mornstar vão Norma depois publicaria o livro o tipo em jogos cooperativos de soma zero intitulado teoria dos jogos e comportamento econômico em 1944 Mas voltando para 1929 ou seja como estava com 26 anos e já tinha publicado 32 paper de pesquisa quase um paper por mês e até aquele já influenciou os
campos de teoria dos conjuntos e ajudou a fundar a teoria dos jogos que mais nessa época um tema que tava só começando gerar discussões ferrenhas entre físicos a tal da física quântica numa dessas disputas tava nomes que você já ouviu falar Aizemberg blogger e não não é esse Heisenberg e sim esse outro George era meio reitor do Heisenberg dizendo que as formulações dele fala tudo errado iniciando com o incidente Entre esses dois nos anos seguintes o vão Norma publicou vários papers que estabeleceram um frame que matemático rigoroso para mecânica quântica hoje conhecido como axiomas Dede
aqui vão longe isso sem contar que ele explicou como entender a mecânica quant a vista estatístico ele teve um Insight que nem Heisenberg nem Osbourne show em que eles tiveram baseado no campo de estudo de seu mentor Deivid ryllberth os espaços vetoriais de Hilbert que eu menciono no meu vídeo sobre supremacia quântica mas só Resumindo que enquanto os gênios como Sharingan estavam batendo cabeça entre eles vão Nós não foi e encerrou a discussão só que daí o ponto do Hitler subiu ao poder na Alemanha a guerra tal para começar e vou Norma foi para os
Estados Unidos recrutado para a universidade princeton como professor visitante logo no começo ele se virou para teoria agor dica e sem eu também não tenho a mínima ideia do que diabos é isso mas segundo o artigo teoria erótica é uma área da matemática que estuda as propriedades estatísticas de sistemas dinâmicos deterministicas enfim basta dizer que para surpresa de ninguém essa altura vão noiva fez contribuições essenciais incluindo o teorema ergódico médio de vão nós não considerado a primeira base matemática rigorosa para estatísticas em líquidos e gases omatematico.com House disse sobre isso se como Norma Nunca tivesse
feito mais nada só isso já seria suficiente para garantir e mortalidade na matemática com a Segunda Guerra eminente os pontos nazistas perseguidos o Deus era questão de tempo para chegar e na universidade de goste nem na Alemanha que é então a referência do mundo em matemática e física mas por causa da perseguição diversos nomes famosos Ou foram expulsos ou fugiram e muitos foram para o recém-formado Instituto para estudos avançados nos Estados Unidos além de voronoi magner meio Einstein que era judeu Claro daí outros com Max Born Leo szilard é do hortelã é demo Landau James
Frank Richard klann e vários outros foram também enquanto estava no instituto de estudos avançados V online só para variar fundou o campo de geometria continuar assim como no caso da teoria ergódica Ele publicou dois papers um provando sua existência discutindo suas propriedades e outra dando exemplos fundada já virou rotina para o online Fiquei imaginando ele acordando e pensando que Novos Campos de estudo que não existe eu quero revolucionar hoje e para provar isso lá para o meio dos anos 30 ele desenvolveu a expertise também na ciência de explosões fenômeno que é bem difícil de modelar
matematicamente Veja uma explosão em cg-em filmes dos últimos 20 anos e você vai ver que só hoje conseguimos simular explosões de forma mais realista de qualquer forma vão Norma acabou se tornando uma autoridade também na matemática de cargas moldadas cargas explosivas para focar o efeito da energia na explosão e sua maior contribuição para a bomba atômica foi no conceito e design das lentes explosivas que era necessário para comprimir o lucro de plutônio da arma fat Man que foi a usada em Nagasaki assim ele participou do projeto Manhattan bem e era conhecido de Richard Freeman e
Robert oppenheimer no currículo de voo normal até agora temos contribuições na matemática incluindo teoria dos conjuntos os números espaços de Hilbert na física em especial mecânica quântica na economia com a teoria dos jogos na Biologia com celulares autômatos e depois em computadores e inteligência artificial e aqui Voltamos ao nosso tópico Central seu trabalho como computadores começou em princeton no meio dos anos 30 depois de se encontrar com um jovem Alan turing de 24 anos quando ele também passou um ano no Instituto de estudos avançados em ti 1936 e 37 tudo em começou sua carreira trabalhando
no mesmo Campo que vão Norma em teoria dos conjuntos lógica e o problema de decisão de gilberte o tal di emitiram problema por isso seu paper seminal de 1936 se chama on camping or álbum Number with application to be and Roms problema quando terminou seu phd 1938 pudim já tinha estendido o trabalho de um Norma e godel e introduziu lógica original e adoção de computação relativa aumentando suas máquinas de turing anteriores por máquinas e permitindo o estudo de problemas que vão além das capacidades da máquina de túnel original vão noiva chegou a convidar Tuner para
uma posição de pós-doutorado como assistente de pesquisa depois do phd mais turnê rejeitou e em vez disso viajou de volta para a Inglaterra para participar do filme do cabelo Betty quebrando o código dos nazistas E ajudando a vencer a guerra apesar do touring ter ido embora vão Norma continuou pensando sobre computadores durante o fim dos anos 30 e durante a guerra Depois da sua experiência no projeto Manhattan ele foi atraído pelo projeto do Eniac da Universidade da Pensilvânia durante o verão de 1944 ele tinha uma boa noção da quantidade massiva de cálculos necessários para prever
o raio de uma explosão nuclear ou planejamento do caminho da bomba e também subir Como quebrar esquemas de criptografia são centenas de cálculos complexos diferentes e lembre que o Eniac era uma calculadora eletrônica glorificado e horrorosa que só conseguia fazer uma tarefa de cada vez e toda vez para eu precisava reconfigurado dezenas de cabos por vão Norma Tava claro que isso não ia rolar em 1945 projeto de construção do computador and Wacky Ele propôs a descrição para arquitetura de computadores hoje conhecido como arquitetura vão Norma que inclui o básico de um moderno computador eletrônico digital
uma unidade de processamento que contém uma unidade de lógica aritmética e registradores de processo uma unidade de controle que contém o registrador de instrução e um contador de programa uma unidade de memória que possa armazenar dados e instruções armazenamento externo e mecanismos de entrada e saída ou seja ele especificou o que hoje chamamos CPU Ram e tudo mais é a descrição de um computador moderno Como eu disse antes o grande Insight que separa o computador moderno das grandes calculadoras que tanto tu ne quanto vão lama pensar mas que não era nem um pouco Óbvio na
época era o conceito de instruções de programa e dados com viverem no mesmo espaço de mim o casamento em vez de serem duas coisas separadas como na máquina de Babbage e não contente em ter feito só isso claro que vão Remo foi além se você estudou algoritmos e estruturas de dados na faculdade envio algoritmos de ordenação Com certeza esbarrou numerj sorte que divide a Reis pela metade antes de ordenar os recursos vivamente para no final fazer o merge do resultado e foi inventado por John vão noiva Claro e ele mesmo escreveu algoritmo para o computador
é devaki de bônus já que parece que ele tinha tempo sobrando ele introduziu o computação estocástica embora a ideia tão inovadora para a época que não ser implementada por mais uma década e por fim ele criou o campo de autômatos celulares que precedeu a descoberta da estrutura do DNA por muitos anos e esse provavelmente vai ser o maior melhor e mais influente currículo de um acadêmico engenheiro que você jamais vai ver e só para jogar mais lenha na fogueira você poderia imaginar que uma tema Oi livre de voo noiva que está a lhe pau a
pau no grupo de nomes como a estão should grow ryllberth deve ser um daqueles matemáticos introspectus time 200 sociais bem no estilo túnel do câmbio Betty né Não pelo contrário segundo relatos de conhecidos festas e vida noturna tinha um apelo especial para vão longe mas enquanto ensinava na Alemanha ele foi a símbolo da era de cabarés do circuito noturno de Berlim e as festas na casa de vovó Norma eram frequentes e famosas em longas ele era aquele tipo mais bonachão que fazer piadas infames E durante o período no instituto de estudos avançados em receber reclamações
Por que ligava seu gramofone super alto tocando marchas alemãs no escritório e é distraído todo mundo incluindo Albert Einstein que ficava potássio vão noiva morreu de Câncer em 1957 aos 53 anos ou seja tudo isso que eu contei foi antes dos 50 anos se você é do tipo que gosta de ter alguém que o olhar o ideal inatingível esquece porcaria desse eu descartável influência mamão com açúcar isso é definição de padrões muito baixo se é para sonhar então sonha alto e coloca um Moema como objetivo de vida para ser fã quando eu tiver em dúvida
pense o que vão lá em uma faria um vamos pegar um problema todo mundo acha impossível resolver e resolver e por hoje é isso aí eu disse que essa história ser cumprida mas eu acho que a grande maioria dos programadores simplesmente desconhece João Norma todo mundo já ouviu falar de Alan Tuner mas só o que tem no filme e muito programador iniciante adora falar sobre turing-complete E se eu perguntar o que é uma máquina de turing só sobra silêncio tulim e vão Norma definiram O que é o computador moderno que usamos até hoje tanto do
ponto de vista do Rigor matemático até a arquitetura do Harbour propriamente dita e por isso eu considero essa dobradinha com os verdadeiros pais da computação e eu sei muito Ah tá mas cadê o alonzo church in lambda-calculus relaxa que tá uns planos podes uma hora para não perder quando sair assim o canal e clique no Sininho para ser notificado se curtir o vídeo deixe um joinha e Compartilhe o vídeo com seus amigos a gente se vê até mais