PARTE 1 PARTE 2 PARTE 3 PARTE 4 PARTE 5


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 foi intitulada "O Logo é uma tecnologia obsoleta?"

De Ken Kahn:

Brian Harvey escreveu:
"Eu penso que a melhor solução para este problema é um sistema híbrido, no qual as coisas que são facilmente expressas graficamente possam sê-lo, mas também que tudo possa ser expresso textualmente."

Eu creio que este é um grande tópico de pesquisa. Mas eu me preocupo com os compromissos que seriam necessários para fazer que isto funcione corretamente para uma linguagem de programação de uso geral. E também tenho dúvidas se os híbridos acrescentam alguma espécie de complexidade cognitiva. Por outro lado, é sempre uma boa coisa ser capaz de ver ou compreender alguma coisa de diversos modos.

"Talvez o ToonTalk o seja, também, desde que você diz que ele produz códigos Java. Se o código Java não é convoluto também (eu ainda não tive chance de jogar com ele – eu tentarei fazê-lo em breve!) e se você pode usar o código Java para criar novas habilidades no GUI, eu ficarei satisfeito, então."

O código Java é legível, mas não o tipo de código que alguém poderia escrever do nada. Tornar possível alterar o código Java e tê-lo refletido no ToonTalk é um problema muito difícil.

"Btw, dizer que a concorrência é `natural´ para as pessoas levanta muitas questões para mim. Realmente, eu creio que se você está simulando um mundo de atores independentes, parece natural programá-los separadamente. Mas meus alunos de Ciência da Computação certamente não consideram natural os problemas de sincronização que surgem se aqueles atores querem compartilhar estados!"

Eu concordo que o compartilhamento de estados é "direto" mais do que através da passagem de mensagens. É por isso que eu estou reclamando acerca das variáveis globais como os únicos meios de comunicação no MicroWorlds. Eu escreverei um ensaio maior, em breve, sobre esta questão e o enviarei para cá.

Saudações,
- Ken Kahn


Ken Kahn escreveu:

"O código Java é legível, mas não o tipo de código que alguém poderia escrever do nada. Tornar possível alterar o código Java e tê-lo refletido no ToonTalk é um problema muito difícil."

Eu não estou solicitando isso. O que eu peço é que seja capaz de escrever, em Java, um novo instrumento, ou um novo item de menu, ou qualquer coisa assim, e integrá-lo no mundo do TT.


Brian Harvey escreveu:

"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."

Eu concordo inteiramente. Nós temos um lado esquerdo do cérebro que aprecia texto e um lado direito que aprecia figuras. Enquanto tantos argumentos competitivos tentam provar que seu lado favorito é "melhor", eu simplesmente replicaria, não há nada como utilizar os DOIS! Realmente, eu geralmente agrupo pessoas em 4 categorias: Lado direito dominante, lado esquerdo dominante, ambos, e, claro, nenhum deles!

Bob

"Para obter NOVAS respostas, você deve formular NOVAS questões!" - Bob Gorman.



Bob Gorman escreveu:

"Nós temos um lado esquerdo do cérebro que aprecia texto e um lado direito que aprecia figuras."

Eu aprecio texto (poesia, romances) que cria imagens em minha mente. Por exemplo, eu gosto de ler Victor Hugo.

Com o Logo eu posso usar o texto para criar imagens que não são exatamente como eu pensava que fossem.

Eu posso me surpreender a mim mesmo. Eu gosto disso.

Dale --- $ dale-reed@worldnet.att.net  Seattle, Washington U.S.A. $


De Ken Kahn:

"Nós temos um lado esquerdo do cérebro que aprecia texto e um lado direito que aprecia figuras. Enquanto tantos argumentos competitivos tentam provar que seu lado favorito é `melhor´, eu simplesmente replicaria, não há nada como utilizar os DOIS!"

