Description
Title / Título
Algunas formas de refactorizar C para portarlo a Rust
Description / Descripción
Librsvg es la biblioteca que usan GNOME y muchos otros proyectos para convertir imágenes SVG en pixeles. Estaba escrita por completo en C, pero desde 2016 estamos portándola a Rust.
En casi todo momento la biblioteca se ha mantenido funcionando; no es un "re-escribir desde cero", sino "mudar pedacitos de código a Rust" poco a poco. Durante este proceso, han surgido varios patrones recurrentes: funciona bien hacer una pequeña refactorización del código en C antes de portarlo a Rust, luego hacer un port trivial, y ya luego hacer una refactorización del código en Rust para dejarlo lindo e idiomático.
En esta charla quiero explorar estos patrones de refactorización. Mi charla de la GUADEC pasada fue más bien un "por qué portar a Rust"; la charla presente quiere ser "cómo hacerlo":
- Patrones de refactorización
- Manejo de memoria
- C llama a Rust llama a C llama a Rust...
- Cómo drenar una estructura en C poco a poco y pasarla a Rust
- Cómo hacer la vida fácil a gente que quiere contribuir al port
Speaker Bio / Bio del Ponente
Federico es uno de los fundadores de GNOME, y ahora mantiene librsvg.
Level / Nivel
Iniciación / Intermedio
Duration / Duración
(30 minutos a una hora)