fbpx
Wikipedia

Gobstones

Gobstones[1][2]​ es un lenguaje de programación diseñado para la enseñanza de ideas básicas de programación. Fue utilizado por primera vez en una materia de Introducción a la Programación de la Universidad Nacional de Quilmes en el año 2009. Se diferencia de otros lenguajes dedicados a tal fin, como puede ser Logo, debido a varias características. La más importante es que busca orientar al programador a un pensamiento denotacional (el "qué" de los programas), en lugar del tradicional pensamiento operacional (el "cómo" o secuencia de instrucciones). Otra de esas características es que el pasaje de este lenguaje a otros utilizados en la industria resulta más sencillo, pues posee conceptos fundamentales comunes a todos los lenguajes (pero con una separación mucho más clara que en ellos), y por la utilización de una sintaxis similar a la de estos. La sintaxis del lenguaje fue diseñada para ser similar a lenguajes como C y Java (posee bloques de código encerrados por llaves, definiciones de procedimientos y funciones, parámetros por valor, variables exclusivamente locales, etc.).

Ejecución de un programa simple en Gobstones 1.0.18.

Su primera implementación fue hecha en el lenguaje Haskell, denominada sencillamente GOBSTONES, para ser usado en el intérprete Hugs a través de comandos de línea, y los resultados se visualizaban exclusivamente en ASCII. Actualmente existen implementaciones en otros lenguajes como Python (denominada PyGobstones) y C++. PyGobstones implementa un ambiente de desarrollo integrado para Gobstones, proveyendo edición del programa, validación de sintaxis, edición de tableros y algunas otras características adicionales. Es la única herramienta que se encuentra activa en su desarrollo.