Algumas pessoas são chamadas "pensadores visuais" porque elas parecem ser boas para resolver problemas visuais e elas relatam a utilização de imagens visuais quando pensam. Para essas pessoas, as linguagens de programação textual são difíceis. Os pensadores visuais provavelmente prefeririam linguagens de programação visual, e seriam mais eficientes utilizando-as, do que as linguagens textuais. Outras pessoas parecem preferir textos e símbolos. Talvez o ToonTalk não seja apropriado para elas. Uma linguagem híbrida visual-textual poderia satisfazer ambos os tipos de pensadores, mas talvez não. Necessitam-se de compromissos para fazer um bom híbrido. E os híbridos tendem a ser mais complexos e muito mais difíceis de projetar. Eu desconfio que as crianças, particularmente as mais jovens, são mais visuais e menos textuais/simbólicas em seu pensamento. Eu sei que estas categorias são grosseiras e muito simplistas, mas eu penso que existem modos poderosos de pensar acerca destas questões. Alguém conhece algo acerca da pesquisa psicológica nestas questões?

Saudações,    
Ken Kahn


De Brian Harvey:

"Ken Kahn" <KenKahn@ToonTalk.com> escreveu:
"Necessitam-se de compromissos para fazer um bom híbrido."

Não, não! Compromissos fazem um mau híbrido. São necessárias sínteses para um adequado. (Eu aprendi isso nas aulas de Marxismo.) Os compromissos seriam como aqueles antigos sistemas "macro" para o Mac que gravavam cliques de mouse em coordenadas pixel.

Assim, por exemplo, tome aquele aspecto de troca de dois valores que você fez no ToonTalk na outra noite. O código Java correspondente se pareceria com Pixels, ou ele se assemelharia com o modo que você programou uma mudança diretamente em Java? (Bem, eu suponho que não seja o caso, exatamente, mas eu fixei uma mudança [a, b] na qual a mudança é o procedimento que você forneceu que descobre uma parte vaga interessante na tela.)


De Ken Kahn:

Brian Harvey escreveu:

Não, não! Compromissos fazem um mau híbrido. São necessárias sínteses para um adequado. (Eu aprendi isso nas aulas de Marxismo.) Os compromissos seriam como aqueles antigos sistemas "macro" para o Mac que gravavam cliques de mouse em coordenadas pixel.

Assim, por exemplo, tome aquele aspecto de troca de dois valores que você fez no ToonTalk na outra noite. O código Java correspondente se pareceria com Pixels, ou ele se assemelharia com o modo que você programou uma mudança diretamente em Java? (Bem, eu suponho que não seja o caso, exatamente, mas eu fixei uma mudança [a, b] na qual a mudança é o procedimento que você forneceu que descobre uma parte vaga interessante na tela.)

Alguma coisa entre isso. Aqui está o programa Java intocado gerado automaticamente treinando um robô para trocar dois números se eles têm problemas. Um grande projeto (algum estudante graduado está participando?) é construir uma ferramenta que transforme o seguinte código Java em algo mais normal. Meu palpite é que um bom avaliador parcial poderia fazê-lo.

Saudações,
- Ken Kahn (www.ToonTalk.com)

Import ap.ToonTalk.*;
Class Robot_P extends TTRobot {
Robot_P(TTNotebook n) {
Notebook = n;
}
public TTObjects gets (TTObject given) throws TTException {
if (! Wants.matches (given)) return null;
// If given a box that matches the box in his thought bubble (called "wants"),
// this robot will do the following.
TTObject hand;
TTObject temp1;
// pick up what's in the first hole inside his box
hand = given.pickUp (0);
//drop it
temp1 = hand;
// pick up what's in the third hole inside his box
hand= given.pickUp(2);
//drop it on the first hole inside his box
given.holeGets(0,hand);
//pick up the last thing he made or found
hand= temp 1;
// drop it on the third hole inside his box
given.holeGets(2, hand);
return this;//This robot has finished and will see if the box still matches his thoughts and try again.
}
}
public class Applet_P extends TTApplet {
public static void main (String args[]) {
new TTFrame().begin (new Applet_P());
}
public void initialize() {
TTNotebook notebook = TT.NOTEBOOK;
Box = new TTBox (3);
Box.setHole(0, new TTInteger (2, "+"));
Box.setHole(1, new TTScale("> "));
Box.setHole (2, new TTInteger(1, "+"));
//We just made a box with 3 holes. The first hole contains the number 2. The
// second hole contains a scale tipped to the left. The third hole contains
// the number 1.
Robot= new Robot_P (notebook);
TTBox wants1 = new TTBox(3);
// This robot will only accept a box with 3 holes. Rthe first hole contains
// any number. The second hole contains a scale tipped to the left. The third
// hole contains any number.
Wants1.setHole (O, TT.BLANK_NUMBER);
Wants1.setHole(1, new TTScale( "> "));
Wants 1.setHole(2, TT.BLANK_NUMBER);
Robot.setWants (wants1);
Team = new TTTeam(box, robot);
SetStarting Team(team);
Display This(box);
}
}


De Brian Harvey:

Ken Kahn escreveu:

"hand = given.pickUp (0);
temp1 = hand;
hand= given.pickUp(2);
given.holeGets(0,hand);
hand= temp 1;
given.holeGets(2,hand);"
Formidável! Eu estou impressionado. Funcionaria sem "hand"? Quero dizer, se nós alterarmos o código Java para

Temp1= given.pickUp(0);
Given.holeGets (0, givenpick.up(2));
Given.holeGets(2, temp1);

A animação ocorreria de alguma forma interessante? (Eu penso que poderia ser incluída apenas ocorrendo, completamente, em um "flash" – até que não explodisse ou deixasse confete na tela, ou algo assim.)

Se este tipo de coisa funcionar, deixará a porta aberta para o tipo de programabilidade de modo-texto que eu (seguindo Eisenberg) desejo.

[Muito ruim é o Java com toda aquela coisa de "blá blá blá" público ... :-)

Se apenas fosse Logo, isso seria perfeito.]


De Ken Kahn:

Brian Harvey escreveu
"Formidável! Eu estou impressionado. Funcionaria sem "hand"? Quero dizer, se nós alterarmos o código Java para

Temp1= given.pickUp(0);
Given.holeGets (0, givenpick.up(2));
Given.holeGets(2, temp1);

A animação ocorreria de alguma forma interessante? (Eu penso que poderia ser incluída apenas ocorrendo, completamente, em um "flash" – até que não explodisse ou deixasse confete na tela, ou algo assim.)"

Aquilo deve funcionar. E um pequeno "otimizador peephole" poderia provavelmente gerá-lo automaticamente.

Mas eu devo esclarecer que o aplicativo Java não exibe os gráficos do ambiente de programação do ToonTalk. Neste caso, você não vê a passagem que está rodando como um aplicativo Java. Se, no outro lado, você constrói uma aplicação gráfica no interior do ToonTalk (por exemplo, o exemplo do jogo de pingue-pongue), então aqueles gráficos serão transferidos para Java.

Saudações,
- Ken Kahn (www.ToonTalk.com)


Ken Kahn escreveu:

"Eu concordo, o texto é bom. Mas como eu escrevi em outra parte desta discussão com relação a se alguns paradigmas de programação são superiores a outros – há uma necessidade de prioridades aqui. Se um professor está ensinando apenas uma linguagem em um curso, ela deveria ser visual ou textual?"

Parte da chave desta questão é a definição de "superior", e esta depende de suas prioridades.

Minhas prioridades: 1. Dar aos estudantes oportunidades ricas e variadas para expressar seus pensamentos verbal, visual, auditiva e cinestesicamente. 2. Dar aos estudantes oportunidades para refletir sobre como eles pensam.

Como as linguagens de programação estão entre as coisas que oferecem possibilidades nestas duas áreas, eu estou interessado em explorar meios pelos quais elas possam ser incluídas no aprendizado dos estudantes. Se eu tivesse de formular uma questão como a que você fez acima, eu perguntaria, se um professor vai ensinar apenas uma linguagem, qual atingirá melhor os objetivos dos estudantes? " Eu apreciei a resposta de Brian Harvey:

"Eu penso que a melhor solução para este problema é um sistema híbrido, no qual as coisas que são facilmente expressas graficamente possam sê-lo, mas também que tudo possa ser expresso textualmente."

Tom Woods


início busca adquira manual novidades dúvidas suporte download imprensa contato