1 pontos por GN⁺ 2 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • A computação na infância começou em 1992, quando ele se transferiu de escola aos oito anos e conheceu a sala de informática; só o fato de uma escola de uma pequena cidade industrial ter uma sala dessas já era algo especial
  • Os PCs compatíveis com IBM da sala de informática eram máquinas antigas herdadas da fábrica de sílica, e era possível rodar MS-DOS e Logo em disquetes de 5¼ polegadas por cerca de duas horas por mês
  • Não havia disco rígido e o espaço de armazenamento era escasso, então o trabalho desaparecia ao desligar a máquina; guardar programas era quase o mesmo que copiar o código à mão em um caderno
  • Como o tempo real no computador era curto, a maior parte da programação em Logo era feita em casa com caneta e papel quadriculado, e os amigos copiavam e modificavam o código antes de digitá-lo novamente
  • Jogos como Moon Bugs, Space Invaders, Digger e Grand Prix Circuit deixaram o desejo de criar algo parecido com as próprias mãos, e até 30 anos depois as imagens, os sons e os cheiros continuam vívidos

A computação na infância que começou na sala de informática

  • A computação na infância de Susam Pal começou em 1992, quando ele se transferiu de escola aos oito anos e conheceu a sala de informática; só o fato de uma escola de uma pequena cidade industrial ter uma sala dessas já era algo especial naquela época
  • As máquinas da sala de informática eram PCs antigos compatíveis com IBM, herdados da fábrica de sílica que era o centro da cidade, e só podiam ser usadas por cerca de duas horas por mês
  • Antes de entrar na sala de informática era preciso tirar os sapatos, e a professora explicava que as máquinas caras precisavam ser mantidas sem poeira
  • A maioria dos computadores tinha monitores CRT monocromáticos, não havia disco rígido e a RAM ficava na casa de algumas centenas de KB
  • Todas as vezes era preciso carregar o MS-DOS na memória com um disquete de 5¼ polegadas e depois executar LOGO.COM com outro disquete para escrever pequenos programas em Logo e mover a tartaruga
  • Como não havia disco rígido e o espaço de armazenamento era escasso, o trabalho não ficava salvo e tudo desaparecia ao desligar o computador
  • A forma de preservar os programas era copiar o código à mão em um caderno, e há um registro separado sobre essa fase inicial da programação em Logo em FD 100

Programação no papel e memórias dos jogos

  • Como o tempo de uso real do computador era curto demais, a maior parte da programação em Logo era feita em casa com caneta e papel, “testando” o programa ao desenhar o resultado em papel quadriculado
  • Esses programas preparados assim podiam ser executados de verdade por cerca de 30 minutos na sala de informática
  • Um programa em Logo especialmente memorável desenhava linhas tracejadas animadas percorrendo o contorno de uma casa, e os amigos copiavam o código e mudavam detalhes para criar suas próprias variações
  • Na prática, esse programa era tratado como o primeiro “software livre e de código aberto”, com uma licença informal do tipo “faça o que quiser, mas me mostre se fizer alguma modificação interessante”
  • A forma de distribuição era totalmente analógica: os amigos copiavam o código a lápis para seus cadernos e depois o digitavam novamente na sala de informática
  • Depois de concluir com sucesso as tarefas em Logo, a professora deixava os alunos jogarem no computador, e o primeiro jogo experimentado foi Moon Bugs
  • Entre os jogos favoritos estavam Space Invaders, Bricks e Grand Prix Circuit
  • Space Invaders despertou a vontade de criar o próprio jogo, mas com apenas GW-BASIC e acesso limitado ao computador naquela época, era difícil fazer algo mais complexo do que programas simples de entrada e saída de texto
  • Só em 2022, já adulto, ele criou um jogo no estilo Invaders, Andromeda Invaders, que inclui até um modo de jogo automático após 5 segundos de espera
  • Digger, da Windmill Software, vinha em um disquete com boot próprio, então podia inicializar e rodar diretamente sem o processo de inserir antes o disquete do DOS
  • Grand Prix Circuit, da Accolade Inc., era executado com o comando GPEGA e era um daqueles jogos que faziam valer a pena esperar pela música de abertura
  • Na época em que Logo e GW-BASIC permitiam desenhar apenas formas bidimensionais básicas, parecia espantoso que um programa de computador pudesse gerar a projeção de um mundo virtual tridimensional explorável por entradas do teclado
  • Mesmo depois de mais de 30 anos, o barulho das máquinas, o beep do POST e o cheiro característico da sala fechada com ar-condicionado continuam vívidos na memória
  • Quando ele encontra por acaso um cheiro parecido em algum lugar inesperado, volta às primeiras lembranças da computação na infância, e essa experiência permanece como uma das memórias mais fortes e vivas, cheia de encanto e exploração

1 comentários

 
GN⁺ 2 시간 전
Comentários do Hacker News
  • Em 1985, comprei um C64 e, embora hoje eu possa rever os gráficos e o som em emuladores ou no YouTube, sempre me lembro do cheiro de placa de circuito aquecida que escapava do gabinete logo depois de ligar o aparelho
    O toca-fitas que veio junto estava com o ajuste da cabeça da fita desregulado e, como não havia internet na época, ninguém sabia por que a maioria dos jogos não carregava. Mesmo assim, dava para salvar e carregar programas, então comecei a digitar programas em BASIC seguindo o manual do usuário e listagens de jogos em livros de programação encontrados na biblioteca, salvando tudo nas minhas fitas
    O manual não trazia só um tutorial de BASIC, mas também os recursos de hardware como gráficos, sprites e som, então descobri que, ao dar POKE em determinados endereços com certos números, eu conseguia colocar sprites na tela e movê-los. Quando consertei o toca-fitas e finalmente consegui carregar os jogos do pacote, eu já estava profundamente envolvido com programação e senti que, se aqueles jogos também tinham sido feitos por alguém sentado ali programando, eu também poderia aprender. Desde então, continuo programando

    • Eu adorava o fato de que o sistema operacional do C64 era uma linguagem de programação, o BASIC. Mesmo para usar o hardware para jogar, você precisava aprender um pouco de programação com coisas como LOAD "*",8,1
    • No começo, eu só tinha dinheiro para comprar o C64, e era um grande alívio quando o checksum de um programa digitado por mim batia. Sem mídia de armazenamento, o programa existia só naquele momento, ou então era cartucho; mais tarde comprei um drive de fita e, por fim, um disco rígido
      Ainda assim, comparado com máquinas concorrentes como Apple II, Sinclair e Ti99, eu achava que ele era bem barato pelo que oferecia
  • Na escola havia computadores velhos com Windows 3.1, e só podíamos usar programas de digitação
    O primeiro computador da família foi comprado em 1995 e, se lembro direito, era um Pentium de 166MHz / 16MB de RAM / Windows 95, e custou algo em torno de 3.500 a 4.000 dólares na época. Três anos depois, logo após o lançamento de Half-Life, consegui uma cópia e ele mal rodava mesmo naquele computador com placa de vídeo dedicada. Naquela época, para um gamer, acompanhar os gráficos mais recentes era realmente muito caro
    Antes disso, tínhamos uma máquina de escrever elétrica, e o principal uso do computador também era escrever documentos e fazer trabalho. Minha primeira experiência com programação foi editando arquivos HTML, e procurei livros de programação na biblioteca, mas como era uma zona rural com 3.000 habitantes, só havia um livro de Pascal ou Delphi
    Ouvi dizer que havia na cidade um garoto alguns anos mais velho, um gênio que “mandava muito de computador”, então fui procurá-lo. Havia uma grande caixa de Borland C++ na prateleira do quarto dele, e ele me mostrou um clone de simulador de voo 3D que estava fazendo e algo parecido com Doom, o que me deixou impressionado. Ele se deu muito bem na bolha das pontocom e foi direto trabalhar sem fazer faculdade
    Alguns anos depois, quando entrei no ensino médio, um desenvolvedor semiaposentado se mudou para a cidade e, em parceria com a escola, abriu uma aula de programação Java. Ele era um excelente professor, e foi ali que decidi que queria trabalhar com computadores

    • Minha carreira se deve, na prática, a duas grandes sortes
      A primeira foi que, no começo dos anos 1990, meu pai comprou um PC para ajudar no trabalho autônomo de publicação, e, como os PCs da época, ele vinha com QBasic e código-fonte de jogos como GORILLA.BAS, que um garoto introvertido com muito tempo sozinho podia explorar à vontade
      A segunda foi ter estudado em um ensino médio com um laboratório de informática relativamente bem financiado e um professor de computação de mente muito aberta. Se você mostrasse que era confiável, ele deixava fazer praticamente o que quisesse, e, embora a escola fosse em grande parte voltada para Mac, eu gostava do lado Microsoft no ensino médio, então perto da formatura consegui montar e administrar um servidor de arquivos e web em Windows NT para o jornal da escola. Outro amigo era fissurado em Linux e conseguiu autorização para fazer algo semelhante na sala de desenho técnico usando RedHat
      Minha inclinação combinou com a oportunidade, e foi assim que acabei trabalhando em tecnologia pelos 25 anos seguintes
      O que me preocupa agora é que tecnologia demais está fechada. Hoje em dia, seria raro uma escola dar esse tipo de liberdade, celulares não vêm com IDE pré-instalado, e até a instalação de apps “não autorizados” é combatida
      Pelo bem das crianças, a indústria, as ferramentas e os sistemas operacionais deveriam ser mais abertos. É preciso poder mexer e consertar para que as crianças mais motivadas aprendam. Estamos deixando de formar talentos brilhantes porque tudo está sendo fechado para maximizar o retorno de algum fundo hedge em algum lugar, e a financeirização dos EUA foi um grande erro
    • Uma vez descobri onde os textos dos testes de digitação estavam salvos em algum lugar da rede. Depois disso, a prova ficou bem engraçada
      Claro, engraçada segundo os padrões de um adolescente
  • Lembro do momento em que, por volta dos 9 anos, entendi de repente variáveis no RPG Maker. Antes disso eu já tinha mexido com coisas como HTML, mas quando entendi variáveis, o mundo se abriu, programas em VB6 passaram a ser possíveis e tudo de repente fez sentido
    Tenho a impressão de que, quando uma criança ou adolescente entende uma vez os fundamentos de como as coisas funcionam, depois consegue evoluir muito rápido. Quero que meu filho entenda os fundamentos da computação o mais cedo possível, porque isso ajuda a perceber como o mundo está interligado

    • Quando comecei a fazer jogos simples baseados em texto, os condicionais de Pascal não eram suficientes. Perguntei ao meu pai, e ele explicou que o que eu queria era possível com laços de repetição; naquele momento, senti como se tivesse recebido todas as ferramentas para escrever qualquer programa
    • Lembro que, quando era mais novo, sofri para entender o que eram classes em PHP e por que eram úteis. Pareciam uma abstração inútil, mas, quando finalmente entendi, o mundo se abriu, passei a compreender muito mais da Zend Engine e comecei a me interessar por engenharia de software
      Claro que depois tive outra epifania e agora evito classes
  • Foi por causa de um Tandy 1000 SX de meados dos anos 1980 que a minha vida inteira passou a girar em torno de tecnologia
    Não sei exatamente quantos anos eu tinha, mas era ainda criança, com idade de um dígito, quando meu pai levou um para casa; ele administrava o sistema inicial de ponto de venda informatizado de uma rede varejista regional e o mainframe do escritório
    Antes de aprender a escrever em letra cursiva, eu já tinha aprendido a montar arquivos em lote para configurar as interrupções IRQ da placa de som e da placa gráfica só para conseguir jogar, e com 8 ou 9 anos aprendi em um acampamento de computação a fazer jogos em BASIC. Tive minha primeira experiência online com a TandyNet e, em meados dos anos 1990, fiz meu primeiro site em HTML 0.9. Foi uma época caótica, mas acabou levando à minha carreira em TI de hoje, quase 30 anos depois

    • Eu também tinha esse mesmo Tandy 1000 SX e um Commodore 64. Meus pais não viam videogames com bons olhos, então, tirando Pac-Man, aquilo era mais um equipamento para aprender programação ainda com idade de um dígito
      Minha grande reclamação sobre os computadores de hoje é que está ficando cada vez mais difícil “aprender” a programar. No caso do Commodore, a própria interface era uma linguagem de programação e, em certo sentido, você precisava aprender um pouco de programação só para usar. Dispositivos iOS por muito tempo não permitiam desenvolvimento local; melhorou um pouco em relação ao começo, mas ainda não permitem JIT
  • Para mim, tudo começou na era do ver código-fonte. Por volta de 2001, eu copiava o HTML de páginas do Geocities e editava no Notepad; eu nem sabia o que era uma linguagem de programação, mas sabia mudar a cor de fundo e adicionar um marquee
    Só aquela resposta imediata de salvar, dar Alt-Tab e atualizar já bastava para me fisgar

  • Essa conversa sobre cheiro me marcou bastante. Como filho de professor universitário, eu tinha algum acesso ao laboratório de computação da universidade, e a sala dos professores tinha cheiro de plástico, poeira e um leve toque de borracha queimada
    Aquele cheiro era um mundo para mim, e significava acesso não só a jogos incríveis, mas ao mundo mágico dos adultos que sabiam mexer naquelas máquinas
    Quando eu tinha 12 ou 13 anos, meu pai me deu a impressão de um programa em Turbo Pascal que calculava equações de raiz quadrada e mandou eu digitar e rodar; aquilo foi o começo da minha carreira em programação

  • Eu não tive a sorte de ter contato com computadores na infância, mas textos assim me deixam nostálgico especialmente por causa dos sons. Mesmo com recursos limitados, as pessoas daquela época conseguiam fazer coisas boas

  • Queria saber se mais alguém se lembra da arte de otimizar a configuração de inicialização do MS-DOS para liberar memória disponível e conseguir rodar jogos. Também lembro de ficar fuçando no gorillas.bas
    Para mim, isso provavelmente foi o que me fez querer aprender mais e experimentar. Eu gostaria de incentivar no meu filho uma exploração criativa parecida, mas não sei como isso seria possível no ambiente atual, em que esta geração é puxada por jogos e vídeos

    • Passei um número de horas maior do que gostaria de admitir mexendo em linhas DEVICE(HIGH), ajustando FILES= e BUFFERS= e rodando MEMMAKER.EXE repetidas vezes, como se algo fosse mudar. Mas o ponto principal era realmente fazer a máquina fazer o que eu queria, não o que o fabricante queria
      Para uma criança de hoje, eu provavelmente procuraria um jogo com uma API de modding razoável, algo que permita usar scripts como Lua e mostrar para os amigos, no multiplayer, o que ela criou
      Depois disso, seria bom passar para um pacote como LÖVE, em que ela possa continuar usando Lua, mas com controle sobre o jogo inteiro, ajudando a explorar e lidar com as coisas necessárias para realmente criar programação. Se mostrasse interesse por níveis mais baixos, eu ajudaria a se aprofundar, mas, como ponto de partida, modding e scripting parecem ser o melhor caminho
    • Faz muito tempo e está meio nebuloso, mas eu lembro um pouco. Também lembro de estragar os arquivos de configuração e sair correndo até a casa do vizinho para copiar um arquivo de configuração que funcionasse. Acho que era o Himem.sys
    • Sim. config.sys, autoexec.bat, EMS, HIGHMEM, os primeiros drivers da Sound Blaster, driver de mouse, driver de rede — tudo isso era uma dor de cabeça
      Acho que o mais difícil de fazer rodar era Quarantine, mas com certeza era um dos melhores jogos. Tinha uma imaginação absurda para a época, era um jogo australiano e ainda tinha músicas de bandas que depois ficaram famosas
      https://www.youtube.com/watch?v=QwO8XWbB1Pk&list=PLA5hK1g6CN... https://www.playdosgames.com/play/quarantine
  • Eu também comecei a usar computador cedo e gostava, além de ter tido um Nintendo, mas tenho sentimentos mistos sobre a atual onda anti-tela
    Meu filho ainda é bem pequeno e minha esposa quer evitar completamente telas. Eu não quero que ele use TikTok ou Facebook, mas estou pensando em comprar um Apple II ou montar um emulador de Raspberry Pi para jogarmos juntos aqueles joguinhos antigos, pequenos e offline

    • Nós também estamos exatamente nessa fase com as crianças
      Essa mentalidade rígida de “nada de tela” me parece uma espécie de alavanca genérica adotada por líderes não técnicos da área de bem-estar infantil, e eu entendo de onde isso vem
      Mas, como alguém que ganha a vida graças a ter podido mexer e experimentar com tecnologia desde cedo, eu enxergo uma abordagem mais equilibrada. Dá para montar uma máquina Linux separada da internet e deixar as crianças fuçarem à vontade. O Windows melhorou muito desde a época do XP, mas, na minha opinião, seguiu completamente na direção errada
      Assim, dá para evitar ficar preso aos ciclos psicológicos de repetição da Big Tech ou à máquina colorida de dopamina do YouTube, e acho que é justamente daí que vem a motivação real por trás do “nada de tela”. Exposição bem dosada é essencial
  • O bom da programação gráfica naquela época era que, se você desenhasse algo na tela, aquilo ficava lá até o programa apagar
    Isso tornava muito fácil criar gráficos legais. Por exemplo, se você calculasse os pontos de um círculo e os plotasse um a um, dava para ver na tela o círculo sendo desenhado
    As bibliotecas de gráficos “modernas”, provavelmente incluindo o SDL, passaram a exigir que a tela inteira fosse redesenhada a cada frame, o que dificultou essa abordagem, e para obter o mesmo efeito o programa precisa lembrar de todos os pontos que desenhou antes
    O fluxo de trabalho antigo tornava a programação gráfica realmente divertida, mas o pipeline de renderização rápido moderno é monótono e menos divertido. Essas coisas foram sugando, uma a uma, a diversão da computação

    • As chamadas bibliotecas gráficas de modo retido e modo imediato continuam existindo na maioria das plataformas, então é só escolher a que você quiser usar
    • Este texto encaixou de repente uma lembrança profunda
      Quando o IBM PC apareceu no começo dos anos 80, a placa gráfica da Hercules era uma coisa impressionante, melhor que a CGA. Na casa de um amigo do meu pai eu desenhei coisas como círculos com ela, e naquele computador os gráficos permaneciam na tela. Eu precisava descobrir como limpar a tela, mas no meu computador não havia placa Hercules, então isso não acontecia. Até hoje eu não entendia o que tinha acontecido, mas agora entendi
    • Faz muito tempo, mais de 10 anos, mas acho que no SDL era possível manter o conteúdo da tela se você não chamasse a função clear antes de renderizar conteúdo novo. Só não sei o quão bem isso funcionaria ao redimensionar a janela
    • O SDL é uma API de nível relativamente alto, e gráficos baseados em framebuffer também funcionam bem. Só pode haver alguns casos-limite interessantes em que surgem artefatos quando a janela é movida em gerenciadores de janelas X11 sem composição