Hacker News new | ask | show | jobs
by nilshauk 1513 days ago
Yes! It's like we've taught people to fish with the new latest in fishing equipment, but we failed to teach them some tried and true fishing principles. Haha, maybe this analogy breaks down. But yeah, I find that we focus almost too hard on keeping up with framework release notes instead of trying to see if we can distill some common patterns relevant across frameworks.
1 comments

If we've done that it's because overnight we realised we needed 10 billion fish and only had a handful of people currently able to fish.

Mass mobilisation of people able to catch fish has enabled businesses to join the digital landscape.

It may be true that we've not taught people in a way that's best for their long-term prospects, but had the computer science industry taken the approach of other engineering, nursing or even accounting, with strict legislated terms and certificates, and exam boards controlling quota of people able to go into computing, then perhaps it would be an ivory tower of well built and engineered software.

But it would also have risked leaving most businesses behind and things wouldn't have accelerated nearly as fast.

That's true we might not have been able to mobilize so much productivity so quickly for business without throwing frameworks at the problem. However, I think also a lot of effort might have been wasted by reinventing wheels and rewriting application many times over because some framework or language fell out of fashion and hiring for it became difficult.
A lot can be blamed on the "you're only competitive if you do X" mindset causing crashing waves of technological arms races that only indirectly concern the societal functions of computing.

What the end user ultimately wants to do is nothing that special: they either want to enter and edit data in some medium, or process existing data. What that "looks like" just depends on what layer they try to do it in.

For example, you could do your photo editing by writing code that loads the file and pushes bits. You could do similar on the command line by invoking Imagemagik. Or you could use a dedicated photo editing app. Or you could use a photo editing feature baked into a social media app.

Advancing age eventually makes one jaded about this, from two directions: "Back in my day, you edited photos in a darkroom, with toxic chemicals!" And then, more philosophically: "The point of you editing the photo is to gain clout with your buddies or sell some product, isn't it? So having the latest and greatest photo editing feature is just a fashion."

But of course, at some point in your life you're a user who wants to buy some version of this feature, but you're doing it without knowing what you want, exactly. So you ask around and end up with something.

And that doesn't really change just because you invoke a compiler or build system to access the feature. That's just the particular way in which we've professionalized software "development". At the bottom layer we have some Atlas effectively lifting the world by implementing the base algorithms, and the way in which they do so sets up the dependency structure of everything else. Atlas usually doesn't get hired to do his job: he implemented the thing 15 years ago as a research project and then moved on. Everyone depending on him is just some mercenary saying they have the best solution for your photo editing needs.