O Logo é uma tecnologia obsoleta?
Esta é uma discussão que foi mantida na comp.lang.logo (e na correspondente
lista de discussão por e-mail de 16 de novembro a 2 de
dezembro, em 1998. A discussão, intitulada O "Logo é uma
tecnologia obsoleta?", iniciou-se através da seguinte
mensagem:
De Ken Kahn:
Eu me recordo de um encontro de um grupo de Logo no MIT em 1977 no
qual Seymour Papert descreveu o Logo como uma tentativa de tomar as
melhores idéias da ciência da computação e torná-las acessíveis para as crianças. A maioria daquelas idéias vieram da linguagem de programação Lisp. Eu penso que essa foi uma escolha admirável quando foi feita, há trinta anos.
A ciência da computação avançou e o Logo dificilmente sofreu qualquer transformação.
Realmente, a LCSI MicroWorlds Logo acrescenta algumas
criações de interface de usuário agradáveis e uma forma muito aperfeiçoada de rodar programas em paralelo. (Programas concorrentes não podem realmente ser sincronizados e podem apenas se comunicar através de variáveis globais.)
A StarLogo toma de empréstimo idéias da
ciência da computação, mas seu modelo SIMD de computação não é flexível o suficiente para a ampla variedade de coisas que as crianças
provavelmente desejarão que os programas de computação façam.
Ela é uma boa coisa apenas quando lida com problemas que são, naturalmente, "dados paralelos". A ObjectLogo e a MultiLogo foram tentativas de tomar de empréstimo da ciência da computação, respectivamente, programação orientada para objetos e processamento paralelo. Mas elas
não conseguiram seus objetivos.
O Logo foi uma boa tentativa de "planejamento para crianças" das idéias da Lisp.
E mais aplicações modernas do Logo perduraram um pouco incluindo menus, botões, mouse, janelas e coisas semelhantes. Mas aqui a Logo está tentanto apenas compreender sistemas como o Visual Basic.
E ambos os sistemas são falhos quando comparados à facilidade de uso das interfaces do usuário em computadores e videogames.
Durante os últimos 20 anos eu tentei, por quatro vezes, criar um novo e melhor sistema de programação para crianças que compartilhasse a visão pedagógica/epistemológica/construtivista do Logo. Todas as vezes eu tentei seguir os objetivos originais do Logo através do "planejamento para crianças" das melhores idéias da ciência da computação.
Primeiramente eu tentei introduzir programação orientada para objetos (o Smalltalk 72 estava fazendo o mesmo, mas era um segredo corporativo naquela época). Então, a programação lógica. Depois, a programação visual.
O ToonTalk (www.ToonTalk.com)
é minha tentativa mais recente. Ele é
baseado no que eu chamo de "programação animada", na qual a criança
faz toda a sua programação através da manipulação de objetos concretos
dentro de um mundo animado similar a um game. O ToonTalk é uma
linguagem de uso geral na qual a criança programa treinando robôs, dando
mensagens para que Pombos as entreguem, manipulando caixas, grupos
de textos e de números, utilizando ferramentas animadas, carregando
caminhões, entre outras coisas. A criança é um personagem neste mundo e
pode até mesmo voar em seu helicóptero para viajar entre casas ou para
ter uma vista geral do andamento de sua computação.
O ToonTalk toma de empréstimo idéias da ciência da computação acerca
de como programar com processos independentes de comunicação. Tudo
ocorre em paralelo no ToonTalk. Existem modos de expressar a geração,
comunicação, sincronização e término de processos. Ele também toma
empréstimos da pesquisa de programação visual e exemplonstrativa.
A evidência anedótica é
que as crianças apreciam o ToonTalk e o dominam com relativa
rapidez.
(Vide www.ToonTalk.com/English/users.htm) Um grande projeto de pesquisa pan-europeu acabou de se iniciar no princípio do mês, que irá construir o que nós chamamos
"playgrounds" sobre o ToonTalk e o Logo (vide www.ioe.ac.uk/playground). Ele planeja fazer estudos cuidadosos
acerca de crianças utilizando ambos os sistemas. Eu estou quase apostando que o ToonTalk despontará primeiro.
Eu penso que o Logo é uma grande coisa – apenas creio que
poderia haver muito mais do que ele é.
Saudações,
-Ken
De Ken Kahn:
Eu recebi uma réplica ao meu mail de Wen Su (wens@ncct.sps.mot.com) e com a permissão dele estou enviando sua mensagem e minha
resposta a ela.
Wen Su escreveu:
Deveria apenas a nova geração de programação concorrente para
aprendizado e programação de estilo declarativo omitir
completamente a programação seqüencial "tradicional"?
Esta é uma grande questão. Se a resposta for sim, a abordagem
do ToonTalk é definitivamente o caminho a seguir, não havendo
nenhuma dúvida a respeito. Em minha opinião, é mais fácil para a
maioria das pessoas adotar o estilo de programação declarativa do
que o estilo de programação concorrente. Por exemplo, a SQL,
como utilizada em bancos de dados, é declarativa. Ela começa a ser
utilizada universalmente nos dias de hoje. Ninguém poderia dizer que
as bases de dados relacionais são, atualmente, lentas; as pessoas
apenas se preocupam acerca da "produtividade" que ela tem para
oferecer.
Esta é uma grande questão, eu concordo. Eu considero valioso que
as crianças aprendam diferentes paradigmas de programação. Entre eles estão:
1. Linguagens concorrentes orientadas para objetos como o
ToonTalk. 2. Linguagens de procedimentos seqüenciais como o Logo. 3. Linguagens de programação lógicas ou declarativas
como a Prolog. (Vide a recente mensagem de Brian Harvey. Eu deveria talvez clarificar que embora o ToonTalk tenha tomado de
empréstimo muitas idéias da programação lógica, ele não possui a busca agradável e as capacidades subjacentes de
rodar programas da Prolog que Brian descreveu.) 4. Paralelismo de dados como a StarLogo. 5.Outras. Talvez
programação funcional pura. Ou sistemas de produção como o Stagecast Creator (anteriormente conhecido como KidSim e
Cocoa).
Embora eu creia que em um mundo ideal as crianças devessem
aprender todas estas diferentes formas de pensamento acerca da
programação, o mundo real tem recursos limitados. Se eu tivesse de
priorizar estas formas de pensar a respeito da programação, eu me
fixaria na ordem que listei acima. Outras pessoas podem preferir
outras ordens. Que critérios deveríamos empregar para decidir a
questão? Naturalidade? Generalidade? Escalabilidade? Elegância?
Popularidade atual entre os programadores profissionais?
Popularidade entre cientistas da computação? Outra questão é: qual
delas deve ser aprendida primeiro? E qual delas tem as melhores
chances de ser útil para compreender ou solucionar problemas em
outros domínios além da computação?
Quando eu li uma mensagem em seu
web site: "Axioma 1: quanto mais você sabe sobre C/C++,
menos você sabe acerca do ToonTalk, eu sorri, mas
não posso concordar mais do que isso. Isto me recorda um
ditado de tempos atrás, quando C++ e object C estavam sendo
apresentadas: uma pessoa que gosta de Object C tende a não
apreciar C++, e viceversa. Eu espero que algo similar não
ocorra para Logo e ToonTalk: uma pessoa que aprecia Logo tende a
não gostar do ToonTalk, e viceversa
. Isso é apenas uma piada,
aqui.
Falando sério,
entretanto, eu creio que existe uma força que opera
atrás disto: muitas pessoas "médias" tendem
a gostar do que já conhecem, mesmo embora o que elas
já conhecem não seja tão bom quanto a coisa
nova. Se isto for verdadeiro, tal fato trabalhará contra a
aceitação do ToonTalk, pois as idéias do Logo
são mais familiares para a maioria das pessoas (especialmente
para os assim chamados professores de tecnologia). Por outro lado, o
ToonTalk
pode ser mais atraente para as crianças. Se o ToonTalk puder
ser tão divertido quanto, digamos, SNE's ZELDA LTP, ou o Zelda-64
que será lançado em uma semana ou duas, ele definitivamente
poderá ganhar a "guerra". Mas aqueles "cachorros velhos" da
tecnologia (talvez eu seja um deles, pois fui treinado para ser um
programador C) podem estar no caminho, e seja necessário
encontrar uma estratégia para fazê-los se sentir em casa neste novo ambiente.
Eu concordo que muitas pessoas apreciam o que elas já conhecem.
Isto pode significar que os professores não darão ao ToonTalk a
oportunidade que ele merece. Mas que você destaque o que atrai as
crianças também é importante aqui. O Nintendo SNES's Zelda foi
uma fonte de idéias e inspiração para a construção do ToonTalk. Eu
não imagino que me aproximei do charme e apelo daquele jogo, mas
creio que me aproximei mais do que qualquer outro programa
"educacional" de que eu tenha conhecimento.
Esta é apenas a reflexão de um novato. Eu ainda estou lendo os
dados acerca do ToonTalk em seu web site e posso decidir a
solicitar uma cópia dele. Meu filho de 10 anos de idade está
familiarizado com o MicroWorlds e posso desejar que ele jogue Toon
Talk algum dia. Zelda LTP no SNS foi seu jogo amado quando ele
tinha cerca de 7 anos. Nestes dias, ele tem jogado os assim
chamados jogos de estratégia em tempo real no PC.
Saudações,
- Wen Su
Grato por seus criteriosos comentários.
Grato,
- Ken Kahn
De Ehud Lamm:
"ToonTalk versus Logo". Antes de dizer mais uma palavra, devo
admitir que ainda não chequei o site do ToonTalk. Mas...
Certa vez eu pensei em fazer um pequeno experimento e escrever
um artigo comparando como as pessoas "pensam" com o TIM (The Incredible Machine, um jogo de computador) e como elas pensam com o Logo.
Eu acredito que, além de tudo o mais, uma das maiores forças do Logo é que ele é uma linguagem.
Quando eu considero o modo pelo qual meu pensamento se
transformou através dos anos, creio que o ponto mais crucial foi a
compreensão do conceito de LINGUAGEM. Este conceito e a
sensação intuitiva que eu tenho dele me auxiliaram a estudar ciência da computação, e também a refletir sobre outras questões.
O Logo foi uma das minhas primeiras exposições à linguagem. Na realidade, uma linguagem de computação, e não uma língua humana, mas não
menos uma linguagem onde você tem de tentar colocar uma sintaxe
linear em suas idéias. Um sistema no qual a semântica está unida à
sintaxe.
Eu também penso que sendo uma linguagem de computador, o Logo
presta auxílio ao fornecer um bom método para estruturar algoritmos em partes auto-contidas e na construção de estruturas complexas.
Eu procurei por outras idéias (e há muitas idéias na tentativa de descobrir um método mais adequado para programar um
computador, além de utilizar uma linguagem de computador) e fiquei
sempre insatisfeito. Eu queria a flexibilidade, generalidade e
elegância do Logo.
Eu penso que a grande coisa acerca do Logo é que ela não é
realmente um ambiente protetor. Ela é REAL. Você pode obter
labirintos infinitos, você pode causar danos. Você tem a coisa real
sob suas mãos. As crianças não deveriam pagar por menos.
(Nota: Este texto não é contra o ToonTalk, sobre o qual, como disse,
não sei nada. É apenas um comentário geral sobre as linguagens de
computador como superiores a qualquer outra forma de
ensinar as crianças através de computadores).
(Segunda Nota. Isto está de certa forma conectado ao tema do
aprendizado "Hands-On". Uma curta exposição sobre este tópico
pode ser encontrada nos arquivos de meu Web site.)
Ehud Lamm (mslamm@mscc.huji.ac.il)
http://www2.cybercities.com/e/ehud - Algo do trabalho de MIScologista.
De Ken Kahn:
Ehud Lamm escreveu na mensagem...
"Certa vez eu pensei em fazer um pequeno experimento e
escrever um artigo comparando como as pessoas `pensam´ com o
TIM (The Incredible Machine, um jogo de computador) e como elas
pensam com Logo."
Parece interessante. Eu o lerei, se você escrevê-lo.
"Eu acredito que, além de tudo o mais, uma das maiores forças do Logo é que ele é uma linguagem.
Quando eu considero o modo pelo qual meu pensamento se
transformou através dos anos, creio que o ponto mais crucial foi a
compreensão do conceito de LINGUAGEM.
Este conceito, e a sensação intuitiva que eu tenho dele, me auxiliaram a estudar ciência da computação, e também a refletir sobre outras questões.
Logo foi uma das minhas primeiras exposições à linguagem.
Na realidade, uma linguagem de computação, e não uma língua humana, mas não menos uma linguagem onde você tem de tentar colocar uma sintaxe linear em suas idéias.
Um sistema no qual a semântica está unida à sintaxe."
Aqui é talvez o ponto em que precisamos de alguns filósofos para nos aprofundar.
Por algum tempo, linguagens de sinais não eram
aceitas totalmente como linguagens – e agora são.
As pessoas falam acerca da linguagem de um filme (referindo-se à sintaxe de close-ups, cortes, dissoluções etc.) É o ToonTalk realmente uma linguagem?
Ele tem uma sintaxe, muito menos uma linear? Eu não estou certo que linguagem é a melhor palavra para descrever o ToonTalk, mas estou seguro de que ele compartilha as propriedades interessantes que as linguagens de programação possuem.
Eu também penso que sendo uma linguagem de computador, o
Logo presta auxílio ao fornecer um bom método para estruturar
algoritmos em partes auto-contidas, e na construção de estruturas complexas.
Idem para o ToonTalk.
"Eu procurei por outras idéias (e há muitas idéias na tentativa de descobrir um método mais adequado para programar um
computador, além de utilizar uma linguagem de computador), e fiquei
sempre insatisfeito.
Eu queria a flexibilidade, generalidade e elegância do Logo."
O ToonTalk é flexível e genérico. Eu o considero elegante também.
"Eu penso que a grande coisa acerca do Logo é que ela não é
realmente um ambiente protetor. Ela é REAL. Você pode obter
labirintos infinitos, você pode causar danos.
Você tem a coisa real sob suas mãos. As crianças não deveriam pagar por menos."
Eu concordo e o ToonTalk é real da mesma forma que o Logo o é.
Saudações,
- Ken Kahn (www.ToonTalk.com)
De Ehud Lamm:
Na quinta-feira, 26 de novembro de 1998, Ken Kahn escreveu:
" Ehud Lamm escreveu na mensagem...
"Certa vez eu pensei em fazer um pequeno experimento e
escrever um artigo comparando como as pessoas `pensam´ com o
TIM (The Incredible Machine, um jogo de computador) e como elas
pensam com o Logo."
Parece interessante. Eu o lerei, se você escrevê-lo."
Talvez eu tenha tempo para escrevê-lo. Se o fizer, você saberá!
"Eu acredito que, além de tudo o mais, uma das maiores forças do Logo é que ele é uma linguagem.
Quando eu considero o modo pelo qual meu pensamento se
transformou através dos anos, creio que o ponto mais crucial
foi a compreensão do conceito de LINGUAGEM. Este conceito e a
sensação intuitiva que eu tenho dele me auxiliaram a
estudar ciência da computação, e também a
refletir sobre outras questões. O Logo foi uma das minhas
primeiras exposições à linguagem. Na realidade,
uma linguagem de computação, e não uma
língua humana, mas não menos uma linguagem onde
você tem de tentar colocar uma sintaxe linear em suas
idéias. Um sistema no qual a semântica está
unida à sintaxe."
Aqui é talvez o ponto em que precisamos de alguns filósofos para nos aprofundar. Por algum tempo, linguagens de sinais não eram
aceitas totalmente como linguagens – e agora são.
As pessoas falam acerca da linguagem de um filme (referindo-se à sintaxe de close-ups, cortes, dissoluções etc.) É o ToonTalk realmente uma linguagem?
Ele tem uma sintaxe, muito menos uma linear? Eu não estou certo que linguagem é a melhor palavra para descrever o ToonTalk, mas estou seguro de que ele compartilha as propriedades interessantes que as linguagens de programação possuem."
Eu tendo a me considerar mais como filósofo do que qualquer outra
coisa (mesmo sendo meu campo de trabalho e estudos a ciência da
computação, até agora.)
Eu não tentarei definir o que a linguagem é, desde que essa é
realmente uma questão árdua. Mas eu penso que algumas das
observações são inadequadas.
A linguagem de sinais era considerada uma forma não-verbal,
abaixo da comunicação humana, até que se atentasse para as
pessoas que tentassem aprendê-la, e se descobrisse que ela possui
as complexidades das outras linguagens. Veja o livro de Oliver Sack
a respeito, e se você estiver interessado em mais detalhes, vide
Ursula Bellugi (a grafia está incorreta, tenho certeza. Desculpe).
Mas não é impossível ver claramente quando o termo linguagem é
usado literalmente e quando é utilizado metaforicamente. "A
Linguagem do Cinema" não é o mesmo que a "Linguagem utilizada
na França". Os conceitos não são os mesmos.
O que eu considero importante em linguagens de programação é que tenham uma sintaxe clara (mesmo quando gráfica) e semântica clara.
Eu também quero algumas das coisas com as quais estamos
habituados em linguagens de programação, tais como suporte para
estruturas de controle comuns (Looping, ramificações, recursão) e estruturas de dados (tabelas são excelentes!)
Uma das características básicas que têm as linguagens é a capacidade para construir estruturas complexas a partir da base.
Você pode utilizar palavras em sentenças, sentenças em parágrafos etc...
Em linguagens de programação você pode definir procedimentos e utilizá-los em vez de codificá-los novamente.
Eu considero esse aspecto de gerenciar o pensamento (pela definição de "conceitos") e a complexidade como altamente
importante. Eu imagino que é uma das coisas básicas que eu aprendi do Logo.
Ehud Lamm mslamm@mscc.huji.ac.il
http://www2.cybercities.com/e/ehud/ Assine a mailing list hoje!
De Dale R. Reed:
"Eu penso que o Logo é uma grande coisa – apenas creio que poderia haver
muito mais do que ele é."
Ken, eu acabei de surfar por seu site e encomendar o ToonTalk.
Mas devo admitir que eu (um engenheiro eletromagnético aposentado de 63 anos de idade) tenho estado mais interessado em criar fractais e problemas e padrões moiré e outros objetos que vi na Mãe Natureza ou imaginei.
E eu não acho que tenha mudado muito nesses julgamentos nos últimos 50 anos.
Eu me mantive pensando em traçar problemas com o Logo exatamente como eu costumava pensar acerca de correntes elétricas que eu estava projetando e sendo responsável pela proteção contra a sua redistribuição (em freqüência e
tempo) através do composto de grafite e do estabilizador horizontal de alumínio do fly-by-wire 777 projetado.
As correntes elétricas no passado e agora os problemas e padrões moiré moveram minha mente durante noites de sono
inquietas.
Eu não aprecio jogos e não acho o MicroWorlds tão divertido. Era bom quando meu neto pequeno vivia próximo e costumava sentar em meu colo e podíamos criar mundos imaginários com
cães e árvores e luas, mas ele mora agora a
duas horas de automóvel e está crescendo muito rápido, portanto o que eu desejo hoje é um modo eficiente e poderoso de criar meus próprios projetos.
Alguma coisa que force minha mente a prestar atenção a detalhes e me ofereça
a capacidade de criar algo interessante que Katy e eu possamos apreciar. O
MSWLogo funciona muito bem para os meus propósitos. Eu aposto que não
sou tão diferente de muitos jovens.
Mas Ken, eu aprecio coisas novas e darei uma chance ao ToonTalk.
Dale --- $ dale-reed@worldnet.att.net
Seattle, Washington U.S.A. $
De Ray Catzel:
Eu sou um ávido defensor do MicroWorlds devido ao considerável
sucesso que experimentei aprimorando centenas de crianças
através dos últimos anos.
Uma das grandes vantagens do MicroWorlds é sua capacidade de
atravessar o intervalo entre objetos que são significativos para as
crianças e os códigos de programas. Você pode prosseguir com
códigos mínimos para os mais jovens e proporcionar projetos muito
desafiadores (e mais abstratos) para as crianças mais velhas.
Eu dei uma olhada rápida no ToonTalk e não encontrei a
capacidade de migrar suavemente de "dar instruções aos objetos"
para codificar a sintaxe.
Eu não tenho críticas à "velha" tecnologia se ela é estável e atinge os
objetivos de aprendizagem. Em paralelo, "smarallel"- você realmente
crê que as crianças se importam em que fundo os programas
rodam?
Divirta-se!
Ray Catzel, Presidente, ComputerPals Inc.
Web Site: http://www.computerpals.on.ca/~pals
Email: learn@computerpals.on.ca
De Ken Kahn:
ROY CATZEL escreveu:
"Uma das grandes vantagens do MicroWorlds é sua capacidade de
atravessar o intervalo entre objetos que são significativos para as
crianças e os códigos de programas. Você pode prosseguir com
códigos mínimos para os mais jovens e proporcionar projetos muito
desafiadores (e mais abstratos) para as crianças mais velhas.
Eu dei uma olhada rápida no ToonTalk e não encontrei a
capacidade de migrar suavemente de `dar instruções aos objetos´ para codificar a sintaxe."
Eu concordo que se desejem programas que cubram uma vasta
gama de capacidades e ambições.
Eu creio que o ToonTalk faz isto desde que alguém pode simplesmente jogar com o ToonTalk e talvez colocar em conjunto alguns objetos construídos por outros ou explorar sérios tópicos da
ciência da computação – por exemplo construindo
uma espécie de rápido programa paralelo que é subjacente de forma que alguém pode ver a totalidade da computação como significativa.
Mas eu não atribuo muito valor a "codificar a sintaxe". O que eu
valorizo são os conceitos subjacentes-variáveis, recursão, estruturas de dados, condicionais etc. Isso aparece se você procurar
seriamente se há um meio de ultrapassar o intervalo entre o ToonTalk e o código de sintaxe.
O ToonTalk pode gerar um aplicativo Java ou o que quer que você
tenha programado no ToonTalk.
E Jim Muller escreveu: "Afirmação fascinante... mas você pode colocar outra questão. Por que o Logo deve ser `mais do que ele é?´"
"Quando você vê a mágica que o Logo pode acrescentar ao
auto-conhecimento de uma criança pequena, o que mais nós
poderíamos pedir?"
Eu posso pensar em duas respostas:
1.Uma linguagem de programação é algo para "pensar com".
Pensamento com procedimento seqüencial e variáveis globais
é o que o Logo oferece. Eu estive pensando desta forma
desde que aprendi a programar em 1968. Mas foi maravilhoso
quando em 1973 eu aprendi (a maior parte com um professor
do MIT chamado Carl Hewitt) a pensar em termos do que ele
chamava atores – objetos concorrentes com passagem de
mensagens. Então em 1980 eu aprendi com o Prolog a pensar
em programas declarativamente em termos de predicados e
exemplonstração de teoremas. O Prolog concorrente e seus
sucessores me ensinaram a pensar com atores e lógica em
conjunto. Eu não quero afirmar que uma forma de pensar
domina completamente as outras. Eu apenas quero despertar
a comunidade Logo para o fato de que há muito mais que pode
ser "tomado de empréstimo" da ciência da computação.
2.Em 1994 eu li um artigo de Sharon Yader em Logo Exchange
intitulado "Desencorajado? ...Não se desespere!". Ela
perguntava a uma classe de calouros na universidade acerca
de sua exposição ao Logo. Uma grande percentagem havia
sido exposta e quase todos relataram a experiência como
negativa. Nos anos 70 eu ensinei Logo e também observei os
resultados do ensino de outras pessoas no grupo de Logo do
MIT. Era maravilhoso. Era "mágico". Minha teoria de como
conciliar estes dois fatos é que as crianças podem obter um
nível excelente aprendendo Logo se ele é ensinado por um
professor que compreende profundamente tanto crianças
quanto programação. Eu penso que a pesquisa informal de
Sharon indica que tais professores são raros.
Então, como poexemplos dar às crianças o poder e a mágica da programação quando tais professores não estão disponíveis?
Fazendo um ambiente de software no qual as crianças possam
descobrir e aprender programação por si mesmas. O ToonTalk, eu afirmo, é tal ambiente.
As crianças podem aprender o ToonTalk explorando um ambiente seguro, auto-revelador, abrindo seu caminho através de um jogo de desafios interativo, assistindo a exemplos com narração, obtendo ajuda de um agente do programa e
outras coisas. [Eu escrevi um capítulo em um livro que acabou de ser publicado este mês acerca deste tópico. O livro é "The Design of Children's Technology", editado por Alison Druin, publicado por
Morgan Kaufman.] As primeiras indicações são que isto realmente funciona (vide www.ToonTalk.com/English/users.htm).
E Ray escreveu: "Em paralelo, "smarallel"- você realmente crê que as crianças se importam em que fundo os programas rodam?"
Eu suponho que já tenha respondido parcialmente esta questão no ponto número 1 acima. Mas o paralelismo não é apenas outra ferramenta de pensamento, ele é também uma melhor forma de programação.
Por exemplo, um dos exemplos do ToonTalk é construir um jogo de pingue-pongue.
Eu estou convencido de que a melhor maneira de estruturar programas é através de muitos processos independentes (mas que se comunicam e estão sincronizados). No exemplo do pingue-pongue, a bola, a raquete, e o marcador de escore são, cada um, programas paralelos. O mundo ao redor de nós está rodando em paralelo e tentar copiá-lo ou simulá-lo de maneira seqüencial é desnecessariamente difícil.
Saudações,
- Ken Kahn
De Brian Harvey:
"Ken Kahn" <KenKahn@ToonTalk.com escreve: "Mas eu não atribuo muito valor a `codificar a sintaxe´. O que eu valorizo são os conceitos subjacentes – variáveis, recursão, estruturas de dados, condicionais etc."
Eu concordo com isto, neste amplo nível de abstração. A questão é qual
notação (falando de modo geral) torna as idéias mais acessíveis. Algo
como uma condicional pode prazerosamente ser representada
pictoricamente. A recursão é um pouco mais difícil, porque (eu suponho) de forma a tornar algo auto-referente ela deve ter um nome. A
melhor versão pictórica que já vi é a antiga "slot machine", de Radia Perlman, na qual os nomes dos procedimentos eram
cores, e eram invocados por cartões coloridos. Eu
considero a tentativa das BBN Function Machines menos convincentes; você tem de perceber que uma caixa dentro de outra tem o mesmo nome, o que não é realmente melhor do que o texto. Eu
estarei interessado em ver (amanhã) como o ToonTalk o realiza a documentação sem o programa real me deixou muito confuso.
Eu suponho que o texto receba golpes estes dias. Nós
costumávamos não ter nada além de texto, e todos reagiram de
forma exagerada. O texto ainda é um meio realmente expressivo!
Mesmo para emoções, deixemos os programas de computadores
sozinhos.
"Pensar com procedimentos seqüenciais e variáveis globais é o que o Logo oferece".
Ei, não é justo, Logo tem variáveis locais! Mas eu concordo que
existem outros paradigmas de programação valiosos.
De Jim Muller:
" Eu penso que o Logo é uma grande coisa – apenas creio que
poderia haver muito mais do que ele é."
Ken
"Afirmação fascinante... mas você pode colocar outra questão. Por que o Logo deve ser "mais do que ele é?"
"Quando você vê a mágica que o Logo pode acrescentar ao auto-conhecimento de uma criança pequena, o que mais nós
poderíamos pedir?"
Saudações... Jim Muller
Jim Muller THE GREAT LOGO ADVENTURE em http://www.cyberramp.net/~jmul
De Ken Kahn
Dale R.Reed escreveu
"Ken, eu acabei de surfar por seu site e encomendar o ToonTalk."
Grato. Eu espero que você o aprecie.
"Eu não aprecio jogos e não acho o MicroWorlds tão divertido. Era bom quando meu neto pequeno vivia próximo e costumava sentar em meu colo e podíamos criar mundos imaginários com cães e árvores e luas, mas ele mora agora a duas horas de automóvel e está crescendo muito rápido, portanto o que eu desejo hoje é um modo eficiente e poderoso de criar meus próprios projetos."
Eu costumava apreciar muito os jogos antes que eu descobrisse a
programação de computadores. A programação é como um jogo, apenas mais desafiadora e com o final em aberto. Enquanto eu projetava o ToonTalk, descobri que os jogos eram uma grande
fonte de idéias sobre como fazer as coisas mais simples ou mais
divertidas sem torná-las sem interesse.
"Alguma coisa que force minha mente a prestar atenção a detalhes e me ofereça a capacidade de criar algo interessante que Katy e eu possamos apreciar.
O MSWLogo funciona muito bem para os meus propósitos. Eu aposto que não sou tão diferente de muitos jovens."
Eu
penso que a capacidade de "criar alguma coisa interessante" é a
coisa mais importante acerca de Logo e ToonTalk.
"Mas Ken, eu aprecio coisas novas e darei uma chance ao ToonTalk."
Esta é uma boa atitude.
- Ken Kahn
|