Logotipo moderno

Leon recentemente postado um link para um ótimo artigo de blog sobre a redescoberta do Logo. O senhor sabe, Logotipo — aquele com a tartaruga.

Captura de tela do logotipo da Berkeley

Lembro-me de ter sido exposto ao Logo no ensino médio. Tudo o que me lembro sobre o Logo é o gráficos de tartarugae os desenhos digitais primitivos do Etch-a-Sketch que o senhor podia criar com ele. O que eu não sabia é que o Logo é “uma adaptação mais fácil de ler da linguagem Lisp”. [with] com recursos significativos para lidar com listas, arquivos, E/S e recursão”, pelo menos se o verbete da Wikipedia sobre Logo é verdadeira.

Embora eu fosse eternamente fascinado por programação, o Logo não me interessava. Parecia uma linguagem de brinquedo, útil apenas para pequenos truques gráficos bobos e acrobacias com a tartaruga. Mas, aparentemente, havia uma linguagem real escondida debaixo de toda aquela coisa de gráficos de tartaruga. Brian Harvey é um professor de Berkeley que não apenas co-escreveu o Berkeley Lisp, mas também é autor de três livros que, surpreendentemente, são os seguintes ensinam toda a ciência da computação usando nada além do Logo.

Se o senhor não tiver tempo para dar uma olhada no material e ainda estiver convencido de que o Logo é uma linguagem gráfica para crianças pequenas, dê uma olhada em um exemplo de programa de Logo que Brian criou para nos impressionar. De qualquer forma, estou impressionado.

O logotipo é muito mais do que o fino invólucro sobre gráficos de tartaruga que eu pensava que era em 1986. Mas os gráficos de tartaruga ainda… como posso dizer isso? — sugar. Levei dois livros novos comigo durante as férias, e ambos tratam de algo parecido com o sucessor espiritual do Logo–. o ambiente de processamento.

Processing: A Programming Handbook for Visual Designers and Artists (Manual de programação para designers visuais e artistas)

Visualização de dados

Ambos Processing: A Programming Handbook for Visual Designers and Artists (Manual de programação para designers visuais e artistas) e Visualização de dados pintam uma imagem do ambiente do Processing que me lembra muito o Logo. Mas o Processing não oferece uma nova sintaxe Lisp – ele se mantém com o bom e velho Java.

Se não nos importássemos com a velocidade, talvez fizesse sentido usar Python, Ruby ou muitas outras linguagens de script. Isso é especialmente verdadeiro no aspecto educacional. Se não nos preocupássemos em fazer uma transição para linguagens mais avançadas, provavelmente evitaríamos uma sintaxe no estilo de C++ ou Java. Mas Java é um bom ponto de partida para uma linguagem de esboço porque é muito mais tolerante do que C/C++ e também permite que os usuários exportem esboços para distribuição pela Web.

O foco do ambiente Processing está diretamente no aprendizado enquanto se faz, o que é definitivamente um dos princípios do Logo.

Se o senhor já estiver familiarizado com programação, é importante entender como o Processing difere de outros ambientes e linguagens de desenvolvimento. O projeto Processing incentiva um estilo de trabalho que constrói código rapidamente, entendendo que o código será usado como um esboço rápido ou que as ideias estão sendo testadas antes do desenvolvimento de um projeto final. Isso pode ser mal interpretado como uma heresia da engenharia de software. Talvez não estejamos longe de “hackear”, mas isso é mais apropriado para as funções em que o Processing é usado. Por que forçar estudantes ou programadores casuais a aprender sobre contextos gráficos, threading e métodos de tratamento de eventos antes de poderem mostrar algo na tela que interaja com o mouse? O mesmo vale para os desenvolvedores avançados: por que eles precisam começar sempre com as mesmas duas páginas de código sempre que iniciam um projeto?

Em outro cenário, se o senhor estiver fazendo visualização científica, a capacidade de experimentar coisas rapidamente é uma prioridade muito maior do que uma estrutura de código sofisticada. Normalmente, o senhor não sabe qual será o resultado, portanto, pode criar algo em uma semana para testar uma hipótese inicial e criar algo novo na semana seguinte com base no que foi aprendido na primeira semana.

É uma filosofia admirável e especialmente apropriada para uma linguagem de domínio específico. Se o senhor estiver interessado em gráficos e visualização, se estiver realmente procurando um Logo moderno, deixe as tartarugas para trás e dê uma olhada no Processing em vez disso.