|
As a borderline ranter/troll myself, I recognize the sentiment that there is too much negativity in the developer sphere. But, the difference between what I say and what the typical mouth breathers spout on, say, political forums, is that I can point to specific examples and evidence of why the status quo sucks. What the people with a positive slant on all this seem to miss is that it’s not just any one area of computer science that is facing difficulties, it’s all of it. For any technology or methodology, I immediately see flaws that range from merely annoying (semicolons in C, colons in Python) to downright devastating (shared mutable state between processes, the inability to statically analyze imperative code). Very little software has been written that is provably bug-free, and it came at great cost. Some of the control code that NASA has written comes to mind, or perhaps some of the early work in lisp, maybe a few other things like Excel that attempt to avoid programming altogether. Most everything else succumbs to an inability to scale, because code complexity grows exponentially while performance grows linearly. So code that works is generally small and modular. Unfortunately, when we try to tie everything together under umbrella frameworks like UNIX, something is lost and we’ve never solved that in a mainstream way, at least not to my satisfaction. The great successes today have come in spite of existing technology, not because of it. I very much wish that the world would slow down for a moment, take a step back, and really assess the numerous ways that computing as we know it today has failed to deliver on the promises made by pioneers 50 years ago. It’s like the recent post on HN of how concurrency is the new memory management. While that’s true, it merely reveals the tip of the iceberg, not just in the fact that most languages fall down in the face of concurrency, but that even hardware has been unable to keep pace with the newest trends. It doesn’t even scratch the surface of the wetware issue, that generations of programmers have been raised on orthodoxy that can’t take us to the next level. I know that something is terribly wrong when I point out a problem and am met with such hostility, disguised as positivity. To me, this can be as damaging as excessive criticism. But it’s shielded behind the enormous profitability of the tech sector, where people would rather jump through hoops and make money than solve problems once and all for society and increase everyone’s wealth. |
"inability to statically analyze imperative code", a.k.a, the halting problem. And we've still done a lot here--consider PVS-Studio or similar tools.
Tying stuff together in nix works fine, and has worked fine for decades.
Hardware keeps pace just fine with newest trends, and in fact enables* programmers to try things they couldn't have before.
"Wetware" issue? What're you on about?