Hacker News new | ask | show | jobs
by NeoTar 599 days ago
Excel can be really great — it’s been said that a huge amount of the world‘s programming is actually done in excel (summing a column of numbers is, after all, a very primitive programme).

I wish there were better tools to help excel users migrate to more formal coding. Something that allows the immediate visibility and accessibility of Excel code, but avoids some of the problems of updating a formula in one place, but missing another, allowing better testing, and type safety for data.

7 comments

Best part: Excel supports your example and many other similar quality of programmers life use cases and has been for years if not decades (e.g. named ranges and tables). For some reason people don’t use them.
A downright comical number of analytics products are crude reimplementations of lesser-known Excel features. A rudimentary understanding of pivot tables or "goal seek" can be enough to blow minds even among an audience that has used Excel on a daily basis for decades. Spreadsheets, like word processors and presentation tools, are so omnipresent that organizations tend to assume their operation is absorbed through osmosis, and therefore fail to invest in training.
There's PowerQuery, built into Excel. It can do some great stuff (love me some fuzzy join) but the ergonomics are apocalyptic.

This is actually the root problem of trying to improve or extend Excel--it has a truly ancient, horribly broken sharing/ipc/embedding model that is integrated into everything and can't be easily fixed or worked around.

Power Query/M is the only functional language I've used, a couple years ago. I actually quite liked it, I even built up a collection of my own functions.

It's just a pity the editor is literally worse than Notepad. And the implementation wants to reload a file twenty times. And the security stuff doesn't really work, so you're constantly turning that off. And and and.

I think the main feature of excel that makes it the killer app it is, is that it is extremely approachable to non technical people. Making it more like programming erodes the core feature that motivates its use.
No joke, I built a Excel compiler once. All functions written became legit code you could compile down to a binary. But wow, I learned a lot about how complex that could get... my intermediate language was technically readable, but when every cell is a function, it got so big it would break the target binary compiler unless I split it up. Good times though....
I guess when you add type safety and tests to an app like Excel, it becomes so much closer to programming languages that it makes more sense to ditch the app and just write code directly.

Even today, complex logic in Excel is mostly done through VBA, JavaScript, Python and the like.

I got into professional programming via VBA in Excel
Its really disappointing that VBA stopped improving since 20 years ago. Imagine if you could embed C# or even better F# in workbooks, and also have a way to better way to package libraries. We wouldn't see Python notebooks.