start

What is Software Made Of?

What is Software made of?

You are interacting with software now. What material are you handling?

Is it the User Interface? Not really, because the wiki software used for this site allows me to select themes from a drop down list. With each choice the look and feel of the layout is transformed. Yet the site and it's content remains the same.

Is it the source code, written in a programming language like C or PHP? No. You could be browsing this site using a number of browsers. It could be Google Chrome, Firefox or Oracle. Each browser has it's own source code but that doesn't change this site.

On the server the site is run using DokuWiki, which is written in PHP. There are thousands of sites using DokuWiki and each and everyone one of them is running the same PHP code. Each one is a different site.

Is it the data, then, that software is made from? Again, no. The data for this site is stored in text files on the server. I can view that data through the wiki or open it up in a text editor. The data is the same, but the software is very different.

Software is an alloy, made up of all these things and more. Back in 1986 Fred Brooks explained this in his essay "No Silver Bullet":

The essence of a software entity is a construct of interlocking concepts: data sets, relationships among data items, algorithms, and invocations of functions. This essence is abstract in that such a conceptual construct is the same under many different representations. It is nonetheless highly precise and richly detailed.

I am fascinated by the essence of software. The material that software is made of. This site is my own personal space for exploring this topic. I am inspired by the material science of Rheology, which studies the flow and deformation of matter. On this site contains my attempts to understand better the flow and deformation of software.

Personal Projects

Project Description
Reinforcing human Learning with support from AI. My exploration as a grizzled old coder to learn new technologies with the help of ChatGPT.
Plip Plop Programming Creating a Persistent Virtual Machine (PVM) for running software that drips over time.
LongForth My first experiment for Plip Plop Programming, a persistent version of Forth.

Book Notes

Here are the notes for the books that I think are important.

Book Author Description
Deep Learning - Foundations and Concepts Chris & Hugh Bishop Comprehensive introduction to AI's foundational ideas
  • start.txt
  • Last modified: 2025/05/05 10:56
  • by gedbadmin