A friend of mine wrote a mouse-driven spreadsheet in a single line of BBC BASIC. Tokenised, it was less than 254 characters. No load or save capability, but full formulas and cell references, and demand-driven recalculation.
I should find, reformat, annotate, and re-implement it. If only I had the time. One day.
As the foremost domain expert on the subject (the subject being what I meant by my own comment), I can say with 100% certainty that it was in fact a joke, or rather a poor attempt to paraphrase Mark Twain's: "I didn't have time to write a short letter, so I wrote a long one instead."
Of course you are right, optimization does take time, whether you are optimizing a computer program or a letter.
Things that are shorter or smaller generally take less time to produce than things that are longer or larger, it's a joke because the opposite is true in this case. Jokes can be true statements as well as falsehoods.
https://news.ycombinator.com/item?id=6725387 has some commentary on the <30 line JS spreadsheet. It includes some interesting discussion on functional "spreadsheet" implementation with Haskell.
This is for K v2 which had Web+JS style built in native GUI. Later versions (K3 =~ Kona, k4/q and the upcoming k5) have dropped the GUI, so unless you have a K2 interpreter lying around, you can't test it. But rest assured it did work on a standalone 200KB interpreter that runs on a bare Win32 or Linux/Solaris + X install.
13 comments
[ 3.8 ms ] story [ 46.8 ms ] threadI should find, reformat, annotate, and re-implement it. If only I had the time. One day.
"I wanted to write a short computer program but didn't have the time (so I wrote a long program instead)".
Of course you are right, optimization does take time, whether you are optimizing a computer program or a letter.
But yes—just as applicable to computer programming as letter writing.
Things that are shorter or smaller generally take less time to produce than things that are longer or larger, it's a joke because the opposite is true in this case. Jokes can be true statements as well as falsehoods.
More info in http://nsl.com/papers/spreadsheet.htm - look for S- near the bottom.
http://www.pvk.ca/Blog/2014/03/30/refactoring-with-lz77-comp...
(This is a joke, lest someone take me seriosuly.)