4 ms·
Wrong end of the correlation/causation pattern. Human beings make mistakes. A lot of humans use Excel. Hence a lot of errors in Excel. Would all those human
by pinaceae 12y ago
Wrong end of the correlation/causation pattern.
Human beings make mistakes.
A lot of humans use Excel.
Hence a lot of errors in Excel.
Would all those humans program their logic in Python - we'd have a lot of wrong calculations in Python code and an article stating to not use Python.
- saosebastiao 12y agoI am human, therefore there is no difference between coding in C and coding in Rust/Cyclone? I don't think it works that way. The surface area where you are permitted to make mistakes is completely different in language X compared to excel. In Excel, `="a"+4` is a cell error but a valid spreadsheet. In python it is an invalid program, throwing a runtime error. In haskell, it doesn't even compile.
- 001sky 12y agothe parent seems to be referring to survivorship bias.
- jasode 12y agoIt's an oversimplification to assume the hypothetical Python implementation would have less errors. We don't know that. Some type of math errors would overlap between Excel and Python. Some types of errors would be easier to stumble into in Python than Excel. For example, an inexperienced programmer in Python might use floating point instead of Decimal data type to add currency amounts. His programming loop to sum the amounts would be incorrect. In MS Excel, adding currency in cells correctly down to the penny is a no brainer. Sure, the Python programmer can be taught "best practices" to avoid this type of error but the point is that while Python helps eliminates some errors, it also creates new ones. Another example is data munging. A programmer might write some Python to slurp a data file (exported from mainframe or whatever) and do some financial calculation on it. Load the values into an array some other memory structure. The problem is that the memory contents are "hidden" from sight unless the programmer uses a visual debugger or prints out all the values to inspect. The Python programmer may not notice that some values are misaligned or garbage. With Excel, the non-programmer imports the data file and he immediately scrolls through the worksheet as a sanity check. His eyeballs notice that the source data is dirty. Again, the Python "problem" can be corrected with best practices but the point still remains: different tools create different problems. Lastly, Excel spreadsheets are easily emailed among dozens of people. You can't send ???.py programs to everyone because you can't expect all the Windows users to have the Python runtime. Spreadsheets are even sent to iPhones and tablets and you definitely can't expect easy Python deployment there. With less coworkers examining the ???.py file, it has potential for more errors compared to a scenario where everybody can participate in questioning the spreadsheet's numbers. Our intuition says that on balance, the hypothetical Python/Haskell solution should have less errors than MS Excel but I can't confidently say I've seen any definitive proof of that.
- collyw 12y ago>The problem is that the memory contents are "hidden" from sight unless the programmer uses a visual debugger or prints out all the values to inspect. I think that's what most people do when they are programming.
- maxerickson 12y agoIt's not true that all tools are exactly the same. I suppose a good example of this would be all the affordances built into a modern highway. Softer turns, curves prior to intersections (they increase visibility and encourage the stopping traffic to slow down), embankments, etc.
- daddykotex 12y agoAt least Python will ease the testing of the various functions you code. Everything won't be hidden inside cell all over the pages
- acqq 12y agoApparently the errors found were "transcription errors" not "programming errors." Using Excel or not then is irrelevant. Excel (and any other spreadsheet) is a nice and convenient tool to get easy tabular inputs and some results fast. Spreadsheets were one of the first useful programs on PCs.
- jmount 12y agoWith spreadsheets a lot of steps needlessly require human transcription (cut/paste, typing and so on). So there is a casual relation.
- deleted 12y ago[deleted]
- acqq 12y agoSteps require "human transcription"? I think you've got a wrong term, and if you mistype the data you have on the paper when making a spreadsheet I don't see why you wouldn't when doing the same typing using your text editor.
- jmount 12y ago"Manual intervention" would have been better. The steps involved can be copying and pasting, selecting a range (very nasty if you miss and don't notice), and even typing data from another source. Compare that to something like R where you typically load the data (even from a URL) with command like "read.table()" and most operations are implicitly over the whole data frame (no copying of data from paper required).
- 12y ago
- ChuckMcM 12y agoI got a different message, the message was that mistakes are harder to find in Excel than in other programming languages, and correct operation is harder to validate. Had Piketty used Python it might be that the libraries would be more amenable to code review as reading the structure is easier than it is reading the formula contents of all the cells in a spreadsheet. There are some excellent tools that are used by civil engineers where the formulas all have to be published when working on any thing. They miss a decimal point and bridges fall down. My brother in law is working on automating some of the drudge work but essentially they produce a falsifiable sequence of claims so that anyone can assure themselves they got the correct answer, and if the formualae are wrong it is immediately apparent.