LinuxGSM is written in Bourne-Again Shell (BASH) Script sometimes just known as Shell Script.
Bash is a "Unix shell": a command-line interface for interacting with the operating system. It is widely available, being the default shell on many GNU/Linux distributions and Mac OSX, with ports existing for many other systems.
"In addition to the interactive mode, where the user types one command at a time, with immediate execution and feedback, Bash (like many other shells) also has the ability to run an entire script of commands, known as a "Bash shell script" (or "Bash script" or "shell script" or just "script"). A script might contain just a very simple list of commands — or even just a single command — or it might contain functions, loops, conditional constructs, and all the other hallmarks of imperative programming. In effect, a Bash shell script is a computer program written in the Bash programming language." - Bash Shell Scripting
BASH script is often used by Linux System Administrators to automate repetitive tasks on Linux servers and often used in the same way Windows Admins use BATCH Script is used on Windows. BASH is available on all Linux systems, it is very stable, reliable and most people who interact with Linux will have had some exposure to it.
LinuxGSM started as a simple BASH script to easily control and manage a game server (Killing Floor). As Daniel Gibbs (lead developer) was a Linux Systems Administrator at the time and other examples f managing game servers often used BASH it simply made sense to use it.
LinuxGSM has envolved and grown drastically over time to add more commands and features from the early days, however, it essentially still does the same thing just on a larger scale. BASH is a relatively simple language to use and learn and does not require compiling and can be written in any basic text editor.
There are loads of resources to help you learn BASH and below are a few. If you get stuck it is already reccomended that you Google as there is probably a Stackoverflow question raised.