Why does GPSS require several files external to itself?
Distributed database paradigm
In creating GPSS, Robin Lovelock followed a programming convention much favored by military and large corporation development teams: use distributed (external) files and databases for localized or specific information.
The program reads this information either during loading (initialization) or during the time the program is running when the user requests a certain function.
Put more simply, GPSS looks into many different files while it is running. It does this to
know which map to use, how to find nearby cities, and a multitude of other feature functions.
When programs are developed this way, the program's scope can be updated by updating only the external databases and files. If conversely you include all the file and local data information in the main body of the program, for each change or addition you have to edit the source code and recompile everything into a new version of the program.
Most are open to editing by you
In GPSS, most of the external files and data are in an open alphanumeric (ASCII) format, easily edited by you in Notepad or other text file editor.
Many Windows programs use DLL files to similarly contain subroutines and specific data, but editing the DLL format is for professional programmers only.
So, the upside is that you can add a bunch of extra functionality to GPSS simply by creating or editing files external to GPSS.
The downside is that you often have to create or edit entire sets of files to make something work. And, if you edit things wrongly, you can mess up GPSS.