Logo es un lenguaje de programación educativo , diseñado en 1967 por Wally Feurzeig , Seymour Papert y Cynthia Solomon . [1] Logo no es un acrónimo: el nombre fue acuñado por Feurzeig mientras estaba en Bolt, Beranek y Newman , [2] y deriva del griego logos , que significa palabra o pensamiento .
Paradigmas | Multi-paradigma : funcional , educativo , procedimental , reflexivo |
---|---|
Familia | Ceceo |
Diseñada por | Wally Feurzeig , Seymour Papert y Cynthia Solomon |
Desarrollador | Bolt, Beranek y Newman |
Apareció por primera vez | 1967 |
Disciplina de mecanografía | dinámica |
Implementaciones importantes | |
UCBLogo , muchos otros | |
Dialectos | |
StarLogo , NetLogo y AppleLogo | |
Influenciado por | |
Ceceo | |
Influenciado | |
AgentSheets , NetLogo , Smalltalk , Etoys , Scratch , Microsoft Small Basic , KTurtle , REBOL , Boxer |
Un lenguaje de propósito general, Logo es ampliamente conocido por su uso de gráficos de tortugas , en los cuales los comandos para el movimiento y el dibujo producen gráficos de líneas o vectores , ya sea en la pantalla o con un pequeño robot llamado tortuga . El lenguaje fue concebido para enseñar conceptos de programación relacionados con Lisp y solo más tarde para habilitar lo que Papert llamó " razonamiento sintonico corporal ", donde los estudiantes pudieran entender, predecir y razonar sobre el movimiento de la tortuga imaginando lo que harían si fueran los Tortuga. Existen diferencias sustanciales entre los muchos dialectos de Logo, y la situación es confusa por la aparición regular de programas de gráficos de tortugas que se denominan Logo.
Logo es una adaptación y dialecto de múltiples paradigmas de Lisp , un lenguaje de programación funcional . [3] No existe un logotipo estándar, pero UCBLogo tiene las mejores instalaciones para manejar listas, archivos, E / S y recursividad en scripts, y puede usarse para enseñar todos los conceptos de ciencias de la computación, como lo hizo el profesor Brian Harvey de UC Berkeley en su Trilogía de estilo de logotipo de ciencias de la computación . [4]
El logotipo suele ser un lenguaje interpretado , aunque se han desarrollado dialectos compilados del logotipo (como Lhogho y Liogo). El logotipo no distingue entre mayúsculas y minúsculas, pero conserva el uso de mayúsculas y minúsculas para fines de formato.
Historia
Logo fue creado en 1967 en Bolt, Beranek and Newman (BBN), una firma de investigación de Cambridge, Massachusetts , por Wally Feurzeig , Cynthia Solomon y Seymour Papert . [5] Sus raíces intelectuales se encuentran en la inteligencia artificial , la lógica matemática y la psicología del desarrollo . Los primeros cuatro años de trabajo de investigación, desarrollo y enseñanza de Logo se realizaron en BBN. La primera implementación de Logo, llamada Ghost, se escribió en LISP en un PDP-1 . El objetivo era crear una tierra matemática donde los niños pudieran jugar con palabras y oraciones. [6] Siguiendo el modelo de LISP, los objetivos de diseño de Logo incluían poder accesible [ aclaración necesaria ] y mensajes de error informativos. El uso de tortugas virtuales permitió la retroalimentación visual inmediata y la depuración de la programación gráfica.
El primer robot tortuga Logo en funcionamiento fue creado en 1969. Una tortuga de exhibición precedió a la tortuga física del piso. Modern Logo no ha cambiado mucho de los conceptos básicos anteriores a la primera tortuga. La primera tortuga era una vagabunda atada por el suelo, no controlada por radio ni inalámbrica . En BBN Paul Wexelblat desarrolló una tortuga llamada Irving que tenía sensores táctiles y podía moverse hacia adelante, hacia atrás, rotar y hacer sonar su campana. Los primeros usuarios escolares de Logo durante un año fueron en 1968–69 en Muzzey Jr. High en Lexington, Massachusetts . Las tortugas virtuales y físicas fueron utilizadas por primera vez por estudiantes de quinto grado en la Bridge School en la misma ciudad en 1970–71.
Tortuga y gráficos
La característica más conocida de Logo es la tortuga (derivada originalmente de un robot del mismo nombre ), [5] un " cursor " en pantalla que mostraba la salida de los comandos de movimiento y un pequeño bolígrafo retráctil, que juntos producían gráficos de líneas. Tradicionalmente se ha mostrado como un triángulo o un icono de tortuga (aunque puede representarse con cualquier icono). Seymour Papert agregó gráficos de tortugas al lenguaje Logo a fines de la década de 1960 para respaldar la versión de Papert del robot tortuga , un robot simple controlado desde la estación de trabajo del usuario que está diseñado para llevar a cabo las funciones de dibujo asignadas mediante un pequeño juego de bolígrafos retráctiles. dentro o unido al cuerpo del robot.
Como cuestión práctica, el uso de la geometría de la tortuga en lugar de un modelo más tradicional imita la lógica de movimiento real del robot tortuga. La tortuga se mueve con comandos que son relativos a su propia posición, IZQUIERDA 90 significa girar a la izquierda 90 grados. Algunas implementaciones de Logo, particularmente aquellas que permiten el uso de simultaneidad y múltiples tortugas, soportan la detección de colisiones y permiten al usuario redefinir la apariencia del cursor de tortuga, esencialmente permitiendo que las tortugas Logo funcionen como sprites .
MSWLogo admite varias tortugas , así como gráficos en 3D. MSWLogo también permite la entrada desde puertos COM y puertos LPT a través de la GUI de Windows. Las interrupciones se pueden activar mediante eventos de teclado y mouse. También se pueden producir animaciones GIF simples en MSWLogo versión 6.5 con el comando gifsave .
La geometría de tortuga también se usa a veces en entornos distintos a Logo como una alternativa a un sistema de gráficos estrictamente dirigido por coordenadas. Por ejemplo, la idea de los gráficos de tortugas también es útil en el sistema Lindenmayer para generar fractales .
Implementaciones
Algunos derivados modernos de Logo permiten que miles de tortugas se muevan de forma independiente. Hay dos implementaciones populares: Instituto de Tecnología de Massachusetts 's StarLogo y la Northwestern University Center for (CCL) conectado de aprendizaje NetLogo . Permiten explorar fenómenos emergentes y vienen con muchos experimentos en estudios sociales, biología, física y otras áreas. NetLogo se utiliza ampliamente en la simulación basada en agentes en las ciencias biológicas y sociales.
Aunque no existe un estándar acordado, existe un amplio consenso sobre los aspectos centrales del lenguaje. En marzo de 2020, se contabilizaron 308 implementaciones y dialectos de Logo, cada uno con sus propias fortalezas. [8] La mayoría de esos 308 ya no se utilizan ampliamente, pero muchos aún están en desarrollo. Las implementaciones comerciales ampliamente utilizadas en las escuelas incluyen el logotipo de MicroWorlds y el logotipo de Imagine .
Las implementaciones heredadas y actuales incluyen:
- Apple Logo para Apple II Plus y Apple Logo Writer para Apple IIe , desarrollados por Logo Computer Systems, Inc. (LCSI), fueron las primeras implementaciones de Logo más ampliamente utilizadas y prevalentes que alcanzaron su punto máximo a principios y mediados de la década de 1980.
- Aquarius LOGO fue lanzado en 1982 en cartucho por Mattel para la computadora doméstica Aquarius .
- Atari Logo fue lanzado en cartucho por Atari para la familia Atari de 8 bits .
- Color Logo fue lanzado en 1983 en cartucho (26-2722) y disco (26-2721) por Tandy para el TRS-80 Color Computer .
- Commodore Logo fue lanzado, con el subtítulo "Un lenguaje para aprender", por Commodore Electronics . Se basó en el logotipo del MIT y fue mejorado por Terrapin, Inc. La versión Commodore 64 (C64105) fue lanzada en disquete en 1983; la versión Plus / 4 (T263001) se lanzó en cartucho en 1984. [9] [10]
- ExperLogo fue lanzado en 1985 en disquete por Expertelligence Inc. para Macintosh 128K .
- Hot-Logo fue lanzado a mediados de la década de 1980 por EPCOM para las computadoras MSX de 8 bits con su propio conjunto de comandos en portugués brasileño.
- El logotipo de TI (para la computadora TI 99 / 4A ) se usó en las escuelas primarias, enfatizando la utilidad del logotipo para enseñar los fundamentos de la computación a los programadores novatos.
- IBM comercializó su propia versión de Logo (P / N 6024076), desarrollado conjuntamente por Logo Computer Systems, Inc. (LCSI), para su entonces nueva PC IBM.
- UCBLogo , también conocido como Berkeley Logo, es una implementación multiplataforma gratuita del Logo estándar lanzado por última vez en 2009. George Mills en MIT usó UCBLogo como base para MSWLogo, que es más refinado y también gratuito. Jim Muller escribió un libro, The Great Logo Adventure , que era un manual completo de Logo y que usaba MSWLogo como lenguaje de demostración. Ahora está agotado, pero Jim ha publicado todos los archivos en formato pdf. (Consulte el sitio web de Logo Foundation para obtener más detalles). MSWLogo se ha convertido en FMSLogo: un entorno de programación educativa .
- ObjectLOGO es una variante con extensiones orientadas a objetos.
- aUCBLogo una reescritura y mejora de UCBLogo .
- Logo3D es una versión tridimensional de Logo y se puede encontrar en Logo (lenguaje de programación) en SourceForge.net .
- Dr. Logo fue desarrollado por Digital Research y distribuido en computadoras como IBM PCjr [11] y Amstrad CPC . [12] [13] [14]
- Acornsoft Logo fue lanzado en 1985 para BBC Micro y Acorn Electron.
- En febrero de 1990, Electron User publicó la implementación simple de Timothy Grantham de Logo for the Acorn Electron bajo el artículo "Talking Turtle". [15]
- LibreLogo es una extensión de algunas versiones de LibreOffice. Publicado en 2012, está escrito en Python . Permite escribir gráficos vectoriales en Writer.
- Se pueden encontrar al menos dos implementaciones basadas en web que utilizan el logotipo de Berkeley, HTML5, CSS3 y JQuery .
- POOL es un dialecto de Logo con extensiones orientadas a objetos, implementado en 2014. Los programas POOL se compilan y ejecutan en el IDE gráfico en Microsoft Windows . Hay disponible un entorno multiplataforma simplificado para los sistemas que admiten .NET Framework .
- QLogo es una reescritura de código abierto y multiplataforma de UCBLogo con compatibilidad casi total con UCB que utiliza gráficos acelerados por hardware.
ObjectLOGO
ObjectLOGO es una variante de Logo con extensiones de programación orientadas a objetos y alcance léxico. La versión 2.7 fue vendida por Digitool, Inc. [16] Ya no se está desarrollando ni soportando, y no se ejecuta en versiones del sistema operativo Mac posteriores a la versión 7.5. [17]
Logotipo de Lego
Lego Logo es una versión de Logo que puede manipular ladrillos Lego robóticos conectados a una computadora. [18] Se implementó en la plataforma informática Apple II y se usó en escuelas primarias estadounidenses y de otro tipo a fines de la década de 1980 y principios de la de 1990. [19] Lego Logo es un precursor de Scratch . [20]
Logotipo de Acornsoft
Acornsoft Logo es una implementación comercial de Logo para las computadoras BBC Micro y Acorn Electron de 8 bits . [21] Acornsoft Logo fue desarrollado para Acorn Computers como una implementación completa de Logo. Cuenta con tortugas de pantalla múltiple y sonido de cuatro canales. Se proporcionó en dos ROM de 16 kB , con utilidades y controladores como software adjunto. [22]
Influencia
Logo fue una influencia principal en el lenguaje de programación Smalltalk . También es la principal influencia en el entorno y el lenguaje de programación educativa de Etoys , que es esencialmente una variante de Logo escrita en Squeak (en sí misma una variante de Smalltalk ). Logo influyó en el modelo de procedimiento / método en AgentSheets y AgentCubes para programar agentes similares a la noción de tortuga en Logo. El logotipo proporcionó el lenguaje subyacente para Boxer. Boxer se desarrolló en la Universidad de California, Berkeley y el MIT y se basa en un modelo de alfabetización , lo que facilita su uso para personas sin conocimientos técnicos. [ cita requerida ]
KTurtle es una variación de Logo implementada en Qt para el entorno KDE basado libremente en Logo. [23]
Dos resultados más de la influencia de Logo son Kojo , una variante de Scala, y Scratch , un lenguaje visual de arrastrar y soltar que se ejecuta en un navegador web.
En 2015, se desarrolló Cubetto , un sistema de robótica educativa para niños de tres años en adelante, mediante financiación colectiva. Cubetto fue influenciado tanto por Logo como por Montessori . Cubetto presenta una pequeña tortuga cúbica que gira solo 90 grados. [24] Cubetto se ha descrito como una actualización del sistema TORTIS del logotipo del MIT de la caja de botones. [25]
Ver también
- AgentCubes
- AgentSheets
- UCBLogo
- MSWLogo
- Micromundos
- StarLogo
- NetLogo
- LibreLogo , un lenguaje de gráficos de tortugas que carece de compatibilidad total con UCB
Referencias
- ^ Abelson, Hal; Goodman, Nat; Rudolph, Lee (diciembre de 1974). "Manual de logotipos" . Laboratorio de Inteligencia Artificial, Instituto de Tecnología de Massachusetts . hdl : 1721,1 / 6226 . Archivado desde el original el 11 de septiembre de 2016 . Consultado el 28 de agosto de 2016 .
- ^ Goldenberg, E. Paul (agosto de 1982). "Logotipo: un glosario cultural" . Byte . pag. 218 . Consultado el 19 de octubre de 2013 .
- ^ CSLS Vol 1, Prefacio .pxvi, Harvey 1997
- ^ Estilo del logotipo de informática , Brian Harvey, MIT Press (3 volúmenes) ISBN 0-262-58148-5 , ISBN 0-262-58149-3 , ISBN 0-262-58150-7 . Disponible en línea Archivado el 4 de julio de 2013 en Wayback Machine.
- ^ a b "Fundación Logo" . el.media.mit.edu . Archivado desde el original el 21 de julio de 2011 . Consultado el 7 de abril de 2011 .
- ^ "logothings" . logothings.wikispaces.com . Archivado desde el original el 7 de diciembre de 2011.
- ^ Pietrocola, Giorgio (2005). "Tartapelago" . Maecla .
- ^ "El proyecto del árbol del logotipo" (PDF) . elica.net . Archivado desde el original (PDF) el 2009-03-06 . Consultado el 25 de marzo de 2020 .
- ^ Cerebro, Jim; Zimmerman, Bo (30 de octubre de 2017). "Lista canónica de productos Commodore" . Archivado desde el original el 20 de diciembre de 2017 . Consultado el 3 de diciembre de 2017 .
- ^ "Logotipo - Detalles del software" . Plus / 4 Mundo . Archivado desde el original el 4 de diciembre de 2017 . Consultado el 3 de diciembre de 2017 .
- ^ "DRI envía la versión 128K de Dr. Logo" (PDF) . Micro Notes : información técnica sobre productos de investigación digital . 2 (2). Pacific Grove, CA, EE.UU .: Digital Research, Inc. Mayo de 1984. p. 4. NWS-106-002. Archivado (PDF) desde el original el 11 de febrero de 2020 . Consultado el 11 de febrero de 2020 .
[…] Dr. Logo apareció por primera vez en el mercado minorista en el otoño de 1983 para IBM PC y subió a la cima de la lista Softsel Hot List . La versión comercial incluía SpeedStart CP / M , una versión abreviada de CP / M que se inicia automáticamente cuando se enciende el sistema. […]
[1] - ^ Logotipo de DR de Digital Research
- ^ Amstrad CPC 6128 - Historia de la informática
- ^ Manual Amstrad PCW 8256/8512
- ↑ Talking Turtle Archivado el 28 de marzo de 2017 en la Wayback Machine en las páginas 20 y 21
- ^ Object Logo Archivado el 30 de abril de 2008en lapágina Wayback Machine del sitio web de Digitool (consultado el 4 de marzo de 2008)
- ^ Página de pedidos del logotipo del objeto en el sitio web de Digitool (consultado el 4 de marzo de 2008)
- ^ Kits de construcción de comportamiento
- ^ Proyecto Lego / LOGO Archivado el 20 dejulio de 2011en la Wayback Machine en UCLS
- ^ Bull, G .; Garofalo, J .; Hguyen, N. (2020), "Pensamiento sobre el pensamiento computacional: Orígenes del pensamiento computacional en la informática educativa", Journal of Digital Learning in Teacher Education , 36 (1): 6–18, doi : 10.1080 / 21532974.2019.1694381 , S2CID 214563715
- ^ Field, Graham (1985). LOGO en la computadora de la BBC y Acorn Electron . Macmillan . ISBN 0-333-39566-2.
- ^ Radburn, Derek. "Cuatro Logos para BBC Micro" . El especial educativo para usuarios micro . El micro usuario . Consultado el 20 de febrero de 2012 .
- ^ "El proyecto educativo de KDE - KTurtle" . edu.kde.org . Archivado desde el original el 27 de agosto de 2006.
- ^ "Cubetto: Un robot de juguete que enseña a los niños a programar y programar computadoras" . Primo Toys . Archivado desde el original el 2 de septiembre de 2016.
- ^ "Proyecto OZNAKI" . harveycohen.net . Archivado desde el original el 20 de agosto de 2016.
Otras lecturas
- The Great Logo Adventure , Jim Muller, Publicaciones Doone ISBN 0-9651934-6-2 ; ahora agotado; descargable de forma gratuita en formato pdf desde el sitio web de MSWLogo, junto con el programa gratuito MSWLogo
- To Artificial Intelligence (1976) Primer libro de texto de IA donde Logo se usa ampliamente. (Usando eldialecto de la Universidad de Edimburgo , AI2LOGO)
- Turtle Geometry Abelson y diSessa
- Diseñadores infantiles , Idit Harel Caperton, Ablex Publishing Corporation ISBN 0893917885 . Disponible en línea
- Aprendiendo con Logo , Daniel Watt, McGraw Hill, ISBN 0-07-068570-3 . Disponible a través de Amazon
- Enseñar con logotipo: bloques de construcción para el aprendizaje, Molly Watt y Daniel Watt, Addison Wesley (ahora Pearson) 1986, ISBN 0-201-08112-1 Disponible a través de Amazon
enlaces externos
- Intérprete de logotipos
- papert: logo en su navegador
- Intérprete de logotipos en línea basado en PHP
- MachineLab TurtleSphere (MaLT) Intérprete de LOGOTIPO en línea con gráficos 3D utilizando la biblioteca javascript three.js.
- Intérprete de logotipos en línea gratuito de Vlad Tudor utilizando HTML5, CSS3 y JQuery
- TurtleAcademy (Learn Logo gratis)
- XLogo4Schools es una versión revisada de XLogo
- XLogoOnline es un entorno de programación moderno basado en navegador para la escuela primaria. El lenguaje de programación es un subconjunto del dialecto XLogo. Además de la versión en línea, hay versiones sin conexión disponibles para Windows, macOS y Linux.
- Logotipo de DR en CPCWiki
- WIN-LOGO 3.0 de un autor alemán en idioma inglés y alemán
- POOL es un dialecto de LOGO compilado
- QLogo
- Digitool, productores de ObjectLOGO
- turtleSpaces es una reimplementación de OpenGL y una amplia extensión de Apple (LCSI) Logo II destinada a la creación de modelos, animaciones y juegos en 3D. Actualmente está disponible para Windows, macOS y Linux.