Live data from Hacker News

VisiCalc Reconstructed

zserge.com

21–30 of 85 posts

Re: VisiCalc Reconstructed

#21

Anyone know what kind of departments/parts of business were the first adopters of visicalc?

All kinds of operational departments. I'm sure it was used for accounting, payroll and commissions, inventory tracking, I know that teachers used it for gradebooks as I helped set them up when I was in high school (early 1980s).

Pretty much anything that you used to do on paper with a columnar notebook or worksheet and a calculator, or anything that could be represented in tabular form could probably be implemented in VisiCalc, Lotus 123, and others. Spreadsheets are probably the most successful software application that was ever invented. Certainly one of the most.

Re: VisiCalc Reconstructed

#22

Earlier quoted context omitted.

Oh man, a TUI spreadsheet application that can edit ODF or XLSX format would be absolutely killer. Would love to hear if anyone knows of such a tool

Pretty sure I can build one based on code I already have. If others are interested in this, please let me know and I'll bang it out in the next couple of weeks.

I would be interested! Clixel

Re: VisiCalc Reconstructed

#23
post #19

> Maintaining a dependency graph would give us the most efficient updates, but it’s often an overkill for a spreadsheet. It's not overkill at all. In fact, it's absolutely necessary for all but the simplest toy examples.

Isn’t the existence & success of visicalc a direct counter to this?

Is anyone using visicalc today? I'm not sure how its past success, however fantastic, can be translated into "a dependency graph is often an overkill for a spreadsheet"

Re: VisiCalc Reconstructed

#25

Anyone know what kind of departments/parts of business were the first adopters of visicalc?

Accountants, and individuals within all kinds of businesses (what we today would call shadow IT). Imagine something like this:

* Person who deals with numbers all day goes to a computer store to browse.

* He sees VisiCalc, and immediately understands what it can do. It *blows his mind*.

* He wants to buy it right away. Pays for $2000 Apple II computer with disk drives to run $100 software; price is no object.

* Shows friends and colleagues.

* They rush to computer store. Repeat.

Re: VisiCalc Reconstructed

#26
Very cool article!

I also implemented a spreadsheet last year [0] in pure TypeScript, with the fun twist that formulas also update backwards. While the backwards root finding algorithm was challenging, I also found it incredibly humbling to discover how much complexity there is in the UX of the simple spreadsheet interface. Handling selection states, reactive updates, detecting cycles of dependency and gracefully recovering from them is a massive state machine programming challenge! Very fun project with a lot of depth!

I myself didn't hand roll my own parser but used Ohm-js [1] which I highly recommend if you want to parse a custom language in Javascript or TypeScript.

> One way of doing this is to keep track of all dependencies between the cells and trigger updates when necessary. Maintaining a dependency graph would give us the most efficient updates, but it’s often an overkill for a spreadsheet.

On that subject, figuring out the efficient way to do it is also a large engineering challenge, and is definitely not overkill but absolutely required for a modern spreadsheet implementation. There is a good description of how Excel does it in this famous paper "Build systems a la carte" paper, which interestingly takes on a spreadsheet as a build system [2].

[0] https://victorpoughon.github.io/bidicalc/

[1] https://ohmjs.org/

[2] https://www.microsoft.com/en-us/research/wp-content/uploads/...

Re: VisiCalc Reconstructed

#27
post #19

Earlier quoted context omitted.

Isn’t the existence & success of visicalc a direct counter to this?

Is anyone using visicalc today? I'm not sure how its past success, however fantastic, can be translated into "a dependency graph is often an overkill for a spreadsheet"

A still-very-common use case for spreadsheets is just to manage lists of things. For these, there are no formulas or dependencies at all. Another is simple totals of columns of numbers.

There are many common spreadsheet use cases that don't involve complicated dependency trees.

Re: VisiCalc Reconstructed

#28

Are there good command-line interfaces for spreadsheets? I don't do anything super financially-important and I'd prefer to stay in the terminal for quick editing of things, especially if I can have Vi keybindings.

Oh man, a TUI spreadsheet application that can edit ODF or XLSX format would be absolutely killer. Would love to hear if anyone knows of such a tool

https://github.com/zaphar/sheetsui

Re: VisiCalc Reconstructed

#29

Earlier quoted context omitted.

Is anyone using visicalc today? I'm not sure how its past success, however fantastic, can be translated into "a dependency graph is often an overkill for a spreadsheet"

A still-very-common use case for spreadsheets is just to manage lists of things. For these, there are no formulas or dependencies at all. Another is simple totals of columns of numbers. There are many common spreadsheet use cases that don't involve complicated dependency trees.

It's a common CPU vs RAM decision to make. Dependency graph consumes memory, while recalculating everything for a number of iterations could happen on stack one formula at a time in a loop. On 6502 it mattered. On modern CPUs, even with RAM crisis I'm sure for 99.9% of spreadsheets any options is good enough. Say, you have 10K rows and 100 columns - it's 1M calculations to make.
Post reply on HN