4 ms·
I think software is relatively young and evolves faster than any branch I've seen simply because the compute platform changes so much over night. Just imagine t
by reader_mode 5y ago
I think software is relatively young and evolves faster than any branch I've seen simply because the compute platform changes so much over night. Just imagine that the PC I started coding on was a P1 machine with 16MB RAM. My smartwatch has 10x compute power. Cloud computing, IoT, GPGPU, SSD, multicore - major underlying constraint shifts in how we do compute.
Even the best possible solution is only best in the time it was created, and because it's good it will get entrenched and keep getting used, even when the constraints it was created in no longer apply even remotely and it's actually a very suboptimal solution given new constraints.
Everything from programming languages, OS kernels, file systems, distributed computing frameworks - soo much of it has ideas and solutions that are technically better but it's hard to overcome the inertia
- noir_lord 5y agoThe "PC" I started on was a 1Mhz z80 with 1KB of RAM - the first computer I owned had 48KB. I'm sat in front of a machine that is literally billions of times faster and many orders of magnitude more powerful in every other axis (storage, bandwidth). And yet, strip away the fancy IDE, the container tooling and it's all still my brain, some text on a screen and my understanding of the problem.
- reader_mode 5y agoBut the problem isn't "how to do this in 48KB of ram" these days it's "how do I do this on a distributed compute cloud with high level services". Neural networks were a hypothetical approach, nowadays you can rent a ML pipeline for a couple of bucks and download prebuilt models. So taking an approach from that era (for example C or UNIX) has obvious legacy baggage and isn't optimal in modern context but is still used because of inertia. Also at this point it's less about your brain and understanding and more about being able to search and mash together. It's not just having a fancy IDE, internet and search fundamentally changed how you learn and solve problems.
- noir_lord 5y agoAgreed on all counts. The primitives we use are at the wrong level of abstraction for the problems we are solving but..well I haven't seen anyone come up with ones better enough they displace the existing solutions.