Mysterious constants in formulae, unexpected quick side calculations left over, and poor structure.
The only use I have for Excel these days is as a fancy CSV editor: the heavy lifting is best done in Python.
Mysterious constants in formulae, unexpected quick side calculations left over, and poor structure.
The only use I have for Excel these days is as a fancy CSV editor: the heavy lifting is best done in Python.
I feel like HN is often populated by rather skilled and rather disciplined software engineers, and for them almost any language can be a pristine tool and a code base can be beautiful and clean.
For someone who may be analytically capable but not a software developer, I feel that Excel can be the correct tool even if it yields some ugly "code bases". The tool you have at hand is often the most expedient tool to use even if not perhaps the absolute best.
Excel has a specific use case. That use case is not developing complex software, but quick and simple analysis of data. If you try anyways the result will be bad and unmaintainable.
How to you version control Excel sheets? I guess you can technically use git but the diffs will be completely useless.
How do you run unit/integration tests on an excel sheet?
The tests were run every time the sheets were updated so we had a form of test driven development when working with the sheets.
There was a long running project on the go to retire the spreadsheets and replace them with a proper application but that was a multiyear effort.
This could be about any programming language/codebase.
In Excel, you could move those "mysterious constants" into named/described cells in a constants sheet if you wanted. You could also put your formulas in one place and reference them.
This reminds me of the old "Why does Visual Basic suck? Because it attracts BAD programmers" discussions. The reality is that almost no language stops you writing bad code, and older codebases often are worse in terms of maintainability regardless of language choice.
I've seen some absolutely terrifying C code for example.
PS - Excel's CSV support is complete trash. If you open a CSV and just hit "save" it may corrupt data in an unrecoverable way. For example turning long numbers like UPCs, medical codes, or DNA sequences, into scientific notation or dates, dropping leading zeros even if you convert them back.