Logo (linguagem de programação) - Logo (programming language)
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 |
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 |
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
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
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
- AgentCubes
- AgentSheets
- UCBLogo
- MSWLogo
- MicroMundos
- StarLogo
- NetLogo
- LibreLogo , uma linguagem gráfica de tartaruga sem compatibilidade total com UCB
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
- Interpretador de logotipo
- papert: logotipo em seu navegador
- Interpretador de logotipo online baseado em PHP
- MachineLab TurtleSphere (MaLT) Interpretador de LOGO online com gráficos 3D usando a biblioteca three.js javascript.
- Intérprete de logotipo online gratuito de Vlad Tudor usando HTML5, CSS3 e JQuery
- TurtleAcademy (Aprenda logo gratuitamente)
- XLogo4Schools é uma versão revisada de XLogo
- XLogoOnline é um ambiente de programação moderno baseado em navegador para a escola primária. A linguagem de programação é um subconjunto do dialeto XLogo. Além da versão online, as versões offline estão disponíveis para Windows, macOS e Linux.
- Logotipo da DR na CPCWiki
- WIN-LOGO 3.0 de um autor alemão em inglês e alemão
- POOL é um dialeto de LOGO compilado
- QLogo
- Digitool, produtores de ObjectLOGO
- turtleSpaces é uma reimplementação OpenGL e uma ampla extensão do Apple (LCSI) Logo II destinada à criação de modelos 3D, animações e jogos. Atualmente está disponível para Windows, macOS e Linux.