What is a software environment?

Submitted by Anonymous (not verified) on Fri, 07/22/2022 - 03:42
Software environment

A software environment consists of tools and data. Tools may include software such as:

  • Editors: emacs, Jupyter notebooks, Google Colab
  • Interpreters: Python, R, Perl, PHP
  • Version control applications: git, github
  • Testing platforms: travis, jenkins, PyTest, JUnit

 The data includes everything accessible by the software on disk, in memory, and accessible over the network, such as:

  • Disk: persistent and temporary data files, source code, applicaton images - these are things that will persist after the computer has been switched off.
  • Memory: Environmental variables, memory-resident programs and data, "virtual" disks - these are things that disappear and must be reset or reloaded if the computer is power-cycled.
  • Network: data connected to your program by protocols like http/https, the language of web browsers.