5 ms·
No Excel? It's the most widely used visual, grid based functional programming environment. MS claim more than a billion Office users. Any time one of them edits
by osullivj 9y ago
No Excel? It's the most widely used visual, grid based functional programming environment. MS claim more than a billion Office users. Any time one of them edits a formula in Excel they're programming. Would also be nice to see AVS/Express in there. Jeff Vroom built the AVS VPE more than 20 years ago.
- runeks 9y agoNot only is Excel functional programming, it's lazy, pure functional programming: each cell (variable) can only define itself, and so cannot change the content of other cells. Evaluation is controlled by the Excel runtime system, which doesn't evaluate cell expressions unless they're scrolled into view, or needed to evaluate a cell that's scrolled into view. Exactly like Haskell. If Excel were impure, it would mean an expression in one cell would have the power to alter the value of another cell. So, in effect, a cell becomes a synonym for the expression it contains, rather than a -- possibly mutable -- reference to the value its expression evaluates to.
- Chris2048 9y agoI'll also mention excel now supports models, for proper table relations, avoiding the INDEX/MATCH function nonsense.
- deleted 9y ago[deleted]
- derefr 9y agoHuh; never heart about this! Is there a good walkthrough of this functionality for people who already work with relational databases and just want a compare-and-contrast?
- Chris2048 9y agoNot sure, although MS has a few tutorials https://support.office.com/en-ie/article/Create-a-Data-Model-in-Excel-87e7a54c-87dc-488e-9410-5c75dbcb0f7b https://support.office.com/en-ie/article/Create-a-Data-Model...
- Gravityloss 9y agoso, make a Haskell editor which only shows the one line of code where your cursor is on, rest of logic is completely hidden.
- will_pseudonym 9y agoWith VBA, you can make a cell modify other cells.
- osullivj 9y agoTrue. Excel makes a distinction between functions and commands. Functions can't modify other cells, commands can. Since VBA can be used for "automation" (invoking UI events) it can modify cells.
- cmrdporcupine 9y agoWouldn't it be a little more accurate and fair to call it the "Visicalc" model of programming, given that's who invented it?
- vanderZwan 9y agoI'm jus going to name-drop Felienne Hermans, who did an entire PhD on bringing proper software tools and best practices to Excel: http://www.felienne.com/publications http://www.felienne.com/publications Here is one of her more recent versions of the talk she gives on the topic: https://vimeo.com/162206549 https://vimeo.com/162206549 I think she raises especially important points when she mentions that Excel is used everywhere, that it suffers from all the technical debt problems that regular software development suffers from, and that buggy Excel sheets have big consequences (the austerity paper bug comes to mind[0]). So even if "real" programmers don't want to program in it, it still should be taken seriously given its place in the world. https://www.bloomberg.com/news/articles/2013-04-18/faq-reinhart-rogoff-and-the-excel-error-that-changed-history https://www.bloomberg.com/news/articles/2013-04-18/faq-reinh...