30 ms·
Low level programming isn’t like some disused area of mathematics that was popular in the early 20th century; it underpins everything we do. Your OS, your netwo
by oivey 6y ago
Low level programming isn’t like some disused area of mathematics that was popular in the early 20th century; it underpins everything we do. Your OS, your network stack, your graphical desktop, your browser, probably your favorite language’s interpreter, all depend on writing high performance code. At any point you’re probably a single step away from some C.
Languages like Python made it much easier to program but didn’t put as much thought into performance. I think the future of computing will be in languages that manage to be pleasant to write like Python while still exploiting low level hardware features. Rust, which is like C++ that doesn’t suck, and Julia, which is like Python with cleaned up semantics to allow easier compilation, come to mind. The economics of a few people developing high performance languages that everyone can use just makes too much sense. More cloud computing may be cheaper than more devs, but it still isn’t cheap in the absolute sense.
- williamdclt 6y agoI agree with your comment, I don't think we say different things. In particular, cherry-picking something you said: > The economics of a few people developing high performance languages that everyone can use just makes too much sense I agree: high performance is the job of a _few_ people. It doesn't hurt to know basics for it for everybody else, but even then... that's just one area out of many a dev could dive into. Maybe security or virtualisation or OS programming or whatever would be just as useful or more. My point is that we can't pick a random subfield of software engineering and say "everybody should be skilled at that"
- oivey 6y agoWe’re probably not that far apart. I do think in the future that more people will be concerned at least with basic low level optimizations because some “next gen” languages make it so much easier. Part of what makes it hard now is that C lacks many of the very useful abstractions and features that have matured over the last few decades.