Logotipo (lenguaje de programación)

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
La simetría alrededor de un punto se puede obtener utilizando sólo unas cuantas instrucciones, permitiendo a los usuarios dibujar hipotrocoides como el que se muestra aquí.

Logo es un lenguaje de programación educativo, diseñado en 1967 por Wally Feurzeig, Seymour Papert y Cynthia Solomon. Logo no es un acrónimo: el nombre fue acuñado por Feurzeig mientras estaba en Bolt, Beranek y Newman, y deriva del griego logos, que significa palabra o pensamiento.

Lenguaje de propósito general, Logo es ampliamente conocido por su uso de gráficos de tortuga, en los que los comandos para el movimiento y el dibujo producen gráficos de líneas o vectoriales, ya sea en la pantalla o con un pequeño robot llamado tortuga. El lenguaje se concibió para enseñar conceptos de programación relacionados con Lisp y solo más tarde para permitir lo que Papert denominó "razonamiento sintónico del cuerpo", donde los estudiantes podían comprender, predecir y razonar sobre el movimiento de la tortuga. imaginando lo que harían si fueran la 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 multiparadigma y un dialecto de Lisp, un lenguaje de programación funcional. 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 informática, como lo hizo el profesor de UC Berkeley, Brian Harvey, en su Trilogía de Computer Science Logo Style.

Logo suele ser un lenguaje interpretado, aunque se han desarrollado dialectos compilados de Logo (como Lhogho y Liogo). El logotipo no distingue entre mayúsculas y minúsculas, pero conserva el caso utilizado para fines de formato.

Historia

El logotipo 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. Sus raíces intelectuales están 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 docencia 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. Siguiendo el modelo de LISP, los objetivos de diseño de Logo incluían energía accesible 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 se creó en 1969. Una tortuga de exhibición precedió a la tortuga de piso física. El logotipo moderno no ha cambiado mucho con respecto a los conceptos básicos anteriores a la primera tortuga. La primera tortuga era un vagabundo atado, no controlado por radio ni inalámbrico. 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 Bridge School en la misma ciudad en 1970–71.

Tortuga y gráficos

Gif animado con tortuga en MSWLogo (Cardioide)

La característica más conocida del logotipo es la tortuga (derivada originalmente de un robot del mismo nombre), un "cursor" que mostraba la salida de los comandos de movimiento y un pequeño bolígrafo retráctil, juntos produciendo gráficos de líneas. Tradicionalmente se ha mostrado como un triángulo o un ícono de tortuga (aunque puede representarse con cualquier ícono). 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. a él usando un pequeño bolígrafo retráctil colocado o conectado 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, LEFT 90 significa girar 90 grados a la izquierda. Algunas implementaciones de Logo, particularmente aquellas que permiten el uso de concurrencia y múltiples tortugas, admiten la detección de colisiones y permiten al usuario redefinir la apariencia del cursor de la tortuga, esencialmente permitiendo que las tortugas de Logo funcionen como sprites.

La geometría de tortuga también se usa a veces en entornos distintos de Logo como alternativa a un sistema de gráficos dirigido estrictamente por coordenadas. Por ejemplo, la idea de gráficos de tortugas también es útil en el sistema de Lindenmayer para generar fractales.

Implementaciones

IBM LCSI Pantalla de bienvenida de Logo
Código fuente y salida en IBM LCSI Logo funcionando en DOSBox

Algunos derivados modernos de Logo permiten que miles de tortugas se muevan de forma independiente. Hay dos implementaciones populares: el StarLogo del Instituto Tecnológico de Massachusetts y el NetLogo del Centro de Aprendizaje Conectado (CCL) de la Universidad Northwestern. Permiten explorar fenómenos emergentes y vienen con muchos experimentos en estudios sociales, biología, física y otras áreas. NetLogo se usa 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 contaron 308 implementaciones y dialectos de Logo, cada uno con sus propias fortalezas. La mayoría de esos 308 ya no se utilizan ampliamente, pero muchos todavía están en desarrollo. Las implementaciones comerciales ampliamente utilizadas en las escuelas incluyen MicroWorlds Logo e Imagine Logo.

Las implementaciones heredadas y actuales incluyen:

Lanzado por primera vez en la década de 1980

  • Apple Logo para el Apple II Plus y Apple Logo Writer para el Apple IIe, desarrollado por Logo Computer Systems, Inc. (LCSI), fueron las implementaciones tempranas más ampliamente utilizadas y prevalentes del Logo que alcanzó su máximo a mediados de los años 80.
  • Aquarius LOGO fue lanzado en 1982 en cartucho por Mattel para la computadora casera Aquarius.
  • Atari Logo fue liberado 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 ordenador de color TRS-80.
  • Commodore Logo fue lanzado, con el subtítulo "A Language for Learning", por Commodore Electronics. Se basó en MIT Logo y mejoró por Terrapin, Inc. La versión Commodore 64 (C64105) fue lanzada en disquete en 1983; la versión Plus/4 (T263001) fue lanzada en cartucho en 1984.
  • ExperLogo fue liberado en 1985 en floppy por Expertelligence Inc. para el Macintosh 128K.
  • Hot-Logo fue lanzado a mediados de los años 80 por EPCOM para los ordenadores MSX de 8 bits con su propio conjunto de comandos en portugués brasileño.
  • TI Logo (para el ordenador TI 99/4A) se utilizó en las escuelas primarias, destacando la utilidad de Logo en la enseñanza de los fundamentos informáticos a los programadores de novatos.
  • Sprite Logo, también desarrollado por Logo Computer Systems Inc., tenía diez tortugas que podían funcionar como procesos independientes. Corrió en computadoras Apple II, con la ayuda de una tarjeta Sprite insertada en una de las ranuras del ordenador.
  • IBM comercializa su propia versión de Logo (P/N 6024076), desarrollada conjuntamente por Logo Computer Systems, Inc. (LCSI), para su nuevo PC IBM.
  • ObjectLOGO es una variante de Logo con extensiones de programación orientadas al objeto y scoping lexical. La versión 2.7 fue vendida por Digitool, Inc. Ya no está siendo desarrollado o soportado, y no funciona en versiones del sistema operativo Mac más adelante de la versión 7.5.
  • El Dr. Logo fue desarrollado por Digital Research y distribuido en ordenadores incluyendo el IBM PCjr, Atari ST y el Amstrad CPC.
  • Acornsoft Logo fue lanzado en 1985. Es una implementación comercial de Logo para los ordenadores BBC Micro y Acorn Electron de 8 bits. Se desarrolló para Acorn Computers como una aplicación completa de Logo. Cuenta con múltiples tortugas de pantalla y sonido de cuatro canales. Se proporcionó en dos ROMs de 16kB, con utilidades y conductores como software acompañante.

Lanzado por primera vez en la década de 1990

  • En febrero de 1990 Electron User publicó Timothy Grantham la simple implementación de Logo para el Electron Acorn bajo el artículo "Talking Turtle".
  • Comenius Logo es una implementación de Logo desarrollada por la Facultad de Matemáticas y Física de la Universidad Comenius. Comenzó el desarrollo en diciembre de 1991, y también se conoce en otros países como SuperLogo, MultiLogo y MegaLogo.
  • Lego Logo es una versión de Logo que puede manipular los ladrillos robóticos Lego adheridos a un ordenador. Se implementó en la plataforma de computación Apple II y se utilizó en escuelas americanas y de otro grado a finales del decenio de 1980 y principios del decenio de 1990. Lego Logo es un precursor de Scratch.
  • UCBLogo, también conocido como Berkeley Logo, es una aplicación gratuita y multiplataforma del Logo estándar publicado por última vez en 2009. George Mills en el MIT utilizó UCBLogo como base para MSWLogo que es más refinado y también libre. Jim Muller escribió un libro, El Gran Logo Aventura, que fue un manual completo de Logo y que utilizó MSWLogo como lenguaje de demostración. MSWLogo se ha convertido en FMSLogo.

Lanzado por primera vez a partir de 2000

  • aUCB Logo una reescritura y mejora de UCBLogo.
  • Imagine Logo es un sucesor de Comenius Logo, implementado en 2000. La versión en inglés fue publicada por Logotron Ltd. en 2001.
  • LibreLogo es una extensión a algunas versiones de LibreOffice. Publicado en 2012, está escrito en Python. Permite que los gráficos vectoriales sean escritos en Writer.
  • Logo3D es una versión tridimensional del Logo.
  • POOL es un dialecto de Logo con extensiones orientadas al objeto, implementado en 2014. Los programas POOL se compilan y se ejecutan en el IDE gráfico en Microsoft Windows. Un entorno simplificado y multiplataforma está disponible para sistemas de soporte. Marco NET.
  • QLogo es una reescritura de código abierto y multiplataforma de UCBLogo con compatibilidad casi completa de UCB que utiliza gráficos acelerados por hardware.
  • Lynx es una versión online de Logo desarrollada por Logo Computer Systems Inc. Puede ejecutar un gran número de tortugas, soporta la animación, procesos paralelos, detección de color y colisión.
  • Logotipos Mor es un intérprete de código abierto en línea de Logo 3D basado en JavaScript y p5.js. Admite dibujos 3D, animaciones, multimedia, modelos 3D y diversas herramientas. También incluye un editor de códigos completo basado en CodeMirror
  • LbyM es un código abierto en línea Logo intérprete basado en JavaScript, creado y desarrollado activamente (a partir de 2021) para Sonoma State University Aprender por Hacer programa. Cuenta con programación tradicional Logo, conectividad con un microcontrolador personalizado e integración con un moderno editor de códigos.

Influencia

Logo fue una influencia principal en el lenguaje de programación Smalltalk. También es la principal influencia en el lenguaje y el entorno 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 de manera similar a la noción de tortuga en Logo. Logo proporcionó el lenguaje subyacente para Boxer. Boxer fue desarrollado en la Universidad de California, Berkeley y el MIT y se basa en un modelo de alfabetización, lo que lo hace más fácil de usar para personas sin conocimientos técnicos.

KTurtle es una variación de Logo implementada en Qt para el entorno KDE basada libremente en Logo.

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.

Contenido relacionado

Capa de DirectMedia simple

Itanio

Lista de juegos basados en Dune

Más resultados...
Tamaño del texto:
Copiar