Ask Slashdot: Spreadsheet With Decent Programming Language? 332
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?"
Just do it the other way around (Score:5, Insightful)
Instead of a spreadsheet with good programming just program and output a spreadsheet. CPAN has plenty of packages for this.
Definition (Score:5, Insightful)
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?
Re:MATLAB? (Score:4, Insightful)
Stop. Stop right now. (Score:4, Insightful)
Stop programming in your fucking spread sheet. It's not an application development system.
If you start having more code than you have data in there, you're doing it wrong.
On the other hand, I got paid a pretty penny to turn a spread sheet system into a real application not so long ago,
Re:MS Offfice 2013 - Javascript apps (Score:5, Insightful)
What, exactly is wrong with =AVERAGE()?
Re:Stop. Stop right now. (Score:5, Insightful)
Turning a spreadsheet into an application is not programming. It's being an accountant.
Re:My problem is quite the opposite. (Score:2, Insightful)
Excel was already a robust and popular application on Macs. And the original 123 for Windows was a thin wrapper around the DOS app and not considered very good. The fact that "Office" was half the price of Lotus+WordPerfect didn't hurt either.
Re:Just do it the other way around (Score:5, Insightful)
At the very least get them using a real DB and not VBA. Trust me you will be far better served in the long run.
The problem is in most organizations, IT is not responsive to requests to set up these kinds of databases. They especially don't deal with requests that are not precise and require a fast turn-around. Thus you end up with analysts and accountants using Excel and sometimes VBA because they can get the job done quickly and effectively.
And frankly, I don't want my accountants and analysts wasting their time creating databases and learning to write database applications. Their job is to be very good at accounting and analysis, not administering databases.
Re:Version numbers... (Score:5, Insightful)
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".
Re:My problem is quite the opposite. (Score:3, Insightful)
Excel is the Crescent Wrench of office software.
The wrong tool for (Almost) every job.
Re:My problem is quite the opposite. (Score:5, Insightful)
No, Excel won because it was very much better .. at what the majority of users use spreadsheets for: keeping simple lists. Microsoft realized that early on and optimized for it. Excel is also terriffic these days as a simple graph-paper-oriented drawing program: make the cells square and you can outline and color quite easily. It also does a respectable job at turning a imple set of data into a pretty infographic-style graph.
Excels behavior as a tool for complex financial calculations is simple irrelevent for 99% of its users. It won because it was optimized for doing simple, visual stuff.
Re:Just do it the other way around (Score:3, Insightful)
Using Excel for tasks to which databases are better suited because you have an unresponsive IT organization results in an additional problem on top of the one you started with, rather than dealing with the original problem.
What you probably need in that case is a small number of technical staff "embedded" with the regular business units to handle analysis to make imprecise requests precise when support from the regular IT organization is needed, and to deal with simple rapid-turnaround requests independently. What you don't need need is people turning to Excel because its the only thing that they have access to because IT is unresponsive, building initially simple things that grow organically to become cumbersome, and then require more IT effort to move into a proper platform then if IT had been involved and appropriately responsive from day one.
Re:MS Offfice 2013 - Javascript apps (Score:4, Insightful)
What are you on about - JS is quite a neat little language for solving small problems, and you can do functional programming in it if that's your thing. There's a reason MIT etc are turning from Scheme (which I love) to JS as a teaching lanuage.
The only part of JavaScript that really sucks is the first four letters, but don't be put off by that.