Hacker News new | ask | show | jobs
by meredydd 3430 days ago
I'm seeing a lot of hate for spreadsheets here.

First, to state the obvious: in the time your least-favourite Excel sheet took to grow from simple time-saver to sprawling Cthuloid monster, it has probably saved multiple person-years of effort. You could spend the next six months rebuilding it all "properly", and it's still comically positive ROI.

Spreadsheets are also a unique, top-level category in computing as a whole. By my count, there have only ever been three schemes of interaction with computers (with any significant adoption):

1. Shrink-wrap. Use the software you've been given. Read the manual; that's what it does, no more.

2. Programming language. It's text, it's got syntax, it's got the same basic constructs as any other programming language. You know they're all the same, because once you know a few languages, you can start using a new one in an hour or two.

3. Spreadsheets. Visual interaction, scaling smoothly from "simple calculator" to "this is the backbone of our whole business".

Spreadsheets really are that fundamental a discovery in the field of computing. Give them some love.

2 comments

Aside: This is also why the OP's wishes for "a better spreadsheet" so often run into trouble. If you take a spreadsheet and naively "add more power" with a programming language, you're producing an abrupt transition from mode #3 to mode #2. This spooks the user almost as much as learning to code from scratch - and for the same reasons.

I don't have an answer for this. For https://anvil.works we deliberately avoided this pitfall by never pretending to be a spreadsheet (or, for that matter, shrinkwrap, like Salesforce does). We make you write code from step 1, and get comfy with it, because if you started in any other paradigm it would be too hard to switch. And if you don't write code, you'll never get much advantage over just using Access.

But why not word processors or presentation software (PowerPoint)? How about Photoshop? That's pretty big.

Edit: oh, you're not computing something so much as you're using shrink wrapped software to build documents, presentations, or manipulate images. So, not quite the same.

As for programming languages, I disagree. You don't go from only knowing say Python, PHP and Java to being able to use Haskell in a few hours. There's a substantial learning curve in being able to use a sufficiently different programming language. And no, "Hello, World" or typing in a few simple commands from a tutorial don't count.

Do you suppose the a C programmer is just going to be building a meaningful Smalltalk or Lisp program after a couple of hours? Or that a Javascript programmer is going to be whipping up C++ applications in that amount of time?

I've seen orgs run on Excel spreadsheets: one electric utility I worked for described their load in one massive Excel sheet. Where I think this analogy falls apart is that so many spreadsheets come to depend on macros (which my experience did, via ODBC), which makes them a meld between 2 and 3. I've definitely written systems at level 2 -- at the same company -- that have had way more ROI than the spreadsheet based system that was previously employed, but the spreadsheet could have employed macros to do the same thing.