Desarrollo


MiraMon empezó a desarrollarse en 1994, inicialmente para finalidades de docencia e investigación en un contexto universitario. Desde sus inicios y hasta la actualidad se ha desarrollado en lenguaje C, propiamente ANSI C para los módulos de consola (sin interfaz gráfica) añadiendo las funciones del API (Application Programming Interface) de Windows para los módulos con interfaz gráfica que incluye el programa central (MiraMon Profesional) de visualización, consulta, impresión, edición, etc. La única excepción al desarrollo en C, es el cliente del Navegador de mapas de MiraMon que se desarrolla con JavaScript. Hay que notar que el Servidor de mapas de MiraMon es una CGI (Common Gateway Interface) también desarrollada en lenguaje C. Además, a diferencia de la mayoría de programas SIG, MiraMon tiene muchos módulos paralelizados, lo que reduce extraordinariamente el tiempo de ejecución en ordenadores con varias CPU y/o núcleos.

Durante estos años, MiraMon ha acumulado una enorme cantidad de líneas de código, que incluye librerías generales, por ejemplo: gestión de ficheros, cadenas, gestión de memoria, álgebra matricial, funciones matemáticas genéricas, comunicaciones, funcionalidades gráficas, etc. pero también librerías especializadas en el ámbito de la Ciencia de la Información Geográfica: Topología, GeoServicios, Teledetección, Geoestadística, Fotogrametría, Geodesia, Estandaridización, etc. Estas funciones tienen muchas veces una base científica e innovadora que ha dado lugar a decenas de publicaciones internacionales en los ámbitos anteriormente comentados. El valor de estas líneas de código en términos de esfuerzo es incalculable: muchas horas de programación, análisis y rediseño, validación, depuración, corrección de errores, adaptación a nuevos formatos y procesos, etc. La elección de programar en C tiene un peso importante en el esfuerzo dedicado (el lenguaje C no es de alto nivel y no da muchas facilidades al programador), pero también es la clave del éxito para poder conseguir una gestión eficiente de los recursos de memoria y unos tiempos de ejecución muy optimizados.

Acceso al diario de versiones de MiraMon

Donde se publican las últimas novedades de MiraMon y los errores corregidos (traducción automática del catalan): https://miramon.cat/vers_mm/index_SPA.htm