1 pontos por GN⁺ 2024-11-16 | 1 comentários | Compartilhar no WhatsApp
  • Thomas Eugene Kurtz foi um matemático e cientista da computação americano que, junto com John Kemeny, criou o BASIC e o Dartmouth Timesharing System; nasceu em 22 de fevereiro de 1928 e faleceu em 12 de novembro de 2024
  • No início dos anos 1960, faltava na computação acadêmica uma linguagem de programação para não especialistas que alunos de graduação pudessem usar com facilidade, e o BASIC foi criado para preencher essa lacuna
  • Kurtz e Kemeny também desenvolveram o DTSS para que os estudantes pudessem acessar o BASIC por meio de terminais Teletype no campus, e os dois sistemas foram lançados em 1º de maio de 1964
  • No outono de 1964, centenas de estudantes já usavam o BASIC em 20 terminais no campus de Dartmouth, e depois disso ele se espalhou por várias gerações de computadores
  • A influência de Kurtz se estendeu à educação e à operação de computação em Dartmouth, à padronização do BASIC e à fundação da True BASIC, e ele foi nomeado ACM Fellow em 1994

BASIC e o Dartmouth Timesharing System

  • Thomas Eugene Kurtz co-inventou a linguagem de programação BASIC e o Dartmouth Timesharing System (DTSS) com John Kemeny
  • No ambiente de computação acadêmica do início dos anos 1960, faltava uma linguagem de programação simples para não especialistas que estudantes de graduação pudessem usar, e o BASIC foi criado pensando nesse público
  • Os dois também desenvolveram o DTSS para disponibilizar o BASIC aos estudantes do campus
    • O DTSS era uma forma de compartilhar o acesso ao computador por meio de uma rede
    • Era necessária uma base assim para que vários estudantes pudessem acessar o BASIC
  • O DTSS se estabeleceu como um dos primeiros sistemas de time-sharing de grande escala bem-sucedidos
    • A General Electric, que havia doado um computador para Dartmouth, expandiu o DTSS como kernel de serviços online como o Genie
    • O DTSS e o BASIC foram lançados em 1º de maio de 1964
    • No outono de 1964, centenas de estudantes usavam o BASIC em 20 terminais no campus

Formação e experiência inicial em computação

  • Kurtz nasceu em Oak Park, Illinois, formou-se no Knox College em 1950 e obteve o doutorado em matemática pela Princeton University em 1956
  • Em 1951, ele teve a oportunidade de usar o computador SWAC na UCLA
    • O SWAC era o Standards Western Automatic Computer, criado pelo National Bureau of Standards
    • Foi um dos primeiros computadores eletrônicos dos Estados Unidos, supervisionado por Harry Huskey, CHM Fellow de 2013

A expansão do BASIC e a era do computador pessoal

  • O BASIC continuou sendo usado em várias gerações de computadores
    • Mainframes e minicomputadores dos anos 1960
    • Microcomputadores das décadas de 1970 e 1980
    • Os atuais computadores Raspberry Pi do tamanho de um cartão de crédito
  • Em 1978, os estudantes de Harvard Bill Gates e Paul Allen escreveram a primeira versão do BASIC para o microcomputador hobbyista MITS Altair 8800
    • Esse BASIC transformou o Altair, que era apenas uma caixa piscante com quase nenhum recurso, em um computador útil
    • A popularidade do BASIC voltou a crescer muito na era do computador pessoal

Atuação educacional e organizacional em Dartmouth

  • Kurtz teve longa atuação na educação e na operação de computação em Dartmouth
    • Trabalhou como director do Kiewit Computation Center de 1966 a 1975
    • Foi director do Office of Academic Computing de 1975 a 1978
    • Em 1979, organizou com Stephen J. Garland o programa profissional de mestrado em Computer and Information Systems, com parte do financiamento vindo de uma bolsa da IBM
  • Em 1983, fundou a True BASIC, Inc. com Kemeny e três ex-alunos de Dartmouth
    • O objetivo era desenvolver software educacional de qualidade e um compilador BASIC independente de plataforma
    • Após o fim do programa CIS, voltou a lecionar em 1988 e se aposentou de Dartmouth em 1993

Padronização do BASIC e contribuições à computação acadêmica

  • Kurtz participou de várias organizações de computação acadêmica e atividades de padronização
    • Atuou como council chairman e trustee da EDUCOM
    • Participou do Pierce Panel do President's Advisory Committee
    • Participou de dois steering committees de iniciativas apoiadas por NSF e ARPA
    • Presidiu a primeira conferência CCUC dedicada à instructional computing
  • Também teve papel central na padronização do BASIC
    • Contribuiu para a formação do comitê American National Standards committee X3J2, que criou o padrão ANSI do BASIC, e presidiu o grupo de 1974 a 1985
    • Atuou como membro do comitê ISO SC22/WG8, responsável pelo padrão internacional do BASIC, e foi convener de 1987 a 1993
    • Foi nomeado ACM Fellow em 1994

1 comentários

 
GN⁺ 2024-11-16
Comentários do Hacker News
  • 96 anos; ele viveu uma vida plena. RIP
    Por volta de 1986~1990, na antiga Bangalore, quando eu tinha 12 anos, usei muito QBASIC; na Índia daquela época não havia Mac, Unix nem Windows, só MSDOS
    Eu colocava um disquete de 5,25 polegadas em um 386, dava boot com command.com, entrava no GWBASIC.EXE e atormentava minha família e amigos com sons agudos usando código como SOUND 2000+i, j; quando colocava isso em um loop WHILE WEND, virava um caos porque as pessoas não sabiam como desligar
    Um dia, de repente, em vez do DOS veio o MS WINDOWS 3.1, era preciso colocar uma bolinha branca no mouse e clicar em ícones; o GWBASIC desapareceu e vieram o QBASIC e o jogo da cobrinha
    Eu desenhava no CGA com SCREEN 2, LINE e CIRCLE, depois fiz upgrade para VGA, usei os 640x480 do SCREEN 12 e criei programas que até tocavam som; graças ao BASIC tive uma infância incrível
    Do BASIC fui para CLIPPER e FOXPRO, fiz um sistema de controle de estoque em FOXPRO e recebi rúpias de verdade por isso; depois passei por MFC e Borland C++ e cheguei até hoje, mas tudo começou com BASIC. Obrigado, Dr. Kurtz

    • Comigo foi parecido: BASIC em um 286 foi minha primeira linguagem de programação, e devo muito a ele
      É interessante você citar especificamente o GWBASIC; para mim também era o BASIC a que eu tinha acesso, e acho que essa variante não era tão popular nos EUA
      Também aprendi CLIPPER e criei várias ferramentas e apps de negócios com ele; isso também parece ter se espalhado de forma bem regional
  • A primeira linguagem em que aprendi a programar foi BASIC. Ao projetar D, lembrei como o tratamento de strings em BASIC era fácil e natural, e como o tratamento de strings em C é um pântano cheio de bugs
    Fazer strings serem fáceis e corretas em D foi uma grande prioridade, e acho que, como a história mostra, isso foi bem-sucedido
    Quando reviso código C, a primeira coisa que olho é o tratamento de strings, porque a chance de encontrar bugs ali é quase certa. Para quem discorda: sem pesquisar, você consegue dizer como strncpy() lida com terminação em 0?
    Obrigado, Thomas Kurtz

    • Ai, por volta de 1987, na juventude imprudente, talvez eu tenha te insultado sem querer ao escolher uma linguagem para um sistema embarcado/robótico
      Pelo telefone, acho que perguntei sobre, hum, C; você respondeu educadamente, mas parecia estar cerrando os dentes
      Acabei escolhendo C, e aquele sistema operacional foi parar nesta coisa: https://www.youtube.com/watch?v=u8ZEUwwOYxo&t=72s
      Até hoje eu me encolho quando lembro daquela ligação
    • BASIC era a linguagem que as revistas ofereciam a quem queria testar ideias nos novos microcomputadores
      Dezenas de milhares de pessoas, talvez, digitavam aquelas páginas ao mesmo tempo, e algumas devem ter ficado felizes por terem feito aula de datilografia no ensino médio
      Então vinha o “quero tentar fazer isso”, e, tendo sucesso ou procurando um BASIC mais poderoso, a pessoa acabava chegando a PEEK, POKE e até assembler. Era realmente empolgante, e havia uma grande sensação de poder fazer algo por conta própria
      Obrigado, Thomas Kurtz
    • Pensei a mesma coisa em um código embarcado em que estou trabalhando recentemente. Se até um Z80 com 4 KB de ROM e 16 KB de RAM estática conseguia lidar com strings em BASIC, não entendo por que deveríamos suportar strings em C em um ARM de 48 MHz
    • Li seus comentários várias vezes no HN, mas não sabia que você era o criador de D
    • Meu melhor palpite: strncpy() copia até n bytes e inclui um byte nulo se houver um dentro desse limite, mas, se o n-ésimo byte não for nulo, não adiciona um nulo
      Então é preciso definir manualmente o último byte como 0, seja alocando n+1 bytes ou truncando o n-ésimo
  • O legado do BASIC é enorme. Quando criança, tive a sorte de usar um Atari 800XL e aprendi BASIC porque o hardware vinha com uma ROM de BASIC
    Era fácil o bastante para que uma criança sem absolutamente ninguém por perto que entendesse de computadores pudesse aprender só com os programas de exemplo no fim do manual
    Nunca conheci Kurtz pessoalmente, mas devo muito àquela linguagem por me dar acesso à criatividade quase infinita que computadores e programação ofereciam
    Não era a melhor linguagem para trabalhos grandes e complexos, mas era suficiente para uma criança criar aventuras em texto e acender pixels na tela. Só uns 10 anos depois descobri que INT era interrupção, não inteiro
    Brincar com TI-BASIC na adolescência, fazendo joguinhos de calculadora para a aula, também teve uma boa influência na minha formação como desenvolvedor e foi meu primeiro exemplo daquela experiência frequente na programação de “igual, mas diferente”. Por sorte, isso também acabou levando a uma carreira inicial em desenvolvimento de jogos
    Antes de ontem eu provavelmente não reconheceria o nome Thomas E. Kurtz, mas só de ouvir BASIC já me vêm dezenas de boas lembranças. Ainda tenho o Atari 800XL da minha infância e acho que agora vou me lembrar dele toda vez que olhar para a máquina

    • Eu também. Só que foi Commodore 64 BASIC
  • Se minha memória não falha, escrevi minha primeira linha de BASIC em 1976.
    Eu tinha 15 anos e fui com meu pai a uma feira de negócios, onde alguém no estande da IBM me convidou a experimentar um jogo de pouso na Lua. Era um IBM 5100.
    Perguntei ao meu pai o que acontecia com os caracteres que rolavam para cima na tela e desapareciam; meu pai, que não tinha nenhum interesse por tecnologia, pediu a um engenheiro da IBM que explicasse. Naquele momento soube que esse era o meu caminho e escrevi ali mesmo minhas primeiras linhas de BASIC.
    No ano seguinte, no estande da Hewlett Packard, fiquei fascinado ao ver uma máquina que parecia ser um HP-9825A desenhando figuras de Lissajous com um plotter.
    No ano depois disso, trabalhei em todas as férias para comprar um HP-25 e, no ano seguinte, consegui um TRS-80 Model 1 Level II e comecei a programar em BASIC.
    Na época eu sabia tão pouco que cheguei a achar que, se comprasse o Editor/Assembler, a resolução da tela aumentaria.
    Depois usei Megamax C e GFA BASIC no Atari ST, e passei por várias linguagens no PC.
    O que sempre me espanta é que algumas pessoas criaram, em apenas alguns dias, semanas ou meses, linguagens que milhões de pessoas usariam por toda a vida. É uma influência enorme.
    Sr. Kurtz, talvez o senhor não tenha criado a melhor linguagem, mas o que criou deu alegria e inspiração a uma geração de jovens programadores. Essa alegria parece um tanto apagada hoje em dia, mas talvez haja uma exceção se você estiver programando em Rust.

    • Em 1976, você viveu o meu sonho. Comecei a programar aos 14 anos no PLATO SYSTEM da University of Illinois.
      Era um sistema com telas de plasma e 1.000 terminais, com uma rede social, airfight, precursor do Microsoft Flight Simulator, e pedit5/dnd, o primeiro jogo de masmorra.
      Eu cortava grama e queria muito comprar uma calculadora HP-25 ou SR-52, ou então meu próprio computador, como um IMSAI 8080.
      Mais tarde, fiz o PLATO simular um jogo de futebol americano de bolso e também escrevi programas BASIC em um interpretador de brinquedo, mas não havia como salvar os programas quando a sessão terminava.
  • Em 2010, entrevistei Thomas Kurtz em sua casa para minha tese de doutorado sobre a visão de computer utility das décadas de 60 e 70.
    Essa visão antecipava um mundo em que grandes utilities de computação, como a AT&T ou as companhias de energia elétrica, ofereceriam serviços eletrônicos.
    Ele já havia se aposentado há muito tempo, mas ainda morava nas colinas de New Hampshire, perto de Dartmouth; não consigo encontrar agora minhas anotações da entrevista, mas lembro que ele foi extremamente gentil e hospitaleiro.
    O que ele e John Kemeny fizeram em Dartmouth foi realmente extraordinário. Para eles, a tecnologia — isto é, o timesharing e o BASIC — era um meio de educar e empoderar estudantes e, em última instância, fortalecer a sociedade como um todo.

    • Se não for incômodo, eu gostaria de ler essa tese de doutorado.
      Obrigado por compartilhar. Estou ansioso para ler.
  • Tom Kurtz, John Kemeny e o BASIC também mudaram minha vida.
    Escrevi meu primeiro programa em BASIC em 1970 e, a partir do ano seguinte, no ensino médio, passei horas programando em BASIC diante de um Model 33 Teletype na sala de computadores da escola, por meio do sistema de timesharing HP-2000 do distrito escolar.
    Acabei decidindo ir para Dartmouth por causa de sua filosofia de computação para alunos de graduação.
    Naquela época, qualquer forma de acesso a computadores era algo enorme, e ser capaz de programar era uma habilidade que distinguia claramente alguém dos colegas em candidaturas à pós-graduação ou a empregos.
    Por isso sinto que continuo surfando até hoje aquela onda do início dos anos 1970, mesmo com a explosão de pessoas habilidosas nas gerações mais jovens.
    Foi um período incrível e breve. Se eu tivesse 13 anos hoje, não sei bem qual tecnologia semelhante empurraria alguém para a frente com tanta facilidade.
    Meu primeiro programa foi este: 10 LET N=5^2.5, 20 PRINT N, 30 END
    A resposta, um valor um pouco acima de 55, pareceu uma revelação. Como eu não conhecia logaritmos na época, o significado de um expoente fracionário era um completo mistério, e tive de perguntar ao meu professor de matemática o que a resposta significava.

    • Eu ia perguntar como resolver isso, porque minha matemática escolar está enferrujada, mas acabei pesquisando.
      Digitei “5 to the power of 2.5” e, depois de alguns cliques, apareceu na caixa de busca um resultado de ‘math solver’ como este: https://www.google.com/search?q=5%5E(2.5)
      Havia também um botão mostrando os passos da solução, e uma resposta no Quora apresentava duas formas de resolver usando as leis dos expoentes.
      Legal. Agora preciso revisar de novo a matemática da escola.
  • Será que poderíamos colocar uma barra preta de luto em homenagem ao Dr. Kurtz?
    O legado do BASIC no nosso setor dificilmente pode ser exagerado. Aquela linguagem e aquela missão em Dartmouth foram revolucionárias
    Em especial, só o fato de ter sido a primeira linguagem de programação com que inúmeros novos usuários de computadores tiveram contato no alvorecer dos computadores pessoais já teve efeitos secundários incalculáveis
    Acabei ficando nostálgico; aqui está a referência do Dartmouth BASIC de 1964: http://web.archive.org/web/20120716185629/http://www.bitsave...
    É realmente fascinante e dá para sentir um pouco da atmosfera da época
    Gosto especialmente da frase na página 21: “TYPING IS NO SUBSTITUTE FOR THINKING”

    • Esse manual foi realmente um grande achado. O Dr. Kurtz estava à frente de seu tempo ao ter, muito antes da revolução dos microcomputadores, o objetivo de levar a computação ao público em geral
      O BASIC foi uma rampa de entrada fácil para a programação e levou inúmeras pessoas à computação, incluindo crianças dos anos 70 e 80 como eu. Ele ajudou a construir o futuro tanto quanto qualquer um
    • Para mim também, o legado foi enorme. Quando criança, eu digitava código BASIC à mão em um “computador” TI ligado à única TV da casa
      Como não havia drive de disco para salvar, eu colocava etiquetas nos cabos torcendo para que ninguém desligasse da tomada
      Alguns anos depois, durante o boom das pontocom, consegui meu primeiro emprego usando VB, ainda como calouro na faculdade, e isso literalmente mudou minha vida, colocando-me em um caminho para uma situação melhor do que a dos meus pais
    • No manual, os símbolos do número 0 e da letra O estão trocados
      Por isso aparecem linhas como F0R X=1 T0 1OO
      Em 1964 era realmente assim, ao contrário?
    • Ao escrever “The legacy of BASIC on our industry can hardly be understated”, a expressão que você provavelmente procurava era “can hardly be overstated”
      Se a ideia é dizer que o legado do BASIC é enorme, o correto é que seria difícil exagerar, digam o que disserem
      “couldn't be understated” acabaria significando que, por mais insignificante que você dissesse que ele é, isso ainda seria verdade. Acho que não era essa a intenção
      Portanto, o comentário do emptiestplace não merecia tantos downvotes assim
    • Demorou um dia, mas foi bem sinistro estar respondendo a outro thread e, de repente, a página ser atualizada com a barra preta, me deixando tentando desesperadamente entender o que tinha acontecido nos poucos minutos em que eu estava digitando
  • Como muitos programadores da minha geração, a primeira linguagem que aprendi foi BASIC
    Nos anos 80 e 90, BASIC estava realmente em toda parte, e quase todo computador vinha com alguma forma de BASIC
    Até o livro de matemática da 6ª série tinha um apêndice com jogos matemáticos educativos em forma de listagens de código-fonte BASIC
    Adeus, e obrigado pelos peixes, Dr. Kurtz

    • Acabei usando várias variantes de BASIC, porque diferentes discos de boot traziam versões diferentes
      As que me vêm à cabeça de imediato são BASIC, BASICA e QBASIC, mas hoje já não lembro as diferenças entre as variantes
    • Por que “thanks.*fish”? Piadas com regex à parte
      Sei que essa expressão existe e já a li, mas queria ouvir a explicação de uma pessoa em vez de recorrer ao Google
  • Eu também comecei a programar com BASIC
    Primeiro foi no Apple ][ da escola, depois tive um Vic-20 em casa
    Muitos dos jogos mais legais para o Vic-20 não eram lá muito educativos, porque consistiam em digitar, direto de revistas, enormes quantidades de dados inteiros
    Depois tive acesso a um sistema HP com Rocky Mountain BASIC, que era um sistema bem excelente
    Alguns anos mais tarde, consegui minha primeira experiência profissional como testador em um projeto de port do RM BASIC para HP/UX, e cerca de 5 anos depois voltei ao RMB ao criar um sistema de gerenciamento de testes de produção chamado Functional Test Manager
    Alguns dias atrás até almocei com uma pessoa com quem trabalhei naquela época. Escrevendo isso, percebo que o BASIC foi uma parte central da minha carreira. Descanse em paz, Thomas

  • O interessante é que uma das razões pelas quais Pascal foi ridicularizado eram as limitações do sistema original e as incompatibilidades entre as implementações que chegaram ao mercado
    Já o BASIC pode ser visto como a espinha dorsal da indústria de minicomputadores e microcomputadores por 20 anos, embora suas implementações e funcionalidades fossem realmente muito variadas
    Os BASICs que usei não eram compatíveis entre si, exceto pelo básico, como expressões e tipos de dados centrais, e até nesse básico o tratamento de strings era diferente em cada um

    • A diferença é que BASIC era uma linguagem interpretada e, naquela época, considerava-se que linguagens desse tipo eram inevitavelmente não portáveis e úteis apenas para educação e sistemas pequenos
      Na prática, também não há grandes softwares escritos na versão original de Pascal
      Pascal foi projetada como uma linguagem compilada com potencial para escrever sistemas de grande porte, mas tinha limitações sérias nesse aspecto
    • Acho que as expectativas em relação a BASIC e Pascal eram diferentes
      BASIC era uma linguagem educacional e, embora as pessoas a tenham levado ao limite para criar sistemas de produção, todos ainda sabiam que era uma linguagem educacional que tinha crescido demais
      Ela também foi usada para trabalhos sérios, mas era uma linguagem “de brinquedo”, e ninguém esperava que programas sérios escritos em BASIC fossem portáveis
      Pascal também começou como linguagem educacional, mas era vista como uma linguagem muito mais “séria” e, de fato, tinha estruturas de controle muito melhores que as do BASIC
      Mas ela não atingiu o padrão criado por essas expectativas, pelos motivos já mencionados
      A mesma aplicação escrita em BASIC poderia ter sido escrita em Pascal? Quase certamente. Teria sido melhor fazer assim? Com certeza
      A diferença provavelmente é que BASIC era mais acessível. Uma criança de 10 anos conseguia brincar com ela, enquanto Pascal era mais coisa de universitário
      Por isso, expectativas mais altas foram depositadas em Pascal, e o mesmo tipo de limitação parecia uma quebra maior dessas expectativas