What is «software»?

Marco Dorantes
1 min readJun 27, 2019

What is «software»? Is it the same as «logic»? Is a «mathematical entity», like an abstract data type? Ontologically, what is its nature, its structure, properties and relations with other adjacent entities other than «software»? Which laws or regularities govern that structure and the related emergent behavior of a hosting microprocessor device?

Different approximated answers to that kind of questions would render different approaches to how software is created at different scales and applied to different data processing endeavors. For example, manufacture –at an industry scale– of products based on atoms is of course not the same as manufacture –at an industry scale– of products and services based on bits. That is why many attempts to try a “software factory” just like a regular factory with human workers has been a very curious enterprise — to say the least.

Clemens Szyperski explains that an actual “software factory” would be the function of an operating system component usually named as ‘loader’. Not the compiler, not the linker, but the loader.

--

--

Marco Dorantes

Reflective software craftsman and systems thinking enthusiast.