6 ms·
A spreadsheet in fewer than 35 lines of Tcl/Tk, no library used
- ColinWright 12y agoA 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.
- IgorPartola 12y agoI wanted to write a short computer program but didn't have te time?
- asQuirreL 12y agoThe length of the program isn't necessarily correlated with the amount of time it takes to write it, or more importantly, understand it ;)
- micheljansen 12y agoI believe that's the joke: "I wanted to write a short computer program but didn't have the time (so I wrote a long program instead)".
- konmik 12y agoIt is not a joke. Optimization takes time.
- IgorPartola 12y agoAs 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.
- dang 12y agoNot Twain, Pascal: http://quoteinvestigator.com/2012/04/28/shorter-letter/ http://quoteinvestigator.com/2012/04/28/shorter-letter/. But yes—just as applicable to computer programming as letter writing.
- deleted 12y ago[deleted]
- Igglyboo 12y agoIt is a joke. 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.
- ximeng 12y agohttps://news.ycombinator.com/item?id=6725387 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.
- beagle3 12y agoObligatory K reference: 2 line spreadsheet implementation. S..t:".[`D;(;);{. y};S[]];S[.;`f]:9$D[]" S:D:.+(`a`b`c`d;4 6#,"") 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. More info in http://nsl.com/papers/spreadsheet.htm http://nsl.com/papers/spreadsheet.htm - look for S- near the bottom.
- 616c 12y agoBut if compilation is compression, what if I zip the aformentioned Basic and Kv2 versions? Do I win? http://www.pvk.ca/Blog/2014/03/30/refactoring-with-lz77-compilation-is-compression/ http://www.pvk.ca/Blog/2014/03/30/refactoring-with-lz77-comp... (This is a joke, lest someone take me seriosuly.)
- biomimic 12y agoTcl rocks.