
Permalink for comment 560029
RE: Comment by MOS6510
by Doc Pain on Mon 29th Apr 2013 09:23 UTC in reply to "Comment by MOS6510"
Doc Pain
Member since:

A lot of demos are pretty cool, but just try to imagine on what limited hardware they run and they are just amazing.

But also consider that those who have been programming "limited" systems (think of C64, Amiga 500 and successors, the various Atari ST and pre-ST computers) could use simple tools. Tools that we cannot use anymore.

Simple task: put a pixel on the screen

Simple solution: write some data to a specific memory location, often in assembler (faster is better)

Also simple, but often less efficient: use a predefined command in the supplied programming language, like putpixel(xpos, ypos, color), in a higher-level language that developers today would already consider lowest-level (because assember does not exist)

Today's common solution: I cannot even describe it, because depending on the system, you will have to deal with a heap of abstraction layers, libraries and other conglomerates of code that add complexity and remove efficiency (or even the ability to do something
more efficient). It's not easy anymore.

Sometimes, when I need to program something simple which involves simple hardware, I face the situation that it's becoming complex and complicated. Having done the same thing 20 years ago, seeing me jump through hoops today doesn't look very efficient. For example, switch some relays via parallel port: just write specific data to that port, inport() and outport() are even supplied by the system's library, relying on BIOS calls. Today? Not even a parallel port! USB, converters, microcontrollers, firmware, connectors, adaptors... it's not fun anymore, and definitely not simple. :-(

That's why I'm still fascinated by today's demo scene, primarily due to the fact that it still exists. Having been a member of that scene myself in the past, it's nice to see that some stuff "experts" consider dead are still alive and kicking. Also the mentality of "we can do it better" (not in the sense of "better than you", but more like "more efficient", "faster", "in less bytes" or "with higher performant code") is worth being kept alive, especially in comparison to today's obsession with layers of abstraction, libraries, frameworks, stacked on top, with no real understanding of what's happening. Of course "working on bare metal" requires much more knowledge and experience than clicking around in some pre-chewed environment that makes use of frameworks that "take care of everything", and in the end, result in unmaintainable code, slow applications, errors, crashes, wrong results and bloat.

I still have my Amiga collection, as well as some Atari computers. Some day, I hope, I will use them for something interesting. Of course they are still working perfectly. It's not that they rot quickly as today's "modern" computers. :-)

Reply Parent Score: 5