Hacker News new | ask | show | jobs
by crdrost 1197 days ago
Yeah, I want to emphasize those aspects.

• Excel is based on a simpler model of computation, something like the unification ideas in logic programming, state is not named and minimally expressive, etc. You want a looping construct? Better autofill a column or something!

• Excel automatically includes printf-style debugging of every object in the system; that is the default state of the system and you have to hide columns you don't want to see.

• Excel has no compilation or run step. The document is living and when you change things you immediately see the results of that change.

This means that the programming model in Excel becomes much more amenable to the results-oriented mind. Decide on an incremental goal, then calculate a bunch of results “the long way” and then massage the formula until it gives a result that matches your manual calculations. Repeat as desired.

It's like clay, basically. You sculpt it to look right and then you sculpt the next piece to build on that and so on.

3 comments

One additional point: since Excel packages the code with the data, when somebody sends me a spreadsheet with functionality I've never seen before it's extremely easy to figure out what they did and learn on the job. This is also why Jupyter notebooks are so powerful.

If instead of Excel they run a bunch of scripts and just send me the output, I am left much less empowered.

> when somebody sends me a spreadsheet with functionality I've never seen before it's extremely easy to figure out what they did a

You must have encountered only very simple spreadsheets. I've had to reverse engineer a number of technical spreadsheets that took days of full time sweated effort to merely understand the principles and more days again to extract the methods accurately enough so that they could be reimplemented in a programming language.

Think about how much harder it would be if you couldn't see the inputs, code, and outputs all together at once. The difficulty you found has little to do with Excel; you were trying to learn a whole new domain by reverse-engineering a model created by an SME. Of course it took multiple days of effort to merely(!?) "understand the principles" of a brand new technical domain. Ideally the SME should be explaining those things to you as well.
> The difficulty you found has little to do with Excel;

i claim, if you allowed access to an underlying source code representation of the spreadsheet, or rather, if you made that transformation at all, you could easily add symbols and labels to transform an excel sheet into something a programmer could turn into a binary but i doubt that step inbetween is desired

I mean, the activity of analyzing an excel spreadsheet is more akin to learning where all the items in your favourite point and click adventure is and in what order to get them where, than to actually analyzing a problem

When you've done that, is it all of a sudden super-simple? You've had to incorporate all the same complexity into your model. If you sent it back to a spreadsheet user, don't you think they would say the same thing, just backwards?: "I had to reverse engineer a number of technical data processes in R that took days merely to understand the principles..."
Perhaps not super simple but it will have been broken down into named parts. In the days before spreadsheets were as capable as they are now I worked with plenty of quite old engineers who would write Fortran instead; their Fortran was always better than the spreadsheets that they later produced.
The degree something is well-designed and comprehensible is based mostly on the developer, not the tool. A spreadsheet with named ranges/tables, cell comments (sparsely, where necessary), clearly-defined tabs, etc can make debugging or reverse-engineering a breeze. The visual aspect of Excel can also help debugging immensely, i.e. conditional formatting of cells failing validation, filtering to isolate subsets of data, etc.

I will certainly agree that it is quite rare to come across a spreadsheet that is perfectly-organized, on the other hand a ton of developers write horrible spaghetti-code too. Further, a 10+ year-old spreadsheet will open right up in Excel... while a 10+ year-old data project is often written in a language you've never used before (or hoped you'd never use again).

That pt 3 is actually something I really like in Office. It isn't just instant, you can see changes live as you mouse over different options. I also really like the search tool that lets you just type what feature you are looking for. I have no idea where the 'new pivot table' button is and I don't care, I can just search it instead of hunting through menus.
as much as i hate microsoft, excel endearingly excels expectations...
Ima stop you right there and ask how you made the bullet points.

• Is it just a pasted character?

* Is it a markdown thing? * Is it?

You can tell it's a character because the wrapped lines don't indent & align like a real bullet list.
I was on my mobile, I think the keyboard is Gboard, you have a symbol keyboard with two pages and the second page has the bullet.

Also if I long press on the bullet I can choose among •♣♠♪♥♦, which I find to be a hilarious random assortment...

it's a character