sábado, 31 de diciembre de 2016

¿Cómo empiezan ZinjaI, PSeInt y MotoGT el 2017?

Finalmente termina el año, y con él un cuatrimestre de trabajo, y llega un período de pseudo-descanso. El cuatrimestre que acaba de terminar, como todos, fue especialmente difícil: esta vez porque se me juntaron varias materias y terminé dando entre teorías y prácticas 6 clases por semana! Eso me dejo sin tiempo para mis proyectos libres... hasta hace unas semanas. Cuando terminó pude de a poco retomar los desarrollos. Ya leyeron las primeras novedades. Pero hay más en camino, y algunas muy importantes.


Empecemos por lo más concreto. Además de cerrar releases de ZinjaI y PSeInt después de tanto tiempo, cuando terminó el cursado pude también volver a encontrar tiempo para trabajar en MotoGT. Hacía 10 meses que no lo tocaba, pero de pronto empezó a moverse otra vez y avanzó mucho. No quiero prometer nada, pero a este ritmo seguramente cerca del final de las vacaciones pueda liberar una primera versión de MotoGT2; juego totalmente reescrito desde cero, con un código muchísimo mejor, un engine que me permitirá agregar una infinidad de cosas en el futuro, y muchos detalles mejorados aquí y allá. Ya comentaré los avances en un post dedicado.


En segundo lugar, PSeInt. Es demasiado grande como para reescribirlo de cero, y además los usuarios no estarían dispuestos a esperar dos años a que el nuevo código llegue al nivel de funcionalidad del viejo. Así que lo voy reescribiendo por partes, y reemplazando de a poco. Así como en algún punto lo hice con el mecanismo de evaluación de expresiones (y ya quisiera rehacerlo por tercera vez), y este año comencé algo parecido con las clases que representan la memoria, ahora quiero hacerlo con la parte que parsea y verifica los errores de sintaxis.

Ahora le toca al parseo. A diferencia de lo de la memoria, este cambio podría ser mucho más visible. El editor de pseudocódigo necesita de un parseo para identificar funciones y variables, para marcar los errores en tiempo real, para el indentado automático, el autocompletado, etc. Una mejora en el parseo haría que todo esto funcione mejor y tal vez muestre más información y mejores ayudas. El editor de diagramas lo necesita para entender lo que viene del editor de pseudocódigo. Una mejora allí haría que se pierda menos información en la conversión, facilitando más la ida y vuelta entre ambos editores. El traductor a otros lenguajes podría tener más información para mejorar el mecanismo de conversión y corregir así varios errores del actual.

Y el intérprete... obviamente se beneficiaría teniendo un código mejor organizado y más flexible. Probablemente sería el último paso necesario para agregar el soporte para registros (estructuras de datos heterogéneas). Pero hay más. Si sale como planeo, los perfiles podrían ahora ser mucho más configurables, permitiendo tal vez elegir hasta las palabras claves. Y también podría mejorar las reglas que ahora están a medio camino y no se integran como quisiera (como Dimensión y Definir, o arreglos y funciones). Veremos cuanto se logra a largo plazo, pero la expectativa es alta.


Finalmente, ZinjaI. Hay mil pequeñas/medianas ideas en las que quiero y podría trabajar. Pero hay dos grandes a resaltar: el tan demorado paso a wx3, y una nueva estructura para gestionar internamente la información del árbol de símbolos. El segundo cambio, que es en realidad el primero que me gustaría atacar, y es el más difícil y delicado. Traería muchas mejoras y correcciones. Espero corregir cosas como por ejemplo las confusiones que tiene actualmente el autocompletado con el uso de namespaces. O mejorar las funciones de generación de código actuales y tal vez agregar nuevas. También aquí hay muchas posibilidades, pero no tengo tan claro cuales saldrán derecho y cuales no. Veremos.


En cualquier, hay mucho "trabajo" por hacer, y muchas novedades que esperar. No puedo prometer 100% nada, porque recuerden que esto es como un hobby, y en lo personal tengo otras cosas más (tanto placeres como obligaciones) para ocuparme las vacaciones. Pero lo importante es que a pesar de que en el último tiempo se vieron menos cambios en los proyectos y menos actividad en el blog, la rueda sigue girando, y acaba de acelerar bastante.

6 comentarios:

  1. Grandes novedades que se esperan con ansias, de paso feliz año!!

    ResponderEliminar
  2. Hola...El Pseint que esta en Sourceforge.net se puede bajar sin problema de ahí...?
    *Saludos

    ResponderEliminar
  3. Muchas Gracias por el PseInt...Saludos

    ResponderEliminar
  4. Me emociona cada actualización de zinjai. Debo decir que cada vez me gusta más! Viva zinjai !! Saludos!

    ResponderEliminar
  5. gracias por el tiempo en las mejoras

    ResponderEliminar
  6. PSeInt me sirvió muchísimo para presentar el pseudo código de proyectos grandes en la facultad, es genial lo que haces lo admiro mucho y me gustaría poder ayudarte en alguno de los proyectos. Seguí así !!!, Saludos desde Uruguay.

    ResponderEliminar