Architecture Decision Record: Scripting Language

Last Modified: April 3, 2024

Authors: Matt DeKrey

Context and Problem Statement

For many situations, creating a quick executable is preferrable to full applications. Deployment scripts, build tooling, and even git aliases all can benefit from a bit of scripting.

However, which language to use becomes a bit of a challenge. There’s many shell scripting languages, and even node and python support the #! syntax for using them as a scripting language.

Considered Options

Decision Outcome

Powershell Core was decided to be used for Principle Studios developer scripts for the reasons below. (Do not write Powershell scripts to only be run in environments that are fully controlled, such as containerized applications, unless Powershell itself is the point.)

Note: deliverables to clients may vary depending on additional factors.

Pros and Cons of the Options

Bash/Shell scripts

Node scripts

Python scripts

Powershell Core scripts

Additional References