Su nombre proviene del juego del mismo nombre proveniente de la historia de Harry Potter (cf. http://es.harrypotter.wikia.com/wiki/Gobstones), puesto que en las bolitas son parte fundamental de su universo de discurso.

Universo de Discurso del Lenguaje

Gobstones[3]​ posee tipos primitivos que intentan ser intuitivos, pertenecientes a un universo de discurso diseñado especialmente para este lenguaje. El componente más notable es el tablero, es una cuadrícula de celdas dispuestas en filas y columnas. Cada celda es un contenedor en el que puede haber bolitas de colores. En la versión actual, existen bolitas de cuatro colores: Azul, Negro, Rojo y Verde.

El tablero que posee un elemento activo, denominado "cabezal", que apunta en todo momento a una celda del mismo. El cabezal puede realizar diversas acciones( siempre sobre una única celda por vez), tales como poner y sacar bolitas de diferentes colores, moverse a otras celdas del tablero y otras. Si el cabezal se mueve a una celda no existente o intenta sacar bolitas de una celda vacía, el programa finaliza de forma anormal.

El lenguaje además posee una diferenciación clara entre comandos y expresiones puras. Los comandos describen acciones que realiza el cabezal sobre el tablero, y por lo tanto generan efectos. Las expresiones se limitan solo a denotar valores (no poseen efectos laterales). El usuario puede definir procedimientos (que dan nombre a comandos nuevos) y funciones puras.

El lenguaje no posee entrada y salida de datos. Al final de la ejecución de un programa Gobstones se visualiza un tablero final que resulta de los efectos descritos en el programa. Esta es una forma de no favorecer el pensamiento operacional, ya que no es sencillo ir viendo los estados intermedios, y así se minimiza la posibilidad de programación por "prueba y error".[4]

Sintaxis y comandos

  • Se utiliza la palabra reservada, program, encerrado entre llaves ({ y } )
  • La secuenciación de comandos se obtiene colocando los mismos uno a continuación del otro, normalmente en líneas separadas, y opcionalmente terminados con el carácter de punto y coma (;).[5]
     
    Tablero de Gobstones de 3x3 con 5 bolitas Rojas ya insertadas.

Comandos:

  • Poner(<color>): indica al cabezal que coloque una bolita del color <color> en la celda actual. Los valores posibles para <color> son los ya indicados: Verde, Rojo, Azul y Negro.
  • Sacar(<color>): indica al cabezal que quite una bolita del color <color> en la celda actual, si hay alguna. Cuando el cabezal recibe una orden que no puede ejecutar, toma la acción drástica de autodestruirse, y con el al tablero y todas las bolitas.
  • Mover(<dir>): indica al cabezal que debe moverse una celda en la dirección <dir>, si es posible.Las direcciones posibles (los valores que puede tomar <dir>) son Norte, Sur, Este y Oeste.wik
  • IrAlBorde(<dir>): muee el cabezal al borde inficado del tablero, en la misma fila y o columna.
  • VaciarTablero(): elimina todas las bolitas del tablero.

Enlaces externos

  • Página oficial del proyecto
  • Haskell
  • Python

Referencias

  1. «Especificación del lenguaje Gobstones». 
  2. El nombre verdadero de la programación. Una concepción de enseñanza de la programación para la sociedad de la información
  3. «Repositorio». 
  4. «Gobstones - Program.AR». 
  5. Martínez López (2014). «1-4». Las bases conceptuales de la Programación. 
  •   Datos: Q5882078

gobstones, lenguaje, programación, diseñado, para, enseñanza, ideas, básicas, programación, utilizado, primera, materia, introducción, programación, universidad, nacional, quilmes, año, 2009, diferencia, otros, lenguajes, dedicados, como, puede, logo, debido, . Gobstones 1 2 es un lenguaje de programacion disenado para la ensenanza de ideas basicas de programacion Fue utilizado por primera vez en una materia de Introduccion a la Programacion de la Universidad Nacional de Quilmes en el ano 2009 Se diferencia de otros lenguajes dedicados a tal fin como puede ser Logo debido a varias caracteristicas La mas importante es que busca orientar al programador a un pensamiento denotacional el que de los programas en lugar del tradicional pensamiento operacional el como o secuencia de instrucciones Otra de esas caracteristicas es que el pasaje de este lenguaje a otros utilizados en la industria resulta mas sencillo pues posee conceptos fundamentales comunes a todos los lenguajes pero con una separacion mucho mas clara que en ellos y por la utilizacion de una sintaxis similar a la de estos La sintaxis del lenguaje fue disenada para ser similar a lenguajes como C y Java posee bloques de codigo encerrados por llaves definiciones de procedimientos y funciones parametros por valor variables exclusivamente locales etc Ejecucion de un programa simple en Gobstones 1 0 18 Su primera implementacion fue hecha en el lenguaje Haskell denominada sencillamente GOBSTONES para ser usado en el interprete Hugs a traves de comandos de linea y los resultados se visualizaban exclusivamente en ASCII Actualmente existen implementaciones en otros lenguajes como Python denominada PyGobstones y C PyGobstones implementa un ambiente de desarrollo integrado para Gobstones proveyendo edicion del programa validacion de sintaxis edicion de tableros y algunas otras caracteristicas adicionales Es la unica herramienta que se encuentra activa en su desarrollo Su nombre proviene del juego del mismo nombre proveniente de la historia de Harry Potter cf http es harrypotter wikia com wiki Gobstones puesto que en las bolitas son parte fundamental de su universo de discurso Indice 1 Universo de Discurso del Lenguaje 2 Sintaxis y comandos 3 Enlaces externos 4 ReferenciasUniverso de Discurso del Lenguaje EditarGobstones 3 posee tipos primitivos que intentan ser intuitivos pertenecientes a un universo de discurso disenado especialmente para este lenguaje El componente mas notable es el tablero es una cuadricula de celdas dispuestas en filas y columnas Cada celda es un contenedor en el que puede haber bolitas de colores En la version actual existen bolitas de cuatro colores Azul Negro Rojo y Verde El tablero que posee un elemento activo denominado cabezal que apunta en todo momento a una celda del mismo El cabezal puede realizar diversas acciones siempre sobre una unica celda por vez tales como poner y sacar bolitas de diferentes colores moverse a otras celdas del tablero y otras Si el cabezal se mueve a una celda no existente o intenta sacar bolitas de una celda vacia el programa finaliza de forma anormal El lenguaje ademas posee una diferenciacion clara entre comandos y expresiones puras Los comandos describen acciones que realiza el cabezal sobre el tablero y por lo tanto generan efectos Las expresiones se limitan solo a denotar valores no poseen efectos laterales El usuario puede definir procedimientos que dan nombre a comandos nuevos y funciones puras El lenguaje no posee entrada y salida de datos Al final de la ejecucion de un programa Gobstones se visualiza un tablero final que resulta de los efectos descritos en el programa Esta es una forma de no favorecer el pensamiento operacional ya que no es sencillo ir viendo los estados intermedios y asi se minimiza la posibilidad de programacion por prueba y error 4 Sintaxis y comandos EditarSe utiliza la palabra reservada program encerrado entre llaves y La secuenciacion de comandos se obtiene colocando los mismos uno a continuacion del otro normalmente en lineas separadas y opcionalmente terminados con el caracter de punto y coma 5 Tablero de Gobstones de 3x3 con 5 bolitas Rojas ya insertadas Comandos Poner lt color gt indica al cabezal que coloque una bolita del color lt color gt en la celda actual Los valores posibles para lt color gt son los ya indicados Verde Rojo Azul y Negro Sacar lt color gt indica al cabezal que quite una bolita del color lt color gt en la celda actual si hay alguna Cuando el cabezal recibe una orden que no puede ejecutar toma la accion drastica de autodestruirse y con el al tablero y todas las bolitas Mover lt dir gt indica al cabezal que debe moverse una celda en la direccion lt dir gt si es posible Las direcciones posibles los valores que puede tomar lt dir gt son Norte Sur Este y Oeste wik IrAlBorde lt dir gt muee el cabezal al borde inficado del tablero en la misma fila y o columna VaciarTablero elimina todas las bolitas del tablero Enlaces externos EditarPagina oficial del proyecto Haskell PythonReferencias Editar Especificacion del lenguaje Gobstones El nombre verdadero de la programacion Una concepcion de ensenanza de la programacion para la sociedad de la informacion Repositorio Gobstones Program AR Martinez Lopez 2014 1 4 Las bases conceptuales de la Programacion Datos Q5882078Obtenido de https es wikipedia org w index php title Gobstones amp oldid 134131699, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos