These days, software seems to be headed in just one direction: bloatware. Think of the typical “enterprise” solutions which run in Java or .NET (interpreted, sandboxed runtime), running on top of a UI framework, object framework, session state management framework, app server, web server, DB server, object broker and more.
If all this sounds like a bloated architecture — it is. I’ve seen many applications (including from our competitors, who I won’t name here) with multi-gigabyte installations of barely functional software, that yield performance on the order of minutes-per-HTML-form. Just brutal.
At one point, I figured the reason Sun was so hot on selling Java, was that Java/J2EE performance was so brutally awful, that it forced customers to buy more hardware. This was pre-Oracle acquisition, though I’ve no reason to imagine this has changed with Oracle buying Sun. There is likely some truth in that. .NET was really just Microsoft saying “Me Too!” and I’ve noticed that .NET somewhat less awful than Java, but still – as an end user, I hate dealing with Java and .NET apps, since they inevitably make me wait. And wait. And wait some more.
So here we are in the age of bloatware. Software platforms and architectures designed to keep unskilled safe against their own mistakes and to protect lazy developers against actual work.
Not a cheerful state of the industry.
But then – once in a while – I see something like this:
- Demoscene: 64k Intros At Revision Demoparty
- Gaia Machina by Approximate
- F – Felix’s Workshop by Ctrl-Alt-Test
You should definitely follow the links and watch the videos. These are self-running 3-d ray-traced animations. They run for several minutes, with music. The amazing thing is that each of these is a single, self-contained, 64-kilobyte Windows executable.
Think about that for a minute. Several minutes of complex, 3-D, ray-traced animation, with music. Running in real-time on your commodity PC. In 64 kilobytes of code.
Compare that 64-kilobytes of pure computer science goodness to the crapware you get from ERP vendors in their .NET and Java padded cages. With hundreds of megabytes or gigabytes of code, that accomplish close to nothing. With brutal performance profiles.
This stuff is pure gold. It shows that there is still some real software development talent in this world.