Technical Debt and Code Migration
Fuente:
Zenodo
Gespeichert in:
| 1. Verfasser: | |
|---|---|
| Format: | Recurso digital |
| Sprache: | Englisch |
| Veröffentlicht: |
Zenodo
2025
|
| Schlagworte: | |
| Online-Zugang: | |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| _version_ | 1866901912243142656 |
|---|---|
| author | Holland, John Gerrard |
| author_facet | Holland, John Gerrard |
| contents | <p>RSEs often have to deal with code which wasn’t originally designed with testing, maintenance or<br>performance in mind, or was written in a language or a style which is now considered outdated,<br>obsolete or insecure. This is a problem for RSEs writing and maintaining software for long-lived<br>research programs, who may be slowed by this technical debt. A common response is to start a<br>project to rewrite the code in another programming language or an updated framework, and in<br>parallel to make functional improvements. Anecdotally, this kind of project is at risk of delays<br>and cost-overruns.<br>In some fields, like web programming, the time for a framework to appear, reach its zenith of<br>popularity, and then become uninteresting and obsolete, might be a handful of years. In others,<br>code which has been in use for decades continues to be used.<br>In this talk I’ll discuss some of the lessons our group learned during upgrade projects, and ask<br>what we might be able to learn from long-lived code.<br>First we’ll look at a project to migrate an image processing pipeline from MATLAB to Julia and<br>make it HPC-ready. We’ll focus on the availability of ready-to-use image processing functions,<br>the costs of reimplementation, and the characteristics which help a library to endure.<br>Then we’ll look at how our group has standardized its web development stack, and what we<br>learned about React, Tailwind, Typescript, Vite and Next.js. We’ll also look at how changes in<br>Google Firebase hosting, which were meant to make developers’ lives easier, made our code<br>review process much less intuitive, and how that was resolved.</p> |
| format | Recurso digital |
| id | zenodo_https___doi_org_10_5281_zenodo_17307297 |
| institution | Zenodo |
| language | eng |
| publishDate | 2025 |
| publisher | Zenodo |
| record_format | zenodo |
| spellingShingle | Technical Debt and Code Migration Holland, John Gerrard Research Software Engineering <p>RSEs often have to deal with code which wasn’t originally designed with testing, maintenance or<br>performance in mind, or was written in a language or a style which is now considered outdated,<br>obsolete or insecure. This is a problem for RSEs writing and maintaining software for long-lived<br>research programs, who may be slowed by this technical debt. A common response is to start a<br>project to rewrite the code in another programming language or an updated framework, and in<br>parallel to make functional improvements. Anecdotally, this kind of project is at risk of delays<br>and cost-overruns.<br>In some fields, like web programming, the time for a framework to appear, reach its zenith of<br>popularity, and then become uninteresting and obsolete, might be a handful of years. In others,<br>code which has been in use for decades continues to be used.<br>In this talk I’ll discuss some of the lessons our group learned during upgrade projects, and ask<br>what we might be able to learn from long-lived code.<br>First we’ll look at a project to migrate an image processing pipeline from MATLAB to Julia and<br>make it HPC-ready. We’ll focus on the availability of ready-to-use image processing functions,<br>the costs of reimplementation, and the characteristics which help a library to endure.<br>Then we’ll look at how our group has standardized its web development stack, and what we<br>learned about React, Tailwind, Typescript, Vite and Next.js. We’ll also look at how changes in<br>Google Firebase hosting, which were meant to make developers’ lives easier, made our code<br>review process much less intuitive, and how that was resolved.</p> |
| title | Technical Debt and Code Migration |
| topic | Research Software Engineering |
| url | https://doi.org/10.5281/zenodo.17307297 |