Hacé tu fork en GitHub

  ¡Tenemos una nueva versión: Wollok Freire!

Tenemos un nuevo release de Wollok: la versión 1.6 que homenajea al gran educador Paulo Freire. Su obra es fuente de inspiración para todos los que abordamos el camino de la enseñanza.

Este nuevo producto es fruto de un gran equipo de docentes de programación y desarrolladores, donde una vez al mes nos juntamos para contarnos novedades, hacer sociales y aprender del trabajo de los demás. Si te interesa participar ¡contactanos!

¡Salió el último release: 1.6.3!

En este link podés ver los últimos arreglos y funcionalidades que sacamos en la versión 1.6.3 el 04/10/2017

¡Conocé lo nuevo!

Podés ver en este link el resumen de todos los issues (más de 100) que fueron resueltos. Pero para que sea más amena la introducción te contamos qué cosas nuevas trae:


Conjunto de tests

Anteriormente solo podíamos generar un archivo con tests aislados. Ahora se incorpora una nueva posibilidad: generar un conjunto de tests con estado compartido.


  • Tenemos varios tests que comparten el mismo objeto cuyo estado inicial se define en un fixture (lo que asegura que sean independientes y repetibles)

  • La solapa que muestra los resultados de los tests está integrada con el editor, por eso cuando hay un error podemos navegar directamente a la línea donde se produjo
  • Si presionamos en el botón Mostrar solamente fallas y errores la vista filtra los tests que debemos corregir, lo que permite al usuario concentrarse en dichos casos de prueba
  • A partir de esta versión se puede ejecutar todos los tests de un proyecto (tanto para tests individuales como para describes):


En la solapa Outline (Resumen) vemos cómo es la estructura de un describe


Mejoras al lenguaje

Más allá de correcciones menores, lo más interesante que trae Wollok Freire es un cambio importante respecto a los constructores:

  • toda clase hereda los constructores de su superclase, es decir que no está obligado a definir un constructor solo para llamar a super
  • a menos que explícitamente decida generar sus constructores: en ese caso valen únicamente los constructores de dicha clase


Recordá que podés buscar clases de la biblioteca nativa Wollok presionando Ctrl + Shift + F3 y escribiendo el nombre de la clase deseada:


Nuevas Validaciones

El feedback que recibimos de la herramienta nos permitió agregar nuevos controles para detectar tempranamente problemas en los programas:

  • Se encuentran referencias cíclicas de jerarquías (A hereda de B, B hereda de A por ejemplo) para evitar un loop infinito
  • Se detectan errores de concepto como redefinir un método para solamente llamar a super
  • Se castellanizaron los mensajes de error para facilitar la lectura al estudiante de habla española

Varios chequeos nuevos más se agregaron, y muchos más esperemos incorporar en próximas versiones.

Quick Fixes

Se mejoró la experiencia de usuario respecto a los quick fixes, como podemos apreciar en esta pequeña demostración:


  • Se castellanizaron los mensajes para facilitar la lectura al estudiante de habla española
  • Los quick fixes trabajan ahora hacia cualquier archivo al que necesiten acceder (en versiones anteriores fallaba la creación de métodos, entre otros elementos, cuando eso involucraba un archivo diferente del que se estaba manipulando)
  • Se mejoraron quick fixes en tests, describes, y dentro de clases la creación de constructores, métodos redefinidos, nuevas referencias.

Organizacion general del proyecto

Wollok permite organizar proyectos en packages, cuando éstos empiezan a tornarse voluminosos.

La forma de referenciar los objetos y clases en las sentencias imports es agregando como prefijo los nombres de los packages o carpetas terminando con un punto:


Mejoras al Diagrama estatico

Wollok ofrece un diagrama estático que se integra con las demás herramientas del entorno:


Ahora tenés muchas más funcionalidades disponibles:

  • Los ajustes manuales y la configuración en general se almacena para que nunca pierdas tus cambios
  • Tiene una forma inteligente de dibujar el diagrama
  • Podés configurar qué clases, variables o métodos mostrar en el diagrama (por defecto no muestra las variables ni los getters, ni los constructores)
  • Te recordamos dos funcionalidades que ya estaban presentes: permite llevarte hacia el editor de código con un doble click y podés exportar el diagrama a un archivo de imagen png
  • Detecta automáticamente las relaciones de herencia. Por el momento las relaciones de asociación y dependencia las tenés que definir a mano a partir de la barra de herramientas que está a la derecha. Cuando comenzás a marcar relaciones de asociación o dependencia el diagrama asume que por defecto vas a generar varias relaciones, entonces tenés que volver a elegir “Selección” para dejar de generar relaciones.
  • Todas las acciones pueden deshacerse, de manera de volver a mostrar elementos ocultos, o volver a definir relaciones entre elementos.


  • Y en la versión 1.6.1 se incorporó la posibilidad de agregar cualquier clase externa que esté en el mismo proyecto


Mejoras en la Consola REPL

  • Solucionamos el problema de pegar texto desde el portapapeles, que obligaba a escribir un espacio para que funcionara
  • Se puede ejecutar la consola REPL sin tener un proyecto abierto
  • Cuando hay un error, podés navegar por la pila de ejecución directamente hacia el código (se integra con el editor)


Cambios en los plugins

En esta versión

  • el plugin para compartir código por defecto es EGit, que integra Git con una instalación de Eclipse
  • el plugin para SVN ya no viene con la instalación, por lo que si lo necesitás podés descargarlo en forma manual desde el Marketplace, como cualquier otro plugin que quieras utilizar

Soporte para bibliotecas externas

A partir de esta versión, Wollok permite correr cualquier archivo .wlk, .wtest o .wpgm pasándole cualquier biblioteca externa que pueda compilar una JDK 1.8.

Esto habilita a que cualquier proyecto tuyo tenga bibliotecas .jar y que en la configuración de ejecución (Run Configuration) vos puedas indicar que use dichas bibliotecas.


  Issues resueltos


Podés ver la lista de issues resueltos de cada release de 1.6: