Morre Thomas E. Kurtz, co-inventor do BASIC
(computerhistory.org)- 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
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 noGWBASIC.EXEe atormentava minha família e amigos com sons agudos usando código comoSOUND 2000+i, j; quando colocava isso em um loopWHILE WEND, virava um caos porque as pessoas não sabiam como desligarUm 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,LINEeCIRCLE, depois fiz upgrade para VGA, usei os 640x480 doSCREEN 12e criei programas que até tocavam som; graças ao BASIC tive uma infância incrívelDo 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
É 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
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
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,POKEe até assembler. Era realmente empolgante, e havia uma grande sensação de poder fazer algo por conta própriaObrigado, Thomas Kurtz
strncpy()copia aténbytes e inclui um byte nulo se houver um dentro desse limite, mas, se on-ésimo byte não for nulo, não adiciona um nuloEntão é preciso definir manualmente o último byte como 0, seja alocando
n+1bytes ou truncando on-ésimoO 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
INTera interrupção, não inteiroBrincar 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
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.
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.
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 ENDA 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.
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”
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
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
Por isso aparecem linhas como
F0R X=1 T0 1OOEm 1964 era realmente assim, ao contrário?
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
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
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
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
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
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