4 ms·
Excel is programming. I have to quote rms now, because it's just too perfect: https://www.gnu.org/gnu/rms-lisp.en.html https://www.gnu.org/gnu/rms-lisp.en.htm
by msla 7y ago
Excel is programming.
I have to quote rms now, because it's just too perfect:
https://www.gnu.org/gnu/rms-lisp.en.html https://www.gnu.org/gnu/rms-lisp.en.html
> Multics Emacs proved to be a great success — programming new editing commands was so convenient that even the secretaries in his office started learning how to use it. They used a manual someone had written which showed how to extend Emacs, but didn't say it was a programming. So the secretaries, who believed they couldn't do programming, weren't scared off. They read the manual, discovered they could do useful things and they learned to program.
Excel is that way now. It's programming for people who do not program, and it's no less mentally involved. It's just harder to extend beyond a certain point, because Excel is a pretty lousy development environment, and it typically doesn't have productivity helpers like source control.
It's also hard to port an Excel program to anything else because spreadsheets are their own programming paradigm, almost, although 'dataflow' isn't a completely alien term in the CS world.
https://en.wikipedia.org/wiki/Dataflow_programming https://en.wikipedia.org/wiki/Dataflow_programming
- TeMPOraL 7y ago> because spreadsheets are their own programming paradigm They're reactive programming. Yes, the current hot buzzword. The stuff you do (or at least you're supposed to) when building React apps, or working with FRP libraries in your programming language. The stuff that boils down to defining a dependency DAG, and having the framework keep recomputing it as you change individual nodes. Excel is that. There's actually a set of buttons in the ribbon somewhere, called "Trace Precedents" and "Trace Dependents" - when you click them, Excel will start drawing arrows between cells, showing you the underlying DAG. (I literally used this yesterday to help someone I'm tutoring to understand how to rewrite the spreadsheet we've made in C++, and why these are two forms of the same program.)