3 ms·
It would be nice if all software were simple, elegant, and minimal. But I don’t know why we should expect it to be. The hardware that runs the software is compl
by mberning 3y ago
It would be nice if all software were simple, elegant, and minimal. But I don’t know why we should expect it to be. The hardware that runs the software is complicated on a whole other level. You want and simple, elegant and minimal cpu? Video card? Sound card? You better be ready to give up a LOT to get that. And giving up the current experience is something end users really don’t want to do.
- rektide 3y agoSimple elegant & minimal is subjective IMO. What absolutely shatters us is that we almost never have enduring & exposed bases. Software is endless layers of abstraction reaching upwards. Very few layers expose themselves at all. So we are all strangers to most software. For software to be simple elegant & minimal, we would have to be able to deploy existing knowledge, be able to leverage the fundamentals we know. But that's not where we are, but we are all adrift: > In the past year I think I have finally come to understand the ideals of Unix: file descriptors and processes orchestrated with C. It's a beautiful idea. This is not however what we interact with.
- bb88 3y agoBack in the 1990's there were maybe 5 languages commonly used (C/C++/Assembler/Turbo Pascal/Visual Basic). Now there's 40. Each one needs it's own networking library. 8 different kinds of databases - with each language needing it's own adapter. 5 different web frameworks for each one. 3 different json libaries. It's a classic cartesian product. And instead of "I'll help fill in the gaps", its "I'll solve the problem by writing a new language!" -- which just makes the cartesian product bigger.
- stefncb 3y agoAnd that's fine. Choice is good. IMO the problem isn't that there are a lot of things to choose from, it's that there are a lot of things on top of each other. Stuff on top of stuff on top of stuff. I personally wouldn't want to live in a world in which I could only use "one of these 5 languages", whatever those are. But I would love to live in a world where things weren't so deep in abstraction and complexity. These are two very different problems.
- bb88 3y agoImagine if every state had their own completely different traffic rules, and you had to be licensed in every state in order to drive there. E.g. In one state you had to drive on the left hand side but only on Tuesdays, Thursdays and Saturdays. In another state, it cost too much to put up traffic signs and signals, so, all drivers had to stop at all intersections unless you were going in a North or South direction. One aspect is that it would make an interesting situation at the borders between states. And that's kinda sorta what we have now with programming languages. > Stuff on top of stuff on top of stuff. Couldn't that also be too many choices? Like if you specialize in JS instead of C, you're not going to have all the knowledge a C expert might know. Instead of utilizing proven, existing C libraries, you're going to write stuff from scratch in JS?
- stefncb 3y agoThe difference is that states require you to follow the rules, but you can choose what language you want to use yourself. I don't need to know Java if I want to use Lisp, and you don't need to know Lisp if you want to use Java. Yes, stuff will need to be rewritten. If you want choice you trade efficiency for it. I'm okay with that. If everyone uses the "proven" libraries and languages and whatever we'll have no innovation. I don't want to live in a rigid world where we somehow ended up choosing a set of things and nobody uses anything else; I want to see more software written in weird languages. Arguments that go like "but nobody is gonna learn a whole language to contribute to your stuff" are depressing - if it's good, I, like many others, would. Without experiments like these we'd still be in the 60s using COBOL because it's "industry proven" or "battle tested" or "blazingly fast" or whatever. That world is boring. This is Hacker News after all.