It May Be Too Crazy to Think About

It may be too crazy to think about. The buzzing electrons stream through the mechanics of a flat-landers universe. They cobble your shoes and mystically appear invisible. But they are there.

There certainly is a physical manifestation of software running on that hot iron. Software exists through time, and it is only through space-time that a shape appears.

But as software engineers, we work with a static medium, source code. There are many tools that help us understand time like debuggers and IDEs like Squeak and Light Table. But these tools only show you an instant. A thin slice. A derivative, or a “spot trade”.

There is very little understanding of software as physical reality. A reality of constant motion.

In fact it is so difficult to even think about that our profession for the most part ignores it. When Object Oriented programming is taught, students learn about classes. They learn the statics, not the dynamics. Even algorithms are typically taught in a static way. Really good teachers will make students actually physically perform an algorithm. If someone was to ask you, “How many objects are in your system?”, could you tell them? Thousands? Millions?

We can begin to wonder if programming is anything like architecture. Is it blue print design, or is it poetic screen play? Where our electron actors dutiful play their part.

And even if software development is community poetry writing as Alistair Cockburn muses. What point to write the play if we never see the performance?

Maybe once John Graham gets Babbage’s Analytics Engine built, we can see software in all its physical glory.


One thought on “It May Be Too Crazy to Think About

  1. I find LEDs are an excellent way to visualize the dynamic portion of software. I like to string a cord of LEDs up with a red LED to display a class and a BLUE LED to represent a method and an ORANGE LED to represent instance data.

    With any sizeable application, you will need a long string, and a multiplexor to select the LEDs. It is worth it however, as it provides a very dynamic visualization of the application.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s