ARC currently supports the following programing languages in its efforts to streamline the software associated with various missions. Open Source software and hardware is used where available to reduce costs. Heavy testing and evaluation is utilized for each piece of software or hardware. Currently all custom software written for the ARC project should use one of these languages, and be able to compile on its intended archectures without additional support.
PYTHON: Please note, Python is NOT included as a compiled language, or language in which user programs are created. We try to distance ourselves from those languages, however popular, that may cause issues later. If there is a python program or library that you prefer, in order to use it on an ARC mission, it must be rewritten in one of the following languages, and compiled. PIP, PIPX, and programs that rely on such installation methods, especially those programs that rely on virtual environemtns or virtual machines are strictly disallowed.
PYTHON: Python may be used as a scripting language, to call other programs or functions, or as a method of program interconnect. Compiled python scrips shall not be used. PIP shall not be used. PIPX shall not be used. All compiled programs should be written in the following:
The following MARKUP languages are acceptable:
CSS is currently the only style sheet language accepted.
The following SHELL / SCRIPTING / INTERPRETED languages are acceptable:
NO Hard versions shall be included in any program. If the program can compile with the standard long term release version of a language or library at the time of writing, then the program code shall not call for that specific version. This is to insure forward compatability with future releases and software updates should the need arise.
Please understand that the environment in which ARC operates is closed. No external internet, netowork, interconnect, system, or pathway exists between the ARC production system, and the external world. It is impossible to install software after the fact. Because no external connection is available, all software must be able to operate standalone, and installed via the traditional methods of physical media (USB / SD card / Memorystick / Cfast / nvme / &c.). Binary comples are allowed, as well as source compiles from physical media. No software updates will be available until after a misison completion. These are the reasons python, and its installation helpers (pip / pipx), the apt software system, and others are disallowed.