SIG SSLA
The purpose of the CAA Special Interest Group Scientific Scripting Languages in Archaeology is to promote the widespread implementation of computer scripts in archaeology. We will provide an exchange platform for scientists in and around archaeology who use scripting languages to conduct major or minor parts of their research. Scripts are computer programs that automate the execution of various kinds of tasks and are typically used by scientists to process and visualize information in ways that are amenable to the principles of open research. The purpose of this SIG is to help foster the growing community of archaeologists who increasingly use scientific scripting languages to pursue archaeological interests.
This SIG is particularly supportive of students and early career researches who may be interested in developing their skills and promoting more pervasive use of scientific scripting languages in research, publication and teaching. By promoting the widespread adoption of practical technological skills, we hope to establish a robust community of practice that may serve as a foundation for further growth.
The SIG is an open format that supports discussion and the circulation of ideas drawn from various perspectives. Everyone may participate on equal terms, following CAA International’s established Ethics Policy. To ensure expedient and civil discourse, the SIG committee will remove, edit, or reject comments, commits, code, issues, and other contributions that are not aligned with this policy. To be as inclusive as possible and also for the sake of reproducibility, we strongly prefer open-source over proprietary software.
Scripting languages
A scripting language is a programming language that automates the execution of various data-driven tasks. The tendency for scripting languages to be run through an interpreter rather than as compiled from a prior human-readable state enables scripts to be implemented in a rapid, iterative and exploratory manner that is well suited for scientific research.
Examples of popular scripting languages in archaeology and other sciences include, but are not limited to:
Implications for open and reproducible research
The ease with which scripts can be understood by humans, as well as their tendency to be implemented in a step-wise manner, affords their capability to be well-documented. A well-documented script may potentially be used to reproduce analytical processes and verify their results. Scripting languages are therefore lauded as facilitators of open and reproducible research.
Code should be equally important as publications. That also means that code generally should be subject to a scientific reviewing process. It is, therefore, one long-term aim of this SIG to offer guidelines on how code publication and - review can be fruitfully implemented into research and publication processes (see Objectives).
The tendency for scripts to be stored in human-readable text-based file formats also makes them particularly amenable to flexible means of storage, dissemination and version control. Reproducible research ideally also documents the science production process with all inductive and deductive steps of hypothesis building. A modern and powerful way to store a commented succession of changes in text and scripted data analysis is available with tools like Git or SVN which were initially designed for software development. They provide a simple environment to keep track of even minor changes, go back to earlier working stages and allow for well-documented collaborations thanks to forking. The combination of scripting languages and version control is an important basis for a fully comprehensible research process.
These somewhat tangential yet meaningful implications relating to the use of scientific scripting languages underscore aspects of their utility that the SSLA aims to promote.
Objectives of the SIG SSLA
In summary, the SIG SSLA aims to:
- promote the replacement of proprietary and opaque programs with open source and transparent software based on scripting languages, which encourage the advancement of open and reproducible research practices
- help establish scripting as a readily-accessible component of the archaeologist’s toolbox
- promote the integration of coding into the basic archaeological teaching curriculum
- promote the publication of archaeological research data so that they may be used by others, and to facilitate reproducible research practices overall
- discuss and critically assess the development of scripting languages and the implications that they afford
- develop step-by-step pipelines for common archaeological tasks
- outline best practices and guidelines to support more effective writing, sharing and publishing code
- construct a peer review network for code in publications and software libraries
- establish an inheritance network to arrange long term maintenance and responsibility for software written by and for archaeologists
- stand up for diversity and fairness in the field of computational archaeology