Logo (linguagem de programação) - Logo (programming language)

Logotipo
FarfalladiIvanaNiccolai.jpg
Criatividade em atividades lúdicas com base no uso do logotipo
Paradigmas Multiparadigma : funcional , educacional , processual , reflexivo
Família Lisp
Projetado por Wally Feurzeig , Seymour Papert , Cynthia Solomon
Desenvolvedor Bolt, Beranek e Newman
Apareceu pela primeira vez 1967 ; 54 anos atrás ( 1967 )
Disciplina de digitação dinâmico
Implementações principais
UCBLogo , muitos outros
Dialetos
StarLogo , NetLogo e AppleLogo
Influenciado por
Lisp
Influenciado
AgentSheets , NetLogo , Smalltalk , Etoys , Scratch , Microsoft Small Basic , KTurtle , REBOL , Boxer
A simetria em torno de um ponto pode ser obtida usando apenas algumas instruções, permitindo aos usuários desenhar hipotrocóides como o mostrado aqui.

Logo é uma linguagem de programação educacional , projetada em 1967 por Wally Feurzeig , Seymour Papert e Cynthia Solomon . Logo não é um acrônimo: o nome foi cunhado por Feurzeig enquanto ele estava em Bolt, Beranek e Newman , e deriva do grego logos , que significa palavra ou pensamento .

Uma linguagem de propósito geral, o Logo é amplamente conhecido por seu uso de gráficos de tartaruga , nos quais comandos de movimento e desenho produzem linhas ou gráficos vetoriais , seja na tela ou com um pequeno robô denominado tartaruga . A linguagem foi concebida para ensinar conceitos de programação relacionados ao Lisp e só mais tarde para possibilitar o que Papert chamou de " raciocínio corpo-sintônico ", onde os alunos pudessem entender, prever e raciocinar sobre o movimento da tartaruga imaginando o que fariam se fossem os tartaruga. Existem diferenças substanciais entre os muitos dialetos de Logo, e a situação é confusa pelo aparecimento regular de programas gráficos de tartarugas que são chamados de Logo.

Logo é uma adaptação e dialeto multiparadigma do Lisp , uma linguagem de programação funcional . Não há um logotipo padrão, mas UCBLogo tem as melhores facilidades para lidar com listas, arquivos, E / S e recursão em scripts, e pode ser usado para ensinar todos os conceitos de ciência da computação, como fez o palestrante da UC Berkeley Brian Harvey em seu logotipo de ciência da computação Trilogia de estilo .

Logo é geralmente uma linguagem interpretada , embora dialetos compilados de Logo (como Lhogho e Liogo) tenham sido desenvolvidos. O logotipo não diferencia maiúsculas de minúsculas, mas mantém as maiúsculas e minúsculas usadas para fins de formatação.

História

O logotipo foi criado em 1967 na Bolt, Beranek and Newman (BBN), uma empresa de pesquisa de Cambridge, Massachusetts , por Wally Feurzeig , Cynthia Solomon e Seymour Papert . Suas raízes intelectuais estão na inteligência artificial , lógica matemática e psicologia do desenvolvimento . Os primeiros quatro anos de pesquisa, desenvolvimento e trabalho de ensino de Logo foram realizados na BBN. A primeira implementação do Logo, chamada Ghost, foi escrita em LISP em um PDP-1 . O objetivo era criar um terreno matemático onde as crianças pudessem brincar com palavras e frases. Modelado em LISP, os objetivos de design do Logo incluíam poder acessível e mensagens de erro informativas. O uso de tartarugas virtuais permitiu feedback visual imediato e depuração da programação gráfica.

O primeiro robô tartaruga Logo em funcionamento foi criado em 1969. Uma tartaruga de exibição precedeu a tartaruga de chão física. O logotipo moderno não mudou muito em relação aos conceitos básicos anteriores à primeira tartaruga. A primeira tartaruga era um roamer amarrado no chão, não controlado por rádio ou sem fio . Na BBN, Paul Wexelblat desenvolveu uma tartaruga chamada Irving que tinha sensores de toque e podia se mover para frente, para trás, girar e tocar seu sino. Os primeiros usuários do Logo em um ano de idade foram em 1968-69 na Muzzey Jr. High em Lexington, Massachusetts . As tartarugas virtuais e físicas foram usadas pela primeira vez por alunos da quinta série na Bridge School na mesma cidade em 1970-71.

Tartaruga e gráficos

Gif animado com tartaruga em MSWLogo ( cardioide )

