Por qué PubConvert está escrito en Rust

Sé que nadie elige un conversor por el lenguaje en el que está escrito. Pero el lenguaje es la razón de que este se comporte como se comporta, así que quería dejarlo por escrito.

PubConvert no está afiliado a Microsoft. Construimos nuestro propio motor de conversión a partir del análisis independiente de documentos reales de Publisher que poseemos o que tenemos derecho a usar, para que la gente pueda seguir trabajando con archivos .pub sin tener Publisher instalado. Microsoft Publisher y .pub son de Microsoft. Usamos esos nombres solo para describir lo que abre el producto.

Por eso lo escribimos en Rust. Todo lo que hemos averiguado hasta hoy tiene que ser aburridamente repetible. Mismo archivo, mismo motor, misma página y un resultado previsible siempre. No hay un recolector de basura moviendo memoria a mitad del renderizado, lo que significa que una maquetación que hoy se ve bien se seguirá viendo bien el mes que viene. También significa que, cuando una página sale mal, podemos investigar en vez de adivinar.

Los archivos de Publisher son entradas en las que no se puede confiar. Algunos están truncados, o pasaron por un correo que se comió unos cuantos bytes. En Rust, salirse del final de un archivo dañado es un error que el motor gestiona e informa. No es un fallo que se lleve por delante lo que el motor estuviera haciendo, ni es media página en silencio. Si tu archivo está roto, el motor lo detecta, y eso es más útil que una vista previa en blanco.