Speakers
Description
Software for research has to keep up with the methodological developments in its
field. All too often, only a handful of maintainers bear the load of maintaining and
extending software. In consequence, they are swamped with demands for adding addi-
tional features, resulting in long delays until new innovations become available.
However, in many disciplines, methodological researchers are somewhat proficient
in writing code and would in theory be able to contribute to existing software solutions.
But often the existing code base is not easily extensible, and researchers instead write
idiosyncratic ad-hoc software solutions for their specific tasks. In consequence, they
reimplement large parts of existing software and add their required features, resulting
in many similar software packages co-existing but not being compatible to each other.
To solve this problem, it is necessary to design open software that is easily exten-
sible by other researchers. I will show that this is not only about making source code
publicly available, but about design patterns and software development methodologies.
Many features of the Julia programming language make it ideal to meet these demands,
while achieving high performance for compute-intensive tasks. In addition, I will show
everything in action in the experimental Julia package StructuralEquationModels.jl.