Skip to content

Algunas formas de refactorizar C para portarlo a Rust #7

Closed
@federicomenaquintero

Description

@federicomenaquintero

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    propuestaUn tema sobre el que te gustaría dar una charla

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions