PROGRAMACIÓN ORIENTADA A OBJETOS EDUCATIVA EN UNA MÁQUINA VIRTUAL BASADA EN PROTOTIPOS J. Baltasar García Perez-Schofield 1 , Emilio García Roselló 1 , David Martínez Torres 2 , Manuel Perez Cota 1 1 Departamento de Informática, Edif. Fundición, s/n, Campus As Lagoas-Marcosende, 36201 Vigo, España. {jbgarcia | mpcota | erosello}@uvigo.es 2 Mixteca. Huajuapan de León. 69000 Oaxaca - México. dtorres@mixteco.utm.mx La programación orientada a objetos es una las especialidades más importantes a estudiar dentro del campo de las ciencias computacionales. El paradigma de orientación a objetos está ya absolutamente asentado en nuestros planes de estudio, de manera que hoy en día se enseña antes incluso que el paradigma estructurado. De una manera generalizada, el lenguaje que se está adoptando para la enseñanza es Java. Si bien este lenguaje es perfectamente válido, existen otros lenguajes, que siguen otros modelos de orientación a objetos que podrían también ser aplicables e incluso presentar algunas ventajas. En este artículo, se presenta precisamente una máquina virtual diseñada con el objetivo de servir especialmente para la enseñanza, que presenta una naturaleza distinta a la de aquellos lenguajes basados en clases (C++, Java), y con sus propias ventajas para la enseñanza. 1. Introducción A lo largo de los últimos años, ha habido varios intentos de crear plataformas de aprendizaje para la correcta asimilación de los conceptos de programación. Uno de los más llamativos y con más éxito, es probablemente, BlueJ (Kölling et al., 2003). Si bien BlueJ hace más énfasis en un entorno de programación que en un lenguaje de programación, este proyecto supuso en el pasado el desarrollo, efectivamente, de un lenguaje que aportara buena parte de las características que presenta Java (si bien Java es descartado en un principio, aunque favorablemente evaluado en (Kölling, 1999a)). Este lenguaje era Blue (Kölling, 1999b). El proyecto Blue supuso en su momento un estudio de varias características que un lenguaje de programación debería tener para ser considerado adecuado para educación (Kölling, 1999a). Es obvio que este estudio está motivado respecto al aprendizaje temprano (primeros cursos) del paradigma de programación orientada a objetos. Si bien los autores encuentran muy razonables algunas de las características pedidas por Kölling y su equipo para un lenguaje orientado a objetos educativo (por ejemplo "pequeño y simple", "alto nivel", "sintaxis legible", "no redundancia de conceptos", "pureza" ...), con uno especialmente los autores de este trabajo muestran su desacuerdo: "seguridad respecto al tipo". Con este último, los autores del proyecto BLUE tratan de proporcionar mayores ventajas al programador novato.