I’ve often heard software compared to all sorts of things: construction, engineering, even art.
For me, I always think of software development is the dream factory. Software is so free of any rules, you can do whatever you want to do. It’s like a blank sheet of paper. In 3D. Or as many dimensions as you chose to define, because you genuinely can choose how many dimensions you want.
In construction, if someone is building a house, they can’t suddenly ask to add another storey. In software this isn’t an unreasonable request. Artists are still limited by the materials they use.
When people write games they have to build or use a physics engine. Pause to think about that for a moment. Even the rules of physics don’t apply!
Every piece of software is like a whole new world.
Engineering
Aren’t there limits in software?
Now software does have some real bounds. Compute, latency, bandwidth and storage are all limited. However in the age of cloud computing, only latency and bandwidth are truly limited. Even these limitations change rapidly, compared to other industries.
Welcome to the Dream Factory
1 Moore’s law is more a measure of the number of transistors on a chip doubles every 2 years, however performance is a rough approximation↩