A característica mais conhecida do logo é a tartaruga (derivada originalmente de um robô de mesmo nome ), um " cursor " na tela que mostrava a saída de comandos de movimento e uma pequena caneta retrátil, produzindo juntos gráficos de linha. Tradicionalmente, ele é exibido como um ícone de triângulo ou de tartaruga (embora possa ser representado por qualquer ícone). Os gráficos da tartaruga foram adicionados à linguagem Logo por Seymour Papert no final dos anos 1960 para suportar a versão de Papert do robô tartaruga , um robô simples controlado a partir da estação de trabalho do usuário que é projetado para realizar as funções de desenho atribuídas a ele usando um pequeno conjunto de canetas retráteis dentro ou anexado ao corpo do robô.

Na prática, o uso da geometria da tartaruga em vez de um modelo mais tradicional imita a lógica de movimento real do robô tartaruga. A tartaruga se move com comandos relativos à sua própria posição, LEFT 90 significa giro de 90 graus para a esquerda. Algumas implementações do Logo, particularmente aquelas que permitem o uso de simultaneidade e múltiplas tartarugas, suportam a detecção de colisões e permitem ao usuário redefinir a aparência do cursor da tartaruga, essencialmente permitindo que as tartarugas do Logo funcionem como sprites .

Múltiplas tartarugas são suportadas pelo MSWLogo , assim como gráficos 3D. As entradas das portas COM e LPT também são permitidas pelo MSWLogo por meio da GUI do Windows. As interrupções podem ser acionadas por meio de eventos de teclado e mouse. Animações GIF simples também podem ser produzidas no MSWLogo versão 6.5 com o comando gifsave .

A geometria da tartaruga também é às vezes usada em ambientes diferentes do Logo como uma alternativa para um sistema gráfico estritamente coordenado. Por exemplo, a ideia de gráficos de tartaruga também é útil no sistema de Lindenmayer para gerar fractais .

Implementações

Tela de boas-vindas do logotipo IBM LCSI
Código fonte e saída no logotipo IBM LCSI em execução no DOSBox

Alguns derivados modernos do Logo permitem que milhares de tartarugas se movam independentemente. Há duas implementações populares: Instituto de Tecnologia de Massachusetts 's StarLogo e Northwestern University Center for Connected da Aprendizagem (CCL) NetLogo . Eles permitem explorar fenômenos emergentes e vêm com muitos experimentos em estudos sociais, biologia, física e outras áreas. O NetLogo é amplamente utilizado em simulação baseada em agente nas ciências biológicas e sociais.

Embora não haja um padrão acordado, há um amplo consenso sobre os principais aspectos da linguagem. Em março de 2020, foram contabilizadas 308 implementações e dialetos do Logo, cada um com seus pontos fortes. A maioria dos 308 não é mais amplamente utilizada, mas muitos ainda estão em desenvolvimento. Implementações comerciais amplamente utilizadas em escolas incluem MicroWorlds Logo e Imagine Logo .

As implementações legadas e atuais incluem:

  • O logotipo da Apple para o Apple II Plus e o gravador de logotipo da Apple para o Apple IIe , desenvolvidos pela Logo Computer Systems, Inc. (LCSI), foram as implementações iniciais mais amplamente usadas e predominantes do Logo que atingiram o pico no início até meados da década de 1980.
  • Aquarius LOGO foi lançado em 1982 em cartucho pela Mattel para o computador doméstico Aquarius .
  • Atari Logo foi lançado em cartucho pela Atari para a família Atari de 8 bits .
  • O Color Logo foi lançado em 1983 no cartucho (26-2722) e no disco (26-2721) pela Tandy para o TRS-80 Color Computer .
  • Foi lançado o Commodore Logo, com o subtítulo "A Language for Learning", da Commodore Electronics . Foi baseado no logotipo do MIT e aprimorado pela Terrapin, Inc. A versão Commodore 64 (C64105) foi lançada em disquete em 1983; a versão Plus / 4 (T263001) foi lançada em cartucho em 1984.
  • ExperLogo foi lançado em 1985 em disquete pela Expertelligence Inc. para Macintosh 128K .
  • Hot-Logo foi lançado em meados da década de 1980 pela EPCOM para os computadores MSX de 8 bits com seu próprio conjunto de comandos em português do Brasil.
  • TI Logo (para o computador TI 99 / 4A ) foi usado em escolas primárias, enfatizando a utilidade do Logo no ensino de fundamentos de computação para programadores novatos.
  • A IBM comercializou sua própria versão do Logo (P / N 6024076), desenvolvida em conjunto pela Logo Computer Systems, Inc. (LCSI), para seu então novo IBM PC.
  • UCBLogo , também conhecido como Berkeley Logo, é uma implementação gratuita de plataforma cruzada do Logo padrão lançado pela última vez em 2009. George Mills no MIT usou UCBLogo como base para MSWLogo, que é mais refinado e também gratuito. Jim Muller escreveu um livro, The Great Logo Adventure , que era um manual completo do Logo e que usava o MSWLogo como linguagem de demonstração. Agora está esgotado, mas Jim lançou todos os arquivos em formato pdf. (Verifique o site da Logo Foundation para obter detalhes.) MSWLogo evoluiu para FMSLogo: An Educational Programming Environment .
  • ObjectLOGO é uma variante do Logo com extensões de programação orientada a objetos e escopo léxico. A versão 2.7 foi vendida pela Digitool, Inc. Ela não está mais sendo desenvolvida ou suportada e não funciona em versões do sistema operacional Mac posteriores à versão 7.5.
  • aUCBLogo uma reescrita e aprimoramento do UCBLogo .
  • Logo3D é uma versão tridimensional do Logo e pode ser encontrada em Logo (linguagem de programação) no SourceForge .
  • O Dr. Logo foi desenvolvido pela Digital Research e distribuído em computadores, incluindo IBM PCjr , Atari ST e Amstrad CPC .
  • O logotipo da Acornsoft foi lançado em 1985. É uma implementação comercial do logotipo para os computadores BBC Micro e Acorn Electron de 8 bits . Ele foi desenvolvido para a Acorn Computers como uma implementação completa do Logo. Possui várias telas de tartarugas e som de quatro canais. Ele foi fornecido em duas ROMs de 16kB , com utilitários e drivers como software de acompanhamento.
  • Em fevereiro de 1990, Electron User publicou a implementação simples de Timothy Grantham do Logo for the Acorn Electron sob o artigo "Talking Turtle".
  • LibreLogo é uma extensão para algumas versões do LibreOffice. Lançado em 2012, ele foi escrito em Python . Ele permite que gráficos vetoriais sejam escritos no Writer.
  • Lego Logo é uma versão do Logo que pode manipular blocos de Lego robóticos conectados a um computador. Ele foi implementado na plataforma de computação Apple II e usado nas escolas americanas e em outras escolas de ensino fundamental no final da década de 1980 e início da década de 1990. O Lego Logo é um precursor do Scratch .
  • Pelo menos duas implementações baseadas na web usando Berkeley Logo, HTML5, CSS3 e JQuery podem ser encontradas.
  • POOL é um dialeto do Logo com extensões orientadas a objetos, implementado em 2014. Os programas POOL são compilados e executados no IDE gráfico do Microsoft Windows . Um ambiente simplificado de plataforma cruzada está disponível para sistemas que oferecem suporte ao .NET Framework .
  • QLogo é uma reescrita de código aberto e plataforma cruzada do UCBLogo com compatibilidade quase total do UCB que usa gráficos acelerados por hardware.

Influência

Logo foi a principal influência na linguagem de programação Smalltalk . É também a principal influência no ambiente de programação educacional Etoys e na linguagem, que é essencialmente uma variante do Logo escrita em Squeak (ela própria uma variante do Smalltalk ). Logo influenciou o modelo de procedimento / método em AgentSheets e AgentCubes para programar agentes semelhantes à noção de tartaruga em Logo. O logotipo forneceu a linguagem subjacente para o Boxer. O Boxer foi desenvolvido na University of California, Berkeley e MIT e é baseado em um modelo de alfabetização , tornando-o mais fácil de usar para pessoas não técnicas.

O KTurtle é uma variação do Logo implementado no Qt para o ambiente KDE vagamente baseado no Logo.

Dois outros resultados da influência do Logo são Kojo , uma variante do Scala, e Scratch , uma linguagem visual de arrastar e soltar que roda em um navegador da web.

Veja também

Referências

Leitura adicional

  • The Great Logo Adventure , Jim Muller, Doone Publications ISBN  0-9651934-6-2 ; agora esgotado; pode ser baixado gratuitamente em formato pdf no site do The MSWLogo, junto com o programa freeware MSWLogo
  • To Artificial Intelligence (1976) Livro didático Early AI onde o logotipo é usado extensivamente. (Usando odialeto da Universidade de Edimburgo , AI2LOGO)
  • Geometria da tartaruga Abelson e diSessa
  • Children Designers , Idit Harel Caperton, Ablex Publishing Corporation ISBN  0893917885 . Disponível online
  • Learning With Logo , Daniel Watt, McGraw Hill, ISBN  0-07-068570-3 . Disponível na Amazon
  • Teaching With Logo: Building Blocks For Learning, Molly Watt e Daniel Watt, Addison Wesley (agora Pearson) 1986, ISBN  0-201-08112-1 Disponível na Amazon
  • "Logo" (PDF) . Byte . Vol. 7 não. 8. McGraw-Hill. 1982.( Edição especial de 1982 da revista Byte com vários artigos do Logo).

links externos