Hacker News new | ask | show | jobs
by brfox 3193 days ago
The article didn't mention it, but I think that Excel is a great example of where "the masses" have learned to do programming. It is visual and the effects of changes are immediate.
3 comments

My uncle worked at a very large corporation that couldn't update to a later version of Excel because they relied on some spreadsheet to do their taxes, and some minor difference between versions broke the spreadsheet. No one could reverse engineer what the spreadsheet did. With a complex enough sheet, every cell becomes a separate function with no documentation.

That's unfortunately a pattern you see with these efforts to make things simpler and more visual. They're great tools, until it gets too complicated, and then you find you'd be better off just writing code.

Yes, exactly. What fools people is that programming in the small is indeed trivial, and so they think that all programming is trivial. What they don't understand is that as programs grow, their scale and complexity become barriers in themselves; and then managing that complexity becomes the critical factor for success. The reason they would be better off just writing code is that, well, for one thing they would be working in a language with better-defined semantics that wouldn't change out from under them, but beyond that they would be able to use some of the other tools that software engineers have found useful over the years: starting with simple things like well-chosen variable and function names and comments, all the way to version control, none of which is possible with Excel (AFAIK; I'm not an Excel user; but even if they're possible they don't seem to be standard practice).
I totally agree. I just wonder if there is some way to take that open space, visual programming which so many people do with Excel and make it more robust. Well, actually, lots of people are working on making a better spreadsheet or putting the table data into a database and making interactive plots, so maybe that's not the angle here. Maybe we can figure out how to make our IDEs more Excel-like in some ways. Not for us regular programmers, but for people who'd like to do serious programming in their subject/domain of expertise but don't want to just do it in Excel with VB.
For things excel is used for I find a few unix tools and piping between them can achieve a similar affect yet still be maintainable, debuggable and repeatable. In lieu of convincing the masses to work this way, I wonder if visual tools could take the best parts? Instead of updating cells on sheets (global variables), have a UI that allows users to break down it down into a series of steps with an input and an output, much like a makefile. Then it would be possible to step through the script, inspect the input and output for each step and view the final result.
And yet its results aren't any more reliable. They seem less so to me. https://www.bloomberg.com/news/articles/2013-04-18/faq-reinh...
The effects of a change may be immediate, but not necessarily immediately obvious. Subtle bugs are a problem in any programmable system.
Yes, and there are plenty of examples of spreadsheet-bugs having significant real-world impact. E.g.,

1. https://www.bloomberg.com/news/articles/2013-04-18/faq-reinh...

2. https://www.cio.com/article/2438188/enterprise-software/eigh...