3 ms·
You can still write code that stretches a modern machine to its limits. For example, can you make a realtime raytracer? Can you crunch through 13GB of StackOver
by GeneralMaximus 16y ago
You can still write code that stretches a modern machine to its limits. For example, can you make a realtime raytracer? Can you crunch through 13GB of StackOverflow data and extract useful statistics? Can you write an interpreter for a subset of your favorite language? Can you make it fast enough? Can you add a JIT? Can you take a genetic algorithm that takes hours to run and get the time down to a few minutes? Can you write a multi-agent simulation that will scale from ten to ten thousand agents on a MacBook Pro?
Nope. Computers aren't fast enough yet :p
- slug 16y agoYou can do all that, but programming one of these old computers or a modern micro controller allows you to almost see the bits and bytes flowing (if you program in asm). Nowadays it's even hard to know how a pixel got to the monitor from your RAM in the first place, with the massive amount of knowledge needed and countless layers in between. Just the datasheet of a memory controller is many times longer than the few pages needed for the asm instruction set and simple schematics of those times. Not to mention the M or G number of transistors on modern chips :)
- GeneralMaximus 16y agoI can't argue with that. I've personally tried to write a toy OS on the x86 architecture. The amount of processor documentation you have to get through is mind boggling, after which you're still left with documentation for the plethora of peripheral device. I view this as a failure of the PC architecture. There's no reason for things to be so complex. OTOH, I know a few folks who work with all kinds of micros. Once these folks were trying to interface a SD card reader with a tiny LCD screen that had an onboard processor. They had (had to have, in fact) low-level access to the card reader. You had to know the ins and outs of whatever filesystem the SD card was formatted with because you only had raw access to the card. As in, you could go to an address on the card and do something to the bytes stored there, and that's it. After diddling the card reader interface for a while, they eventually figured out how to get data on the card, but there was a problem: sometimes the card reader wouldn't write the data to the card at all. After trying to pinpoint and fix the issue in code, an entire night of hacking later, the problem turned out to be a faulty power adapter. It was a fun night. One that a "modern" computer couldn't afford you.