> I have always wondered what would happen if someone had to invent spreadsheets from scratch, today.
This is exactly what Joel Spolsky did:
> What was I talking about? Oh yeah… most people just used Excel to make lists. Suddenly we understood why Lotus Improv, which was this fancy futuristic spreadsheet that was going to make Excel obsolete, had failed completely: because it was great at calculations, but terrible at creating tables, and everyone was using Excel for tables, not calculations.
Since no other pedants have chimed in yet, I'm required to point out that 20 years is five olympiads, which is the timespan in between six Olympic games.
"There's two hard problems in computer science: we only have one joke and it's not funny" which I've seen credited to Phillip Scott Bowden
Which is a reference to the "two hard problems" jokes, the most used is "There are two hard problems in Computer Science: Cache invalidation, naming things, and off-by-one errors"
But there is also "Two hard problems in distributed systems: Exactly-once delivery, guaranteed order of messages, and exactly-once delivery".
> Which is a reference to the "two hard problems" jokes, the most used is "There are two hard problems in Computer Science: Cache invalidation, naming things, and off-by-one errors"
It's just as funny today as when I first heard it in 2002/2003... to which my professor at the time would add:
"But really, naming things is colouring. And cache invalidation is colouring. So really there's only one problem in computer science, colouring and counting... which doesn't sound so hard after all".
In my opinion, shell scripting is the right tool when you need to do a lot of calling programs, piping, and redirecting. Such programs end up being cumbersome in "proper" languages.
If there are already software written to do the stuff and I'm just coordinating them (no other computation other than string manipulation) I'd take bash every day. I would only reach to python if I need to do stuff like manipulating complex data structures or something with heavy logic.