Backlog #1 - O primeiro PC da história!
Olá e seja bem vindo(a) a mais uma edição do Backlog! A newsletter onde eu destilo tudo que eu gostaria de falar sobre tópicos que eu acho muito interessantes!
Hoje a gente vai conversar sobre um dos assuntos que eu mais gosto: história! Você sabe qual foi o PC que provavelmente deu origem a todos os computadores pessoais da história?
Computadores e pessoas
Você agora está lendo essa newsletter no seu computador, no seu celular, no seu video game (quem sabe?), a gente muitas vezes nem pára para pensar como chegamos aqui, para a maioria de nós (eu com certeza) quando nascemos, o computador já existia, as pessoas já conheciam o conceito do computador pessoal, mas isso nem sempre foi assim.
Os primeiros computadores do mundo foram criados na década de 1940 com o único objetivo de quebrar cifras alemãs na segunda guerra, o primeiro computador programável do mundo foi o Colossus, construído em 1944, ele ocupava uma sala inteira e era composto de mais de 2500 válvulas, além de milhares de relês eletromecânicos.
Eu vou falar do Colossus nas próximas edições. Eu recentemente fui até lá em Bletchley Park (olhem meus highlights no instagram) e eu vi esse computador eu mesmo, nessa mesma sala da foto.
Ao longo dos anos eles foram ficando cada vez menores, porém não o suficiente para podermos chamar de um computador portátil. A próxima iteração de um computador útil, o ENIAC, ocupava 3 andares de um prédio e pesava 30 toneladas, isso não é necessariamente algo interessante para o público, mas tudo bem! Porque...
Ninguém precisava de um computador!
Por que alguém iria precisar de um computador? Naquela época, eles eram complexos demais e serviam a tarefas específicas. Tanto é que todos os computadores até então não tinham nenhum tipo de entrada de dados, como um teclado ou mouse, isso aconteceu BEM DEPOIS, eles eram operados por alavancas e patch boards
Personal computers
Nos final dos anos 50 os computadores reduziram um pouco de tamanho. Esses computadores eram os considerados "personal computers", porque precisavam de somente uma pessoa para operar, enquanto os anteriores precisavam de várias e, geralmente, um local refrigerado especial onde pudessem ficar. Perto de 1960, o Librascope LGP-30 foi o primeiro computador "pessoal" que tinha um input humano ou uma HID (Human Interface Device), que era uma máquina de escrever. Ele exigia menos operadores e uma instalação mais simples.
Muitos anos depois em 1965, a IBM lança uma linha de computadores chamado IBM System/360, ainda focado em empresas, ele foi um dos primeiros a ter um software único para todas as máquinas, além de vários periféricos, provando que todo funcionário poderia usar o computador, com menos treinamento do que antes.
O IBM System/360 modelo 40 era um dos menores mainframes da época, ele "só" ocupava uma sala de aula e podia custar mais de $300.000 dólares (de 1965)
Pausa para o aviso!
Essa newsletter só é possível através da ajuda da comunidade e dos patrocinadores!
Essa em particular é patrocinada pela Remessa Online! Se você trabalha com tecnologia, com certeza já precisou trazer algum dinheiro de fora para o Brasil, e as taxas são SUPER ALTAS 😭 Por isso a Remessa é a melhor forma de fazer isso com a menor taxa do mercado e SEM BUROCRACIA!
Você pode automatizar seus recebimentos depois da primeira operação e ainda economiza muito porque a Remessa tem as melhores taxas do mercado! Se você ainda não conhece e não começou a usar a plataforma, aproveita que é só clicar aqui embaixo e usar meu cupom LSANTOSDEV pra ganhar 15% de desconto nas suas transações.
👉 Clica aqui pra transferir com a menor taxa do mercado!
🌟 Quer fazer parte desse sonho comigo? Trazer essa newsletter ao mundo é algo que sempre quis fazer, e ver o projeto crescer com o apoio de vocês seria incrível! Se você tem uma marca ou produto que se conecta com essa comunidade, manda um e-mail para hello@lsantos.dev. Vou adorar conversar sobre como você pode apoiar essa jornada!
💙 Apoie o meu trabalho: Se você gosta do conteúdo e quer dar uma força, mesmo com apenas $1, isso já faz toda a diferença! Clique aqui para contribuir mensalmente ou fazer uma doação única. Cada apoio me ajuda a manter essa newsletter viva e a fazer dela algo especial. Muito obrigado por estar aqui e por acreditar nesse sonho comigo!
SCAMP e miniaturização
Computadores só eram tão grandes usavam relês, válvulas, transistores e outros componentes eletromecânicos, com a invenção de técnicas de miniaturização como o circuito integrado, começou a ser possível reduzir o tamanho dos computadores.
O SCAMP (Special Computer APL Machine Portable) foi um computador desenvolvido na IBM em 1973 como um protótipo de uma máquina portátil que poderia ser carregada com todos os periféricos para qualquer lugar e foi o que deu origem ao que a gente chama hoje de IBM PC, mas ainda sim era caro e focado em usos comerciais, ele ainda era bem caro.
Computadores pequenos eram muito mais caros, os computadores mais "baratos" eram enormes, não existiam computadores que fossem pequenos e baratos. Além disso, nenhum computador era necessariamente fácil de programar, você precisava de um conhecimento quase arcano para conseguir entender o que estava acontecendo e como operar o computador.
Geralmente esses computadores tinham manuais de instruções que eram verdadeiros compêndios de texto. Livros com mais de 800 páginas descrevendo em detalhes não só cada operação, mas o caminho lógico de cada circuito do mainframe. Igualzinho a gente faz com documentação hoje em dia...
Revolução em 1975
Mas isso mudou bastante em 1975 quando uma empresa chamada MITS criou um computador visionário chamado Altair 8800.
O Altair é considerado por muitos como o primeiro computador pessoal da história, porque ele não era focado em empresas ou em aplicações comerciais, ele era essencialmente um processador programável que continha uma linguagem de alto nível (BASIC) e um interpretador para essa linguagem (criado por Bill Gates e Paul Allen).
Esse computador custava $297 USD, ordens de grandeza mais barato que um computador empresarial. Ele tinha 255 bytes de memória (expansível até 64kb), mas não exibia nada em telas, a única saída de um Altair eram luzes vermelhas.
Pra quem tiver curiosidade, o filme "Piratas do Vale do Silício" mostra em detalhes a saga do Bill Gates e do Paul Allen com o Altair 8800, vale bastante a pena assistir
O Altair se tornou o que todos conhecemos como o primeiro computador pessoal bem sucedido de todos, ele era pequeno, barato, era fácil de carregar e não era focado em um público comercial, mas sim hobbystas da computação que queriam brincar com essa tecnologia em suas casas, mas existe uma parte perdida, antes do Altair, a história do MCM/70, o real computador pessoal, ou pelo menos a primeira tentativa de um...
O real computador pessoal
Pouquíssimas pessoas conhecem a história de uma empresa chamada MCM (Micro Computer Machines), criada perto de 1971 pelo canadense Mers Kutt. Mers era um professor de matemática na Queen's University em Ontario que tinha um problema sério com como o método de como os alunos e professores tinham que esperar dias para rodar programas no modelo de computação compartilhada, que consistia nos seguintes passos:
- Escrever seu programa em cartões perfurados
- Mandar os cartões perfurados fisicamente para um mainframe (como o IBM360)
- A galera que operava o mainframe iria rodar seu programa e te dar a resposta
Existiam vários problemas ai, o primeiro era que se você errasse o programa e ele não rodasse no computador, você teria que passar por tudo isso de novo. O outro é que as pessoas que rodavam os programas tinham que priorizar o que era executado e, se você tivesse alguma briga com algum deles, seu programa provavelmente iria pro final da lista.
Todo o processo era muito lento e ele queria transformar o uso de computadores porque ele acreditava que todas as pessoas que usassem um computador poderiam criar coisas incríveis, mas estavam sendo barradas por causa das limitações técnicas. com essa ideia em mente, ele partiu para propor uma ideia de um computador que fosse:
- Pequeno o suficiente para ser levado por aí
- Barato para que as pessoas pudessem ter
- Fácil de usar para que todos pudessem construir algo
Esses eram os três principais problemas da época, e ele queria resolver todos os três de uma vez só. Por sorte, ele conhecia Robert Noyce, o primeiro CEO da Intel (e fundador) que disse que a ideia poderia funcionar em um processador que a Intel estava trabalhando, o Intel 8008.
Vale lembrar que, enquanto a gente sabe e conhece o conceito de computador pessoal, isso não era algo existente na época, ninguém sabia o que era um PC.
É importante ressaltar que a Intel não era uma corporação como é hoje, ela era basicamente uma startup pequena. O Intel 8008 era pequeno, relativamente barato ($120) e tinha um clock de 0.8Mhz, o que era suficiente para uma pessoa rodar um programa.
Pra por em perspectiva, um Hert é 1 ciclo por segundo, 0.8Mhz é o equivalente a 800.000 Hertz, ou seja, o processador rodava 800.000 vezes por segundo. Hoje, um processador ruim roda a 2GHz, isso é 2.000.000.000 vezes por segundo. Seu processador deve rodar a 4.7 ou 5Ghz isso é 5800x mais rápido que o Intel 8008
Isso resolvia uma parte do problema, era possível conseguir computação relativamente barata e pequena, agora e o resto? Para memória física era possível usar fitas cassete, mas elas eram usadas principalmente para audio, para dados digitais a maioria dos leitores eram do tamanho de um micro-ondas, além disso, memória RAM era extremamente cara, um Intel 2102 com 1kb de memória custava $20 dólares por chip, você precisaria de, pelo menos 8kb, para fazer qualquer coisa.
E ainda tinha o problema do uso... Como fazer um computador fácil de usar? Bom, vamos por partes. Kutt nomeou esse projeto de M/C, que acabou virando o MCM/70, o primeiro computador verdadeiramente pessoal do mundo.
Hardware
Com o processador resolvido, a RAM era uma questão simples, porque não tinham muitas opções, então o MCM/70 tinha 8kb de RAM (8 chips 2102, $160 dólares) e uma ROM que iria conter a linguagem do computador.
Para armazenar os dados externamente eles usaram um leitor de fita cassete sequencial, era como se fosse uma fita comum de audio, eram compactas mas lentas... Para deixar tudo mais fácil, o MCM/70 tinha um display SELF-SCAN de 32 caracteres (que era algo inovador na época), igual ao abaixo:
SELF-SCAN é o nome dado a uma família de displays de plasma que podiam exibir caracteres com mais detalhes do que os tradicionais 7-segments, mas usavam muito mais recursos, mas isso era necessário, porque, para deixar o computador mais fácil, eles teriam que usar algo que a galera pudesse entender.
Software
Com os problemas de hardware quase resolvidos, o último problema era como deixar o computador fácil de usar. Para isso Kutt, que já acompanhava o trabalho do Ken Iverson para criar a linguagem APL, uma linguagem matemática que usava símbolos especiais mas era poderosa o suficiente e tinha como ser executada em pouca memória.
O problema era que o custo de criar um teclado diferenciado para APL era mais alto, mas isso, na teoria, pagaria o projeto.
Mas, Kutt não era um programador, então ele contratou Gord Ramer - que já tinha feito um interpretador de APL com baixo uso de recursos antes - para poder criar o interpretador e colocar ele diretamente na ROM do computador. E essa parte é uma das mais interessantes de toda essa história.
Codando para um 8008 sem um 8008
Eles não tinham um Intel 8008 disponível porque eles começaram o desenvolvimento do protótipo antes de o chip ficar pronto, mas a universidade Kingston tinha um IBM360 com um emulador de um Intel 8008. Você colocava um código 8008 ali e ele iria te devolver um código hexadecimal para rodar no hardware, simples assim. O problema era que o IBM360 operava com cartões perfurados, então todo o interpretador de APL era escrito em cartões perfurados do IBM360, levados para a universidade para serem lidos e o código de resposta era também escrito em cartões perfurados e depois digitado manualmente pelos devs dentro do MCM/70 (o protótipo).
E como a viagem entre o escritório e a faculdade era de uns 10 minutos, não era algo que você iria fazer rotineiramente, como dev, você iria usar um debugger que permitia que você editasse o seu código direto no processador, anotasse as mudanças, e depois recompilasse o código correto na universidade.
O que aconteceu?
O MCM/70 foi lançado em 1974, um ano antes do Altair 8800. Ele custava $4950 dólares canadenses na versão com 2Kb de RAM e sem cassetes e $9800 com 8Kb e dois cassetes. Pela primeira vez um computador foi chamado de computador pessoal, tendo clientes além de governos e grandes instituições e começando a entrar em locais menores como hospitais e lojas.
Nos dois anos seguintes o MCM/70 foi renomeado para MCM/700 e, em 1976, o sucessor MCM/800 foi lançado com um processador mais rápido, 16Kb de RAM e poderia usar um monitor externo. Até 1978 a MCM lançou o 900 e o 1000. Mas, mesmo depois de vender muitas unidades, sendo o primeiro computador vendido comercialmente que já continua um monitor, teclado, memória e tendo um preço relativamente barato ele nunca chegou a ser altamente usado fora do meio acadêmico ou comercial. No final dos anos 70 a MCM já tinha vários competidores com computadores mais baratos e mais simples (como a MITS e o Altair) que caíram no gosto do público geral.
Em grande parte, o problema do MCM era a linguagem APL que era extremamente complexa e complicada porque era totalmente composta de símbolos matemáticos, o que não era o caso do Altair e o BASIC que era muito mais simples e direto.
Em 1983, após tentar conseguir um financiamento para um modelo mais avançado e falhar, a empresa fechou as portas e vendeu suas patentes e projetos para outras empresas, inclusive a Alcatel.
Mais detalhes
Se você quiser saber mais sobre essa história, Cam Farnell, um dos empregados da MCM na época, deu uma palestra que fala sobre o MCM/70.
Além disso existe um livro chamado "Inventing the MCM/70" publicado pelo professor Zbigniew Stachniak, mas eu não consegui achar ele em nenhum lugar...
E essa foi a história por trás da história do primeiro computador pessoal do mundo. O MCM/70 pavimentou o caminho para o que conhecemos como computadores pessoais hoje.
Ele solucionou questões cruciais de tamanho, acessibilidade e usabilidade, embora tenha sido ofuscado por concorrentes mais simplificados. Corrigindo esses erros, futuras gerações de PCs seguiram caminhos que moldaram tudo o que a gente conhece como computador.