Ask Slashdot: Spreadsheet With Decent Programming Language?
First time accepted submitter slartibartfastatp writes "Spreadsheets are very flexible tools for data analysis and transformations, the obvious options being MS Excel and LibreOffice. However, I found increasingly infuriating to deal with the VBA--dialect functions or (even worse) its translated versions. Is there any spreadsheet that allows usage of a decent programming language in its formulae? I found PySpread intriguing, but still very beta (judging from its latest release version 0.2.3). Perl or even javascript would be better options than =AVERAGE(). Do you know any viable alternatives?"
As old as the hills: http://siag.nu/siag/
Not a very elegant language, but way better than any spreadsheet that I know of.
It's not exactly a spreadsheet, but Pandas is totally awesome and is useful for many tasks for which you might think of using a spreadsheet.
http://pandas.pydata.org/index.html
IPython Notebook is sort of like a combination of the normal ipython shell and an IDE. You interact via your browser but it connects to a normal python process on your local (or remote?) system.
http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html
I've used these tools together for many tasks for which I might otherwise have used a spreadsheet, particularly for "pivot tables" and time series analysis. Again, even combined they do not a spreadsheet make, but they are in many ways superior. They can handle very large data sets, and best of all you are doing it all in Python.
-73, de n1ywb
www.n1ywb.com
Instead of a spreadsheet with good programming just program and output a spreadsheet. CPAN has plenty of packages for this.
https://datanitro.com/index.html
I've used it a bit and it's pretty fantastic
What is the definition of a decent programming language?
It's a pretty ambiguous requirement.
C? Java? Python? Perl? Javascript?
Each is 'decent' in it's own way.
Another way to ask is this: What do you feel the shortcomings of the Excel VB language variant are?
Huh?
Both LibreOffice and OpenOffice.org support macros in Python or Javascript. Chances are you already know one of those, so you don't even need to learn a new language.
Beta is broken and the link to classic doesn't work. Stop wasting our time or there won't be anybody left here.
"Not all software is versioned with the assumption that 1.0 = finished."
This is the problem. This should be true: version 1.0 should be a statement by the author that the software has reached maturity for its initial, core feature set. Users should be able to rely on this. Version 0 should be when you write your first line of code; less than 1.0 should be initial implementation effort; 1.0 should mean first stable, complete public release; and full-number versions thereafter should indicate compatibility shifts or otherwise large functional jumps.
Let's get together on this, open source nerds. Give up on the fetish for teensy weensy version numbers. I know you think it's cool, but it's not, it makes obvious that you have no regard for the meaning of version numbers. (On the flip side, software like Chrome should stop using full-number increments for every single release. That also razes the meaning of version numbers.)
Excel can already use VBA, which in turn can use IronPython.
Done.
Awesome; but not quite done. At that point you can run an X86 emulator inside it and boot Linux. Then you can run Firefox inside it and finally, you will have access to a sensible language.
Actually, this is one of the best Ask Slashdots ever. A language war enclosed inside a user interface design war enclosed inside a programmer pet hate.
=~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();
What, exactly is wrong with =AVERAGE()?
It's not too bad, but it's not too good either.
Yes. I am advocating that version numbers should carry broadly-recognizable meaning. I accept your different opinion but I disagree with it.
In fact I think it would be silly for you to try to defend the suggestion that "version numbers should have no inherent meaning". None? Would you advocate that version numbers be non-sequential? After all, Mac OS 10.6 came after Mac OS 10.5, but maybe next they could release Mac OS 3.6, and then Mac OS 31.5, and then Mac OS -2, and then Mac OS Pi.
Of course version numbers carry meaning. They can't carry lots and lots of meaning, but they can carry a little bit. Why even bother with dotted-decimal version numbers if the dots and decimals mean nothing? Just use integers, but even monotonically increasing integers have "meaning" in that they convey directional advancement of the software. Likewise, if you use dates, dates carry meaning. Other than random numbers, it's difficult to imagine a version numbering scheme that has "no inherent meaning".
If you can keep it to rslt = function(cell1, cell2, cell3) then it's OK, but in practice it seems to involve rslt = use.of.some.object.you.didnt.expect where goat.sacrifice(was.successful) [but.I.lied.to.you]
Protoplasm. Quiet Protoplasm. I like quiet protoplasm.