4 ms·
> skills may see a resurgence in value. I think it is the opposite. I have almost as much experience as you, I started a little later, didn't get serious until
by sitkack 4y ago
> skills may see a resurgence in value.
I think it is the opposite. I have almost as much experience as you, I started a little later, didn't get serious until my teens with 68k assembly language and custom chip programming on the Amiga 500. Not all nostalgia, some of it germane context.
I think it is important to have a mental model of the hardware so that the architecture of the program has some mechanical sympathy. But the ability to think abstractly is more important, that is what allows Moore's law to be realized. Our compute topology is changing and if the perf curve is to continue to be exponential, our code and more importantly the expression of our ideas has to be able to exercise 30B transistors today, and 150B in 8 years. Knowing how to compose neural networks is one of the new skills that is akin knowing how to shave off cycles in the 80s. Mod playback, Doom, Quake, mp3 decompression, emulation all redefined our relationship with computing.
The Amiga had this custom hardware for doing bitblits and sprite compositing, it could do these trippy multi-layered backgrounds that used parallax to give it an Arcade like 2.5D rendering (wow that sentence, not fixing it). These had a bunch of registers you had to muck with, I only ever called them from assembly, I knew C but it just felt more natural to do it in asm defined files. My point is, you can do the same things using some high level garbage collected code. In Python or JS, you could implement Quake, using naive algorithms. No asm, just regular code, no custom memory copying and compositing hardware, just assignment statements in a dynamic, GCd language.
A Spellchecker Used to Be a Major Feat of Software Engineering
https://news.ycombinator.com/item?id=3466388 https://news.ycombinator.com/item?id=3466388
The programmer that can code an awesome parallax demo using numpy arrays is not going to be the next Carmack. The programmer that can compose 3-ai models to make something we have never thought of is going to make Quake or some other piece of software that changes our relationship with computing and Moore's law. Abstraction gets us there.
- djmips 4y agoI agree with the parent of your post. I work in a field where Moore's law gets artificially arrested for often a decade at a time - console games - and we no stranger to being critically aware of how much memory we are copying around - we will reach for hand coded SIMD math and we stare at our shader assembly looking for more performance. You should see what some do to get top line performance in collision detection. It even leaves me a bit sweaty... I'm not discounting what you conjecture about the next Carmack being in the machine learning arena - that's how I feel too, but I still strongly believe that we will see more demand for programming that can eke our performance with what we have.
- urthor 4y agoPhysical simulation is unique due to latency requirements. The impossibility of using the data center is the common denominator in high performance programming. In my field, Spark, functional programming for data parallelism, few if any problems of Moore's law ever truly eventuate. "Compute bottlenecks" are so uncommon. Databricks has almost no lines of Scala written, SQL/Python are "fast enough." Commoditization, "good enough" libraries, packaged in SQL/Python for the lowest common denominator. Carmack's genius of the inverse square misses the point. Carmack's genius was the video game Quake itself. The mathematical brilliance, the high performance programming, was genius applied to overcome a bottleneck. (And what temporary genius. Contrast Carmack with Unity). Originality, usefulness. Imagination meeting relevance, is the engine that powers software.
- Panzer04 4y agoBut within reason, these are areas where huge returns can be made with higher performance programming as opposed to speed of development - a 10% performance increase can save stupid amount of money on hardware - and with hardware lasting longer I think there will be an increasing focus on that.
- urthor 4y agoI'd cheekily argue. The video game industry has downloaded more memory leaks personal machines than all the other domains of software combined. So many lines of terrible C++ have been written... The importance of Moore's law falls flat in front of good old "bugger good code, Morrowind's rebooting the Xbox."
- bjourne 4y agoWhen I play console games on my Xbox 360 the biggest annoyance by far is the loading times. You run around in Skyrim and you enter a house so you have to wait 30 seconds for the content to load. Then you leave the house and have to wait 30 seconds again. My point is that the relevant performance metric isn't speed of number crunching anymore - it is speed of transporting data from one part of the system to another.
- adw 4y agoThe relevant skills have more in common with the early 2000s supercomputing community than the mod scene. We are all data-parallel distributed now.