Hacker News new | past | comments | ask | show | jobs | submit login
Implementing VisiCalc (2015) (rmf.vc)
90 points by franzb on Dec 17, 2018 | hide | past | favorite | 18 comments



I sincerely think that the spreadsheet is among the most ingenious pieces of software ever developed.

I am just old enough to remember VisiCalc (and clearly remember when Lotus 1-2-3 was new). I remember being impressed by lots of things back then (the word processor, the very first PC flight simulator, text adventures, very early GUIs). But as amazing as all of that was, I really feel like the spreadsheet required more lateral thinking than most of these other things.

Old ledger books were clearly part of the inspiration, but just today I was wondering if computer organization itself had inspired the idea. With high-level languages, you don't get as much of a sense of computing being all about arranging things on a kind of grid. Store this here, store that there, now combine those those things and put them over here . . . The spreadsheet abstracted that not just into a more convenient set of high-level operations, but into a real UI that people could understand. From a design standpoint, it was really a massive quantum leap.

Once in a while someone dreams up something really clever to do with a computer. That was definitely one of those moments.


I agree the spreadsheet was just a quantum leap at the time. When Lotus 1-2-3 was trending, I was doing technical support. So this would be right before Windows became significant. Lotus 1-2-3 was often paired with Harvard Graphics, which again was very impressive for the time. Somewhat later I got exposed to dBase and DataEase and learners about relational databases. It really was a wild time.


Does anyone know of terminal style spreadsheet program (thinking vim for spreadsheets)? I’d love an all text ui like VisiCalc and lotus where.



Modernized version of sc:

https://github.com/andmarti1424/sc-im


Wow. I didn't realize (until I looked at that wiki entry) that James Gosling -- yes, that James Gosling -- is the original author of sc!


As always, there is an emacs mode for that. https://www.emacswiki.org/emacs/SpreadSheet


Org-mode can do spreadsheet-like stuff too.

https://orgmode.org/manual/The-spreadsheet.html


I've only used it to look at data, not alter it, but visidata might interest you http://visidata.org/


Also Oleo. Somewhat unique in that it has both a terminal and Xwindows UI. https://www.gnu.org/software/oleo/


Blockpad (https://blockpad.net/) has this feature but it’s still in active development.


My biggest gripe with excel is that it doesn’t support complex numbers. Otherwise it’s bloody brilliant.

Life in science would be so much easier if it did

(I work on the simulation end of electrochemistry. All the data I receive is in excel sheets)


>My biggest gripe with excel is that it doesn’t support complex numbers.

complex()/imsum()/etc are not what you need?


I didn’t know that existed, but no it’s not good enough. Try referring to the complex value in a cell in another cell. You get a value error.

I.e say A1 = complex(1,1) Then A2 = A1*2 -> error.

Things like imsum() are not enough and awkward. (We have calculators for simple complex math.)

Experimentalists use excel as a visual vector computer language. I’ve used it like that as well, and honestly, for many problems in science, the spreadsheet’s paradigm of interacting with the user is better.

So what you end up with is hacked complex support by using two columns to represent real() and imag(). Then your’s truly has to parse it to use in my models.

You can do cute things in excel though. My advisor had me program the electric field resulting from a (large) distribution of dipoles.

He wanted it done - he insisted it be done - in excel. Don’t ask.

I work in a govt lab, and if you’re dealing with exp. you’re dealing with excel.

What I wished excel had, therefore, was the ability for the cell itself to be a complex number (or, better, a list of lists [0]).

[0] what is it they say and complex systems and LISP? :P


I didn't know these either and they seem like bolted on instead of properly integrated. Excel should overload the same operators to be able to write =A1A2 for example. But that being said it seems clumsy but workable. It does have a full set of math functions. For your example you can just do =improduct(A1,2) and it works. And that's just a slightly less convenient way of writing =A12. Certainly much better than having two cells per number?


I wonder how spreadsheets catch recursive formulas so quickly. eg cells that depend on each other.


As far as I know they build up a graph of the cell execution order, so recursive loops are quite easy to find.


Finding cycles in a graph is not that simple though. I'd expect they just keep a few state bits in each cell and when a cell that's marked as being in the process of calculation gets hit again as a dependency you've hit a cycle.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: