Hacker News new | ask | show | jobs
by hyperbrainer 252 days ago
Irrelevant but spreadsheets have always struck me as one of the most beautiful pieces of software that we use. Automatically updating calculations, programming logic complex anough for most ERPs, using it is a database, easy organisation of data, graphs -- it has it all. From both a user and developer perspective, they are one of the most diverse tools on a computer. MS may make terrible software sometimes, but damn it, does Excel run the world.
3 comments

And absolutely unique failure methods that no other languages exhibit.

How often you had a formula like SUM(B1:B20), and then someone added item 21 and suddenly the output is just slightly wrong? Or perhaps someone updated the formula but did not propagate the change to the last few cells?

There are no error messages, no warnings, just an output which is slightly wrong. Wrong enough to break whatever it's going to be used for, but close enough that cursory inspection does not notice it. Basically the worst failure mode an app can have.

Spreadsheets _could_ be beautiful if no one were to use them for tabular data. But people do, so they are a really horrible programming language. I bet people spent thousands of years of their life fixing spreadsheet mistakes that could not have happened in any other language.

> no error messages, no warnings,

there are, you get a green corner in the formula cell telling you that adjacent cell isn't included

Spreadsheets are one of the ugliest pieces of software that we use. Pretty much all of the paradigms spreadsheets enforce would be considered abhorrent in any other context. Excel needs five hundred megabytes of memory just to load a blank sheet. Vendor lock-in is just tolerated as a fact of life, as is the lack of a real way to integrate with version control, and a lack of human-readable source files. If an engineer came to you and said “So for this project, I put all the code, input data, output data and comments scattered about one big two-dimensional array with no type safety, no portability, no scalability, no security, no variable names, no code re-use, no unit tests, no integration tests, no abstractions and no error handling”, you would fire him on the spot, but that’s basically normal for an Excel sheet. There is not an ounce of elegance in MS Excel, and trying to integrate with PowerApps, PowerAutomate or PowerBI only makes things worse.
> If an engineer came to you and said “So for this project, I put all the code, input data, output data and comments scattered about one big two-dimensional array with no type safety, no portability, no scalability, no security, no variable names, no code re-use, no unit tests, no integration tests, no abstractions and no error handling”

So, how is this different from engineers and MATLAB?

There are people who start new projects in MATLAB in 2025 for reasons other than ‘our expensive bespoke libraries only support MATLAB and it’d cost millions to rewrite them’?
There is also all the helpful work that Mathworks does such as Simulink ... Also, consider that MATLAB works much more like how one would write on paper (including 1-indexing) and is what people are used to at this point.
Well, they're FP, in visual form. What's not to like?!
Now I wonder if I can make category theory diagrams in spreadsheets.
what a fun way to think about them, might get me over my long life hate of spreadsheets