Slashdot Mirror


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?"

332 comments

  1. SIAG by lisaparratt · · Score: 5, Informative

    As old as the hills: http://siag.nu/siag/

  2. Scheme in a Grid by Anonymous Coward · · Score: 1

    Have you looked at Scheme in a Grid?

  3. Postgres by Anonymous Coward · · Score: 1

    The last time I had to do something similar, and after I found the libreoffice calc to be just too weird for me, I just made a few tables in postgres, wrote a few functions and was done. YMMV, but it's definitely a lot easier to understand if you have any programming experience.

  4. Diadem by Anonymous Coward · · Score: 1

    Better than a spreadsheet.

    Scriptable.

    Biggest downside: It uses a heavily enhanced VB Script.

  5. MATLAB? by Anonymous Coward · · Score: 5, Informative

    Not a very elegant language, but way better than any spreadsheet that I know of.

    1. Re:MATLAB? by Idbar · · Score: 3, Insightful

      Looks like I lost my mod points, but trying to make mathematical calculations and operations with a spreadsheet instead of a matrix oriented language seems like the failure on part of the submitter. Matlab is (and I assume the free Octave must be) great for data analysis and even plotting is a breeze.

    2. Re:MATLAB? by arogier · · Score: 1

      That's what I'd suggest MATLAB or Sage. Just because spreadsheets handle (or try to handle) numbers means they are the best tools for it.

    3. Re:MATLAB? by Anonymous Coward · · Score: 2, Informative

      I agree the submitter is asking the wrong question, and really wants something like matlab instead.

      > (and I assume the free Octave must be)

      it is. you don't get all the fancy handle graphics ui stuff, but that's no problem and regular plotting works fine. there's ipython notepad + matplotlib for that sort of thing anyway.

      see also scilab.

    4. Re:MATLAB? by Anonymous Coward · · Score: 0

      Or R - when you get your head around the ways to use data.frame, it's a very nice language for tabular data.

    5. Re:MATLAB? by Anonymous Coward · · Score: 2, Interesting

      You can also connect R to Excel. That way you get Excel layouts and those tools, but can utilize R for the calculations and advanced features.

    6. Re:MATLAB? by Anonymous Coward · · Score: 0

      And if the OP really needs to work in Excel (due to the boss ordering it or the like) there are two toolboxes that can help limit the VB-ness. MATLAB Builder XL lets you translate a MATLAB program into an Excel add-on and Spreadsheet Link EX lets MATLAB and Excel directly communicate with one another, so you can have MATLAB and Excel send data to one another and have Excel execute MATLAB functions on Excel sheet ranges.

      Disclosure: I am a MathWorks employee.

    7. Re:MATLAB? by Anonymous Coward · · Score: 0

      On Windows, MATLAB (along with most other languages) can manipulate spreadsheets by loading Excel as an object. To communicate with MATLAB from within Excel requires buying the toolbox.

    8. Re:MATLAB? by Anonymous Coward · · Score: 0

      Matlab? Surely you could pay your account to do all the spreadsheets for you for rather less than the cost of the license.

  6. COM Automation by Anonymous Coward · · Score: 0

    Use C++ and write a xll or use C# and write a COM Automation plugin? Problem solved.

    1. Re:COM Automation by ByOhTek · · Score: 3, Informative

      To my knowledge, C# can be used to write plugins for Excel, which should be able to handle the more complex macros.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    2. Re:COM Automation by Anonymous Coward · · Score: 3, Informative

      Yes, both outside COM automation and vSTO plugins that run in Excel http://msdn.microsoft.com/en-us/office/hh128771.aspx

    3. Re:COM Automation by Anonymous Coward · · Score: 1

      (same AC) I've written a large library of functions and found COM Automation to be the best route for exposing them to both VBA and the workbook (application.) domain. It's literally one of the major projects I developed and now maintain for my company. Directly you can't call managed code from Excel hence the COM, or a C++ Wrapper.

    4. Re:COM Automation by Anonymous Coward · · Score: 0

      (different AC)

      Not that it's much better, but you could call javascript code from VBA. It would help you port future code to node.js and start moving things to a server. I would only do that for Excel 2003 or earlier. It'd be crazy if jQuery ajax calls can be made from VBA.

      Starting with 2007, C# can be used for vsto plugins that add tabs and controls to that ribbon.

    5. Re:COM Automation by HornWumpus · · Score: 0

      No. Javascript sucks. The only reason to use it is that it is the least common denominator in the browser.

      VBA is a much better language then Javascript. And VBA sucks.

      Just about any language is a better choice then Javascript. Except where it's the only choice.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    6. Re:COM Automation by Common+Joe · · Score: 1

      I've worked with Excel with C#. I will say this: it is not pretty. Like VBA (which I've also worked with), anything other than super simple stuff results in some very ugly code. Honestly, I'm not sure of a good way to interact with Excel on a code level. I might have to check out the Siag that people keep talking about, although I have trouble imagining that it is any better. I think it is an inherent problem of working with cells in spreadsheets.

  7. MS Offfice 2013 - Javascript apps by Anonymous Coward · · Score: 1

    The latest version of MS Office allow writing apps in Javascript http://msdn.microsoft.com/en-us/library/fp160953.aspx

    1. Re:MS Offfice 2013 - Javascript apps by ByOhTek · · Score: 4, Informative

      Wow... quite possibly one option that would be WORSE than VBA.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    2. Re:MS Offfice 2013 - Javascript apps by HaZardman27 · · Score: 1

      Yes, it's so much better to expect users to learn a proprietary language they would otherwise never have any use for.

      --
      Apparently wizard is not a legitimate career path, so I chose programmer instead.
    3. Re:MS Offfice 2013 - Javascript apps by Motard · · Score: 4, Insightful

      What, exactly is wrong with =AVERAGE()?

    4. Re:MS Offfice 2013 - Javascript apps by TheRealMindChild · · Score: 1

      BASIC?

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    5. Re:MS Offfice 2013 - Javascript apps by hosecoat · · Score: 5, Funny

      What, exactly is wrong with =AVERAGE()?

      It's not too bad, but it's not too good either.

    6. Re:MS Offfice 2013 - Javascript apps by EvilSS · · Score: 1

      So what would be a better solution?

      --
      I browse on +1 so AC's need not respond, I won't see it.
    7. Re:MS Offfice 2013 - Javascript apps by Anonymous Coward · · Score: 0

      It's horrible if you're looking for a sum.

    8. Re:MS Offfice 2013 - Javascript apps by Anonymous Coward · · Score: 0

      So what would be a better solution?

      Perhaps =average()? At least it wouldn't shout at you.

    9. Re:MS Offfice 2013 - Javascript apps by Anonymous Coward · · Score: 0

      Wooosh

    10. Re:MS Offfice 2013 - Javascript apps by Drishmung · · Score: 5, Funny
      Javascript is not too bad, but I suspect that it won't help in this case because the problem is not merely the language but the mind-rottingly horrible object model.

      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.
    11. Re:MS Offfice 2013 - Javascript apps by nabsltd · · Score: 4, Informative

      What, exactly is wrong with =AVERAGE()?

      It's not too bad, but it's not too good either.

      Try writing a replacement sometime from scratch, and see how hard it is.

      It intelligently only averages cells that are filled with numeric values, allows easy input of multiple ranges of cells, allows direct input of numbers as function parameters, and has an easy to remember name.

      If the built-in functions (which include some serious statistics and analysis functions) don't do the job, there are third-party add-ons that likely do. If you absolutely need something unique, then VBA is quite easy to use. The only real thing I don't like about Excel is the "error in a cell is propagated to all cells that reference it", with no way to disable it, and no formatting codes that hide errors. For example, there are a lot of times when I end up with divide by zero because a cell isn't filled in yet, but that's OK (like a table that calculates price/quantity, when a row hasn't been entered yet), and the only way around it is to use the "=IF(ISERROR(...))" construct. It would be much nicer if the existing "positive;negative;zero;text" custom formatting added ";error" to the end.

    12. Re:MS Offfice 2013 - Javascript apps by Newander · · Score: 1

      I have to agree. Average is probably one of the more useful and easy to use functions in Excel.

      --

      Jesus saves and takes half damage.

    13. Re:MS Offfice 2013 - Javascript apps by lgw · · Score: 3, 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.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    14. Re:MS Offfice 2013 - Javascript apps by asylumx · · Score: 3, Funny

      =Woosh() FTFY

    15. Re:MS Offfice 2013 - Javascript apps by Billy+the+Mountain · · Score: 1

      Hey, the 1960's called. They want their language back.

      --
      That was the turning point of my life--I went from negative zero to positive zero.
    16. Re:MS Offfice 2013 - Javascript apps by gnu-sucks · · Score: 1
    17. Re:MS Offfice 2013 - Javascript apps by Anonymous Coward · · Score: 0

      I don't know... I still think it's a rather ... Average()... implementation.

    18. Re:MS Offfice 2013 - Javascript apps by Anonymous Coward · · Score: 0

      How about they either don't program AT ALL or they program in a decent language?

    19. Re:MS Offfice 2013 - Javascript apps by Motard · · Score: 1

      No good. Once you hit Enter, Excel will shout it back at you.

    20. Re:MS Offfice 2013 - Javascript apps by Dragonslicer · · Score: 1

      So what would be a better solution?

      =CEIL() maybe?

    21. Re:MS Offfice 2013 - Javascript apps by Anonymous Coward · · Score: 0

      It's not as funny if you have to explain the joke, but the answer to your question is: =BETTER()

    22. Re:MS Offfice 2013 - Javascript apps by peragrin · · Score: 1

      oddly enough it is the function I use the least.

      Then again all I am generally doing in excel is comparing one cell contents to another, and adding new data based on that information (vlookup), or simple calculations

      As once I am done processing the spreadsheet I then import it it into the ERP database.

       

      --
      i thought once I was found, but it was only a dream.
    23. Re:MS Offfice 2013 - Javascript apps by Bovius · · Score: 1

      That was mean.

    24. Re:MS Offfice 2013 - Javascript apps by proca · · Score: 1

      Javascript is a deceptively elegant and flexible language. You should try it sometime.

    25. Re:MS Offfice 2013 - Javascript apps by Mr2cents · · Score: 1

      I changed my opinion about javascript after watching this video. I give it a lot more credit than I did before.

      --
      "It's too bad that stupidity isn't painful." - Anton LaVey
    26. Re:MS Offfice 2013 - Javascript apps by Anonymous Coward · · Score: 0

      Lots of ways to disable it, although disabling can be like sweeping dirt under the carpet

      =if(X=0,0,Y/X)

      =IFERROR(Y/X,0)

      As you mention numberformats, you could use conditional formatting and show errors as white font, that doesn't suppress propagation.

    27. Re:MS Offfice 2013 - Javascript apps by ByOhTek · · Score: 1

      Generally, they won't be programming at all, or they will not find it difficulty to pick up VBA.

      After two or three imperative languages, picking up new ones generally isn't that difficult, unless they have unusual paradigms which can leave a "lot of rope to hang yourself with". Given my experience with features common in JavaScript and Python (but less common in other languages), these two are very good examples of that.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    28. Re:MS Offfice 2013 - Javascript apps by ByOhTek · · Score: 1

      I assume you are talking about the JS object model? Or the way Office uses objects to represent things internally?

      The former is why I mentioned JS. There a lot of problems with it (and I'll add Python, though Python has some features that mitigate the issues). Unless you plan out well ahead, and are particularly careful, these can come and bite you in the ass. However, used properly, they can make things a lot easier for fast/small bits of code. I wouldn't ever want to subject a programmer of low experience/skill to them, too easy to shoot yourself in the foot and be made to think you are a bad programmer.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    29. Re:MS Offfice 2013 - Javascript apps by ByOhTek · · Score: 1

      I use javascript a lot. And for small things it's great. However, there are a lot of things in the object model that are way to easy for an inexperienced programmer to accidentally shoot themselves in the foot, and make very unmanageable code. While these features make development easier for small things, they can make diagnostics and long term code management, hell.

      And you can do functional stuff in a lot of languages. I can apply functional principles to C, C++, C# or Java. I can apply OO principles to straight-up C. I've made message passing (Objective-C) style OO interfaces for C# and Python, which to my knowledge, use the more C++ like OO model. The paradigms a language allows doesn't make it a great language - because I good programmer can work those paradigms into other languages fairly easily. However, if you are using something in a case, where there are going to be a lot of low grade programs, you don't want to give them the programming assault rifles that auto-aim to their weilder's feet.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    30. Re:MS Offfice 2013 - Javascript apps by ByOhTek · · Score: 1

      it's been 90% of my programming for the past 8 years.

      I am very aware of it's elegance and flexibility. But these things also pose a danger, especially in it's OO model. In the hands of a good programmer, it's an amazing tool. In the hands of a novice, which is were you'll be finding a lot of these spreadsheet macro writers, it's dangerous as hell.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    31. Re:MS Offfice 2013 - Javascript apps by Anonymous Coward · · Score: 0

      The AVERAGE() function is trying to do too much. While this sometimes thrills the casual users, it can make for serious problems for more advanced users. In particular, Excel seems to play fast and loose with the type system, so what it considers a number and what it considers text, or a date value can change unpredictably with normal usage. This renders the "help" that the AVERAGE() function (and functions like it) provides an impediment to more advanced users.

      Unfortunately, I have to use Excel, a lot. So, I am pretty familiar with it and its deficiencies. So, I feel you should know that newer versions of Excel support a function called IFERROR() which somewhat simplifies the IF(ISERROR(...)) construct.

    32. Re:MS Offfice 2013 - Javascript apps by lgw · · Score: 1

      You can do any kind of programing in any Turing-complete language, but it's meaningless to say so when discussing what a language is good at. JS, like Scheme, is good for teaching functional programming, and since Scheme has no object model at all I can understand the shift.

      JS is an awkward fit at best for web client automation, but as a stand-alone language for small problems it's rather elegant. The simple things I've done with Excel automation would have been a good fit for JS, but there are full-time Excel programmers (really), most of whom have never taken a real CS class, and as you point out, this mix would not end well.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    33. Re:MS Offfice 2013 - Javascript apps by proca · · Score: 1

      But javascript is ubiquitous. If a novice has ever used any programming language, it almost certainly is javascript. There is something to be said for accessibility.

    34. Re:MS Offfice 2013 - Javascript apps by ottothecow · · Score: 1
      You can clean it up slightly with the "=IFERROR()" construct which simplifies the combo you mention, but I agree that this is a big annoyance.

      The worst is when you have to double up on a big function. Without =IFERROR, you might have to do "=IF(ISERROR([big long function]),"",[repeat big long function))" while at least =IFERROR allows you to only evaluate the function a single time.

      --
      Bottles.
  8. Gnumeric by richtopia · · Score: 1

    I am finishing my master's thesis and have used Gnumeric for all of my work, it is an effective spreadsheet although it is missing some features from Excel (to the frustration of my advisor).

    The plugins are written in Python, and while I have not used them extensively they seem to be quite powerful compared to creating Excel macros.

    1. Re:Gnumeric by Anonymous Coward · · Score: 0

      I'm sorry you had to use Gnumeric. You don't seem to realize that Macros in Excel are only one level of progammability. You can also create full fledged code add-ins (similar to your plugins) using Visual Studio - either COM using C or using the VSTO - Visual Studio Tools for Office. These are at least as powerful as the Gnumeric plugins.

    2. Re:Gnumeric by Anonymous Coward · · Score: 1

      I hope your master appreciates it.

  9. Already there by Anonymous Coward · · Score: 0

    Excel can already use VBA, which in turn can use IronPython.

    Done.

    1. Re:Already there by rtfa-troll · · Score: 5, Funny

      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();
    2. Re:Already there by Captoo · · Score: 1

      Funny! I wish I had some mod points.

    3. Re:Already there by Anonymous Coward · · Score: 0

      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.

      Enclosed in Excel. Ewww.

    4. Re:Already there by m.ducharme · · Score: 4, Funny

      And you can do it all in Emacs.

      --
      Rule of Slashdot #0: You and people like you are not representative of the larger population. - A.C.
    5. Re:Already there by satuon · · Score: 1

      Leonardo DiCaprio couldn't have explained it better.

    6. Re:Already there by chipschap · · Score: 2

      And you can do it all in Emacs.

      Actually ... yes. Emacs 'calc' is very powerful and of course you can extend it any way you want in elisp. There are also a couple of spreadsheet modes; SES isn't bad for some purposes, and there is a sort of spreadsheet built in to org-mode tables. I am only partly serious here; while I use Emacs spreadsheet modes for simple stuff (tracking and doing stats on exercise, for instance) it's certainly not meant for The Big Stuff. But Emacs calc---- that can do some pretty impressive work.

    7. Re:Already there by Nimey · · Score: 1

      /thread

      That post will be hard to top. Well done sir.

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    8. Re:Already there by Anonymous Coward · · Score: 1

      http://orgmode.org/manual/The-spreadsheet.html

      The Orgmode table does come with emacs calc access built in.
      But wait there's more... (granted elisp is not everyone's cup of tea/coffee/bovril/bonox...)

      http://orgmode.org/manual/Formula-syntax-for-Lisp.html#Formula-syntax-for-Lisp
      3.5.3 Emacs Lisp forms as formulas
      It is also possible to write a formula in Emacs Lisp. This can be useful for string manipulation and control structures, if Calc's functionality is not enough.

  10. plugins by Anonymous Coward · · Score: 0, Informative

    There are plugins for Excel that let you use .net with it - so C#/VB.net or even C++/CLI.

  11. with R, you don't need spreadsheets by Anonymous Coward · · Score: 4, Informative

    www.r-project.org/

    1. Re:with R, you don't need spreadsheets by Anonymous Coward · · Score: 0

      I'm totally with you on this one.

      As others have mentioned, Matlab is a good choice, too, and I use it quite often for certain things (so if that's what you already know, then use it), but when it comes to doing work that might be comparable to "spreadsheeting", it's always R I turn to. Basically, whenever someone else gives me one of those pesky Excel things, the first thing I do (after looking at it) is something like:

      data1 - read.xls("pesky.xls", sheet=1)

      That is one of the most useful commands!

    2. Re:with R, you don't need spreadsheets by multimediavt · · Score: 2

      www.r-project.org/

      With [insert programming language of your choice here] you don't need spread sheets! What kind of programmer worth a thimble full of goat piss uses Excel to do much of anything important anyway?!?! I'm not a programmer and would use Perl, Python or [gasp] PHP to do anything I want with tabular, comma separated values. It just isn't that hard. Excel was made for people who can't program. If you can write code you don't NEED Excel. [shakes head in disgust]

    3. Re:with R, you don't need spreadsheets by Trogre · · Score: 1

      Did you put on sunglasses when you said "spreadsheets" Doc?

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
  12. Pandas + IPython Notebook by n1ywb · · Score: 5, Informative

    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.

    pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with “relational” or “labeled” data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world data analysis in Python. Additionally, it has the broader goal of becoming the most powerful and flexible open source data analysis / manipulation tool available in any language. It is already well on its way toward this goal.

    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
    1. Re:Pandas + IPython Notebook by n1ywb · · Score: 1

      I forgot to mention that there is some degree of integration between pandas and ipython notebook so it makes sense to use them together for interactive use.

      Also before anybody digs on Python's performance, Pandas is built on NumPy which is written in C so it's relatively fast and memory efficient even on large data sets. NumPy is even working on automatic vectorization and paralelization for those really tough problems.

      --
      -73, de n1ywb
      www.n1ywb.com
    2. Re:Pandas + IPython Notebook by Dartdog · · Score: 0

      +1 for Pandas awesome.

  13. Just do it the other way around by h4rr4r · · Score: 5, Insightful

    Instead of a spreadsheet with good programming just program and output a spreadsheet. CPAN has plenty of packages for this.

    1. Re:Just do it the other way around by CastrTroy · · Score: 3, Interesting

      This. Pick any programming language you want, store the data in a real database, and write some code to output the results to CSV so it can be imported into Excel or any other spreadsheet.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    2. Re:Just do it the other way around by h4rr4r · · Score: 2

      You can even output to XLSX so that you can do multiple tabs and such.

      Still using a normal language and a real DB is much better.

    3. Re:Just do it the other way around by alexander_686 · · Score: 3, Informative

      I would temper that enthusiasm. I work with accountants, Excel, and VBA.

      Spreadsheets offer a familiar and flexible front end for non-tech users. We have spreadsheets where sections are ridge to handle the VBA but exposes data to the end user. It is easy to enter paramaters and see the updates quickily - much harder to do when you have to import a new CSV each time. The accountants then can easily customize the data for their needs – and it still prints out nicely on the printer.

      So, while I have issues with Excel / VBA / Spreadsheets in general – sometimes it is the best option.

    4. Re:Just do it the other way around by h4rr4r · · Score: 2

      No, they are not the best option. It might seem like it now, but I have been down the road, soon there will be much pain.

      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.

    5. Re:Just do it the other way around by Anonymous Coward · · Score: 0

      The xlsx format is an overly complicated mess.

      If you can stand to live without embedded images, charts, and objects, try just exporting XMLSS (a.k.a. SpreadsheetML). It's the Office 2003 XML format, and it's quite simple to understand.

      And from what I can tell, XLSX files are a zip archive containing XMLSS fragments in separate files in a specific folder structure. Embedded images and objects are references to image and binary files within the zip archive.

    6. Re:Just do it the other way around by slartibartfastatp · · Score: 3, Interesting

      (submitter here)

      Yes, I end up doing this once in a while. I also use R, Perl, PHP, or even bash to process some data. However, in some cases it is handy to have a view of the data while you're processing it.

      For instance, suppose you need to run a regexp function over the 12nd column of a matrix; usually I save data as a CSV, cat file.csv | perl -ne '@a=split/,/; $tmp = $a[11]; .... ' > new_file.csv, load the new CSV, check for errors, debug, repeat... sometimes is just a one-time task I need to do.

      --
      -- --
    7. Re:Just do it the other way around by h4rr4r · · Score: 1

      Yes, but CPAN has packages that do all the nasty work for you.

    8. Re:Just do it the other way around by logjon · · Score: 0

      +1 (Common Sense)

      --
      The stories and info posted here are artistic works of fiction and falsehood.
      Only fools would take it as fact.
    9. Re:Just do it the other way around by Rafke · · Score: 1

      This is indeed the process that I have used. However, if I want to run a regex over a range of cells, I have to write a small script, run the script, review the output and repeat the process until I get the regex right. Just running the regex in the spreadsheet directly over the cells would be much faster.
       

    10. Re:Just do it the other way around by jpate · · Score: 1

      cat file.csv | perl -ne '@a=split/,/; $tmp = $a[11]; .... ' > new_file.csv, load the new CSV, check for errors, debug, repeat... sometimes is just a one-time task I need to do.

      Here is your UUOC award :D

    11. Re:Just do it the other way around by hazem · · 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.

    12. Re:Just do it the other way around by Nutria · · Score: 1

      Those AltaVista and DejaNews links are *awesome*, dude!

      --
      "I don't know, therefore Aliens" Wafflebox1
    13. Re:Just do it the other way around by h4rr4r · · Score: 1

      Then fix your organization not use a stupid work around. Assuming we can get a license for it we turn these things around in my department in under 48 hours when you don't need new hardware. Since this DB could surely live on an already setup box it would likely be less. I say that because if it were more important or demanding you would not even be considering the method we are talking about.

      Your accountants will be doing far more time wasting when it stops working or they get into anything complicated. It can work and will work for a time, but trust me I have been there it will lead to pain.

    14. Re:Just do it the other way around by DragonWriter · · Score: 2, Insightful

      The problem is in most organizations, IT is not responsive to requests to set up these kinds of databases.

      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.

      They especially don't deal with requests that are not precise and require a fast turn-around.

      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.

    15. Re:Just do it the other way around by RocketRabbit · · Score: 2

      Hey submitter. I looked at the Python spreadsheet and it's feature complete. I'm sure you know now that you can't tell how far along free software is by the version number...

    16. Re:Just do it the other way around by innocent_white_lamb · · Score: 1

      I have never yet found a library to write an odt (ods, etc) file from a C program.

      --
      If you're a zombie and you know it, bite your friend!
    17. Re:Just do it the other way around by Anonymous Coward · · Score: 0

      Ahh, I see. You're one of "those."

      Still patiently waiting for perl 6 to change the world, are we?

    18. Re:Just do it the other way around by Anonymous Coward · · Score: 0

      God DAMN, there's an eye-roller for Slashdot if I've ever seen one.

      CPAN does all the nasty work for you, now, does it? No trouble telling which camp you're sending people to the gas showers for. Does CPAN have a module that takes care of the "nasty work" of writing perl in the first place, pray tell? In case you hadn't taken a look at the ol' calendar there lately, 1995 was a while ago. Some might say a LONG while ago. The only site other than CPAN's I can think of that even uses perl is this one, and even Malda's given up on /. going anywhere.

    19. Re:Just do it the other way around by Em+Adespoton · · Score: 1

      Your accountants will be doing far more time wasting when it stops working or they get into anything complicated. It can work and will work for a time, but trust me I have been there it will lead to pain.

      I think you've just explained why it'll never happen. Spreadsheets are what people use to look busy and productive.

    20. Re:Just do it the other way around by donatzsky · · Score: 2

      For instance, suppose you need to run a regexp function over the 12nd column of a matrix; usually I save data as a CSV, cat file.csv | perl -ne '@a=split/,/; $tmp = $a[11]; .... ' > new_file.csv, load the new CSV, check for errors, debug, repeat... sometimes is just a one-time task I need to do.

      You should have a look at awk, it's exactly the kind of job it was made for.

    21. Re:Just do it the other way around by h4rr4r · · Score: 1

      Go troll elsewhere.

    22. Re:Just do it the other way around by Cederic · · Score: 1

      Assuming we can get a license for it we turn these things around in my department in under 48 hours when you don't need new hardware

      Hi, this is your CFO. We have to submit our accounts in the next three hours or the FSA shut us down. Can you create us a database with these 17 input sources, matched across 78 fields and with 14000 rows, with this set of validations, calculations and outputs?

      Btw, because we're on a tight timescale, can you build it incrementally so that we can do data cleansing and correction as we go?

      In the real world, IT departments just aren't fast enough.

    23. Re:Just do it the other way around by hazem · · Score: 2

      I agree with you completely. And if I had control or even influence to get that kind of headcount, I think it would be a fantastic "force-multiplier" in our organization. I dream of the idea of very small teams of IT implementers that could spend a little time with various departments and help streamline their data collection and reporting using standardized tools.

      Sadly, in my large company, our IT organization just isn't willing to "invest in throw-away" tools. They only want to do huge capital projects that can be billed against the business in the millions of dollars. The idea of an 8-hour bit of work with some macros or a small database is just not something they're willing to consider. In fact, a friend of mine tried to push this and was quietly told to stop because he was running the risk of pissing off people who could harm his career. (Generally, this is a good place to work, but you apparently don't want to piss off the IT gods).

      Anyway, you're singing my song. In my own job, I've morphed from a business analyst into a "stealth" database developer just so that I can properly support our data collection and reporting needs. It's great for our department doing amazing things, but it's hard on my career because I'm not growing as an analyst, which is what I want to. Instead I'm growing into a database developer, which is what I don't want to be. But... we either do it by hand in excel with no automation and control, or I write a quick little database application. I hate doing things by hand.

    24. Re:Just do it the other way around by Anonymous Coward · · Score: 0

      No, but if you'd come to me months ago when you decided to start collecting this data than you'd have been putting data in a proper database all along and now we'd just need to run a query that'll take maybe 15 minutes to write and debug (assuming this wasn't a predicted use case and we don't get the nesesary info just by running an existing one).

      Management just doesn't have enough foresight in the real world.

    25. Re:Just do it the other way around by Anonymous Coward · · Score: 0

      His use of cat is hardly useless. Computers are powerful enough now that running the extra command isn't going to cause any significant slowdown or overuse of resources. It's also important to note that different people read the command line in different ways. If he prefers to read the commands from left to right and explicitly say "I'm reading this file and piping into another command" then that's what he prefers and it works well for him.

    26. Re:Just do it the other way around by Anonymous Coward · · Score: 0

      And when people come to me with this kind of stuff, I tell them they need a Business Analyst, a Project Manager, a DBA, two Developers, and a QA person. They can either get the budget from their boss, or fuck themselves.

      I'd love to have some really smart and articulate developer who can turn halfassed business requirements into working code, and is just sitting around waiting for it. But in the real world those people are too expensive and are uninterested in your boring spreadsheet problems.

    27. Re:Just do it the other way around by Anonymous Coward · · Score: 0

      I prefer cat file to file

    28. Re:Just do it the other way around by DragonWriter · · Score: 1

      I agree with you completely. And if I had control or even influence to get that kind of headcount, I think it would be a fantastic "force-multiplier" in our organization.

      Yeah, I realize that often the problem exists at an organizational level that is itself not responsive to the people who make the decision, leaving line and middle managers (who usually have to deal with this) only bad options.

    29. Re:Just do it the other way around by Anonymous Coward · · Score: 0

      By far, the easiest way is simply generating a HTML document which contains a big TABLE. Set the mime type and Excel will open it up without any complaints.

    30. Re:Just do it the other way around by Anne+Thwacks · · Score: 1

      If you are going to store the results in a database, why not pick pick?http://en.wikipedia.org/wiki/Pick_operating_system Then you wont have to!

      --
      Sent from my ASR33 using ASCII
    31. Re:Just do it the other way around by multimediavt · · Score: 1

      (submitter here)

      Yes, I end up doing this once in a while. I also use R, Perl, PHP, or even bash to process some data. However, in some cases it is handy to have a view of the data while you're processing it.

      For instance, suppose you need to run a regexp function over the 12nd column of a matrix; usually I save data as a CSV, cat file.csv | perl -ne '@a=split/,/; $tmp = $a[11]; .... ' > new_file.csv, load the new CSV, check for errors, debug, repeat... sometimes is just a one-time task I need to do.

      OMG! Why did you even ask? And, if you're debugging why write to a file when you can just dump to standard output and pipe it to 'more', check the results and if it's correct write it to file? You make my brain hurt.

    32. Re:Just do it the other way around by hazem · · Score: 1

      I know it sounds that simple when you think of it from a "computer guy" direction. But the business situations are rarely that clean.

      You say, "store the data", but what data is that? Some of it comes from some file we get from Finance that they've manually put together. The finance database doesn't hold all the pieces and some of it's coming via PDF scans of hand-written notes sent from our factory partners.

      Or like another said, say I just got tasked to collect these bits of data from each of our country teams. No country has the data stored in a single database, and if it's in a local database, it's not stored in the same way. So I write a simple excel sheet to serve as a template that they can key/copy in the numbers I need and see some of the summary calculations. They'll send that back to me so I can aggregate it and generate a "global" report by tomorrow's 8:00AM meeting. While I wait for the countries to send their data back, I'm staying up all night, writing some VBA macros to automate some of the production of the powerpoint slides that are needed for that meeting.

      I'd love to do this with IT and store the data in one of the IT provided systems. But they'll only laugh if I go to them saying I want to store this data we're collecting via spreadsheet. "No. It's not term-aligned". "No. It's not been approved by data governance.", "Oh, and by the way, can you deploy a web-app that allows them to key in this data? I need it in an hour." and so on. They won't touch this with a 10-foot pole.

      Meanwhile, I have a VP who's going into a board meeting tomorrow morning and expects to have a polished report with the numbers he's asked for. I'd like to think he could have asked for these reports sooner, but it turns out that it was a meeting he had today that revealed a new problem in the business that these numbers are needed to explore and explain.

      And that's just one scenario.

      The problem is that Excel is not only a tool used to make a finished report. It's used for a wide variety of things, from data collection, to data analysis, and yes, even finished reporting. But the people who have to do this work aren't database technicians and are lucky if they can write a few lines of VBA to simplify some of their work. Your prposed approach means that any time there's a change the need for some data or a report, there is a required engagement with IT people who can change the database and write a new program. I know my organization doesn't have those kinds of resources available.

    33. Re:Just do it the other way around by afidel · · Score: 1

      More doesn't do horizontal scrolling which is necessary for any non-trivial data set.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    34. Re:Just do it the other way around by Anonymous Coward · · Score: 0

      For instance, suppose you need to run a regexp function over the 12nd column of a matrix; usually I save data as a CSV, cat file.csv | perl -ne '@a=split/,/; $tmp = $a[11]; .... ' > new_file.csv, load the new CSV, check for errors, debug, repeat... sometimes is just a one-time task I need to do.

      You should have a look at awk, it's exactly the kind of job it was made for.

      My thought exactly. Try:
      awk -F, '{print $12}' file.csv > new_file.csv

      Or if you are a perl fanatic:
      perl -F, -lane 'print @F[11]' file.csv > new_file.csv

    35. Re:Just do it the other way around by Anonymous Coward · · Score: 0

      Tip: if you were planning to view the temporary file with vi, then you could just pipe to vi -

      If you want to scroll through long lines in vi then you may also want to set nowrap

    36. Re:Just do it the other way around by slartibartfastatp · · Score: 1

      (submitter again)

      Thanks; that's exactly my point. Or, sometimes I need to get that data and validate it - by making a pivot table. Isnt't easier if I just do everything in the same UI?

      (disclaimer: I know OLAP, Pentaho, Mondrian and it's all good things - except if you need to do an one time analysis! I don't want to spend hours setting up cubes and everything for something that will be made once and never again! That's why I use spreadsheets.)

      --
      -- --
    37. Re:Just do it the other way around by Anonymous Coward · · Score: 0

      FYI, I work for a consultancy who has made *millions* because an accounting department used (read: abused) MS Excel and made it do things it can do but should never, ever be asked to do - act as a complete commodities trading desk reporting and analysis solution, for example. I've seen 400MB files with so much VBA spaghetti and third-party add-in dependencies that it was literally not possible to even begin to remediate the file - it had to run in place, was mission critical, and there was no mechanism to move it to a dev or test environment to try and fix it. I've seen companies with 9 interdependent spreadsheets (think a circular reference, but between multiple files) that - again - were so mission critical but badly designed that they were un-repairable.

      Stop the madness before it begins. I don't ever want to spend two years of my professional life digging hopelessly through your company file repository, risk ranking, evaluating and (trying to) remediate the mess.

      Hire real developers who understand good dev. practices, and dedicate some time with your finance people to sit with them and coordinate what processes and tools are needed, then buy or build them their tools after careful consideration.

      You can (rightly) argue this costs money, but it will cost you far more in direct and indirect costs later, when you have terabytes of MS Excel trash sapping time and sanity from your staff.

      Posting AC because I don't want to get fired for discouraging people from doing things that led to our largest revenue generator clients two years running - >$7 million one year. Imagine spending $7 million on spreadsheet risk! Boggles the mind....

    38. Re:Just do it the other way around by dwpro · · Score: 1

      Of course, that's a pretty demanding spec, and would be nigh on impossible starting from scratch. However, the short term benefits of being able to handle the scenario you describe are at the distinct loss of data integrity, performance, and scalability. There shouldn't be need to create new database for all those data sources. They should already be in a database, and the database should have already enforced the data validation. Pulling the data out and performing calculations should be the bread and butter of your report writer, and he/she should have it done by noon.

      Rather than your scenario of a mad rush to try and piece together information from a smattering of data repositories and silo'ed calculations, put in the work to host your data correctly, and you won't have the need to do these acrobatics to keep your business running. It probably won't be as bad as you think, technology has gotten pretty nimble.

      --
      Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
    39. Re:Just do it the other way around by Cederic · · Score: 1

      While theoretically you're correct, when the FSA demand a report two days ago in a format they only published today, the Finance team aren't going to fuck around writing queries. They're going to grab 68 different spreadsheets and pull numbers from all of them.

      I'm not saying that's ideal, but it is reality.

  14. Google Docs by Anonymous Coward · · Score: 0

    Google Docs (spreadsheets) support "Google Apps Script"... which is pretty much just javascript with a few extra classes relating to Google Apps -type objects (spreadsheets, gmail, contacts, etc). Pretty good support for most JS, and there is a decent set of (user-contributed) libraries that can be used. Also, since it runs on servers (as opposed to on a client machine), you can do some spiffy stuff with sucking in data from external sources.

  15. What is wrong with Excel and C#? by Anonymous Coward · · Score: 0

    Excel? You can expand Excel with - C#. Since, IIRC, V 2007.

  16. Statistical analysis = MINITAB by Anonymous Coward · · Score: 0

    Doing data analysis with Excel is like building an office building with nothing but a battery-powered drill from Home Depot.

    1. Re:Statistical analysis = MINITAB by belmolis · · Score: 1

      True, except that the battery-powered drill from Home Depot doesn't have errors in its statistical functions.

    2. Re:Statistical analysis = MINITAB by 3dr · · Score: 1

      Well, like they say, "when all you have is a battery-powered drill from Home Depot, make lemons." Or something like that.

  17. From .NET by Anonymous Coward · · Score: 0

    This article at codeproject gives simple utitlies for building SS using .NET languages (including C#, F# IronPyton and others).

    http://www.codeproject.com/Articles/21475/TblProc-OpenOffice-Calc-and-Excel

  18. libre office by Anonymous Coward · · Score: 0

    I think OpenOffice/LibreOffice can be interfaced with a number of programming languages

    1. Re:libre office by RabidReindeer · · Score: 3, Informative

      I think OpenOffice/LibreOffice can be interfaced with a number of programming languages

      It can. And even more APIs. Almost all of which are cryptic, cumbersome and/or poorly documented.

      It can be worth it once you learn how ... assuming you have enough sanity left.

  19. python embedded in excel by Anonymous Coward · · Score: 5, Informative

    https://datanitro.com/index.html

    I've used it a bit and it's pretty fantastic

    1. Re:python embedded in excel by Anonymous Coward · · Score: 0

      https://datanitro.com/index.html

      I've used it a bit and it's pretty fantastic

      Project Dirigible is good too

  20. Version numbers... by unts · · Score: 2

    Don't assume that a "low" version number means it's unusable. The project has commits going back to at least December 2009. Not all software is versioned with the assumption that 1.0 = finished.

    1. Re:Version numbers... by Myopic · · Score: 5, Interesting

      "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.)

    2. Re:Version numbers... by NewWazoo · · Score: 1

      You're advocating encoding metadata in a unique identifier.

      Don't do that.

      Version numbers should have no inherent meaning. They are simply identifiers of a particular source code set. If you want to communicate ideas about maturity and stability, make it obvious and put it elsewhere.

    3. Re:Version numbers... by Jane+Q.+Public · · Score: 3, Informative

      "Let's get together on this, open source nerds."

      There is already something of an industry-wide standard for version numbers, and it fits with your definition pretty closely. It's just that many don't follow it. Including outfits like Mozilla, in recent years.

      The standard calls for major and minor version numbers, followed (optionally) by a build or release number. E.g., 2.3.456.

      Version 1.0 is supposed to be the initial, stable, core release, just as you say. But some groups (like Mozilla) insist on jumping the major version for relatively minor reasons, and others seem to get stuck at version 0.5 forever. But that's not because they can't agree on a standard. It's because they just don't follow it.

    4. Re:Version numbers... by medcalf · · Score: 1

      Oh, very debatable. Fundamentally, the purpose of a version number is to differentiate between different versions of the software, nothing more. If you want to use version numbers to track release date, why not use a version number plus a release date? If you want to use version numbers to differentiate between stable, development and experimental versions, why not use a version number plus a stability indicator? The basic idea is that it's not particularly useful to use one piece of metadata to encode other pieces of metadata. Just use multiple pieces of metadata.

      --
      -- Two men say they're Jesus. One of them must be wrong. - Dire Straits
    5. Re:Version numbers... by PRMan · · Score: 1

      Firefox is copying Chrome, because the marketers don't want them to get too far behind. It's just like "this one is better, it goes to 11, it's one louder".

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    6. Re:Version numbers... by i+kan+reed · · Score: 1

      Heck we have windows version 8.0 that's clearly an early pre-alpha build.

    7. Re:Version numbers... by Myopic · · 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".

    8. Re:Version numbers... by Myopic · · Score: 1

      If few people follow a standard, is it a standard? Cue the tree in the woods.

      You make a good point. I think we are on the same team. I'm just putting in a good word for our team so that maybe others will join it. I think ours is a team of reasonable people with a moderate and helpful suggestion to improve the world in a small way. I'm always surprised that even this suggestion divides people.

    9. Re:Version numbers... by Myopic · · Score: 0

      You give Microsoft too much credit. To be pre-alpha, they would have to be trying to fix bugs, or have any coherent plan.

    10. Re:Version numbers... by vux984 · · Score: 1

      Very well put. Agreed on all points! Mod parent up and all that.

      The very nature of of version numbers being continuously increasing and that we can infer that if version x > version y then x is newer then y is indeed assigning semantic meaning to the version numbers.

      That said I don't see any way of enforcing such a standard except 'peer pressure' and of course some projects will rebel against it just to show off how hipster they are, and others will ignore it because of various flavors of NIH syndrome.

      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.

      Ugh. Don't give them any ideas. They're fast running out of cool cats as it is.

    11. Re:Version numbers... by Anonymous Coward · · Score: 0

      False. SemVer is the future. Any developers not following it are part of the problem.

      http://semver.org

    12. Re:Version numbers... by Anonymous Coward · · Score: 0

      Its not the open source nerds, its the open source marketing departments. Many of the large open source projects are being put out by companies (Google, Mozilla Foundation, Canonical, etc.), not loose collections of developers.

    13. Re:Version numbers... by Myopic · · Score: 1

      Indeed, my post is a tiny bit of peer pressure. Your post is, too.

      By the way, I once released a Pi version of software. I'd just done a 3.0 release, then a 3.1 release, and I got permission from my boss to do a Pi release. It was fun, most people didn't notice but a few did.

    14. Re:Version numbers... by DragonWriter · · Score: 1

      There is already something of an industry-wide standard for version numbers, and it fits with your definition pretty closely. It's just that many don't follow it. Including outfits like Mozilla, in recent years.

      The problem with semver is that it works well enough with upfront and unchanging release feature sets but doesn't work with development methodologies where releases are fixed in time but features are less fixed and whatever isn't ready gets kicked down the line.

      But some groups (like Mozilla) insist on jumping the major version for relatively minor reasons, and others seem to get stuck at version 0.5 forever. But that's not because they can't agree on a standard.

      Well, in the Mozilla (and Google Chrome, and Ubuntu, and...) case it is emphatically because they don't agree that semver or any similar "standard" is appropriate for that product.

    15. Re:Version numbers... by Jane+Q.+Public · · Score: 1

      "The problem with semver is that it works well enough with upfront and unchanging release feature sets but doesn't work with development methodologies where releases are fixed in time but features are less fixed and whatever isn't ready gets kicked down the line."

      I disagree. I worked in an Agile shop where we followed it pretty closely, and it worked fine for us. Features might get delayed, though releases were regular. I don't understand why you say it's less appropriate. Are you sure we're talking about the same thing?

      Major version numbers are incremented when there are major features added. Minor versions are incremented when fewer or less important features are added, or bug fixes. Build or release numbers are incremented at every build (or release). Why would that "not work"?

      "Well, in the Mozilla (and Google Chrome, and Ubuntu, and...) case it is emphatically because they don't agree that semver or any similar "standard" is appropriate for that product."

      Sure. But I think the whole point here is: a great many of us disagree with them.

    16. Re:Version numbers... by DragonWriter · · Score: 1

      I disagree. I worked in an Agile shop where we followed it pretty closely, and it worked fine for us. Features might get delayed, though releases were regular. I don't understand why you say it's less appropriate. Are you sure we're talking about the same thing?

      If you aren't talking about semver, which AFAIK is the only objective standard widely promote for version numbering, we aren't talking about the same thing. Semver is less appropriate if there is a cost associated with last minute changes to the version number associated with a release: if features aren't set well in advance and can slip, then the things that determine the appropriate semver-based version number also aren't set in advance. Its probably a bigger deal with something like a browser where you have prerelease versions widely distributed to the public with version numbers that expect to carry over to the corresponding general release: if after version 1.0 general release you release version 2.0-dev (2.0 because your implementing a major new feature whose implementation involves backward-compatibility breaking changes), and somewhere before the general release there's bugs that kick that feature out and the actual general release no longer has backward compatible changes, do you break semver and keep the 2.0 designation or break consistency and have a (for instance) 1.1 general release following the 2.0-dev?

      Major version numbers are incremented when there are major features added. Minor versions are incremented when fewer or less important features are added, or bug fixes. Build or release numbers are incremented at every build (or release). Why would that "not work"?

      It doesn't work all that well for anything, because major and minor are subjective and thus the versioning doesn't communicate actionable information. Semver, which sets objective criteria for major and minor updates -- roughly major = "breaking change to public API", minor = "new functionality that does not break backwards compatibility", patch = "bug fix that neither adds new functionality nor breaks backward compatibility" -- provides useful information, but has the problems I discussed before (as a version numbering system for stable releases of APIs, its excellent, if you ignore the pre-release options.)

      But some groups (like Mozilla) insist on jumping the major version for relatively minor reasons, and others seem to get stuck at version 0.5 forever. But that's not because they can't agree on a standard.

      Well, in the Mozilla (and Google Chrome, and Ubuntu, and...) case it is emphatically because they don't agree that semver or any similar "standard" is appropriate for that product.

      Sure. But I think the whole point here is: a great many of us disagree with them.

      As the context shows, that's quite clearly not the "whole point" of what I was responding to in GP.

    17. Re:Version numbers... by DragonWriter · · Score: 1

      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.

      Monotonically increasing identifiers (or even multiple of them, like, e.g., Chrome has for both the release and the build) whose meaning corresponds to inherently serial events like releases are not problematic. Version numbers tied to meaning that is not inherent to the idea of sequential version releases but to some objective relating to feature change (as in semver), and which therefore have a non-trivial risk of being incorrect if problems are identified in a pre-general-release version identified with a particular version number that result in a change in the feature set of the general release that the preview is attached to are, on the other hand, problematic (as, in different ways, are those tied to subjective descriptions of feature change, which can change whether or not the objective features change, and in any case are of dubious informational utility since the user's subjective view may differ from the developer's.)

    18. Re:Version numbers... by Jane+Q.+Public · · Score: 1
      I wasn't referring to any "official" system... just the general consensus in the open-source world on how version numbers should go. General guidelines, not hard-and-fast rules.

      "As the context shows, that's quite clearly not the "whole point" of what I was responding to in GP."

      Since, from that same context, *I* am said GP, I rather think it was. At least, it was the only intended context, on my part.

    19. Re:Version numbers... by Anonymous Coward · · Score: 0

      I accept your different opinion but I disagree with it.

      By disagreeing with a different opinion are you trying to saying you agree with an opinion?

      I accept your opinion but I disagree with it.

      FTFY

      Opinions are, inherently, the same or different, you justified this difference by disagreeing in your comment.

    20. Re:Version numbers... by proca · · Score: 1

      I respect your idealistic view, but unfortunately we live in the real world where deadlines exist.

    21. Re:Version numbers... by mypalmike · · Score: 1
      --
      There are 0x40000000 types of people: those who understand 32-bit IEEE 754 floating point, and those who don't.
    22. Re:Version numbers... by Anonymous Coward · · Score: 0

      As someone who actually develops an open source project, I can tell you I couldn't care less what the version number is. My project would be up to version 8 if I followed your scheme. It's still very much in development, so I call it 0.8. As long as I say use the latest, why does it matter?

    23. Re:Version numbers... by Anonymous Coward · · Score: 0

      Yes. I am advocating that version numbers should carry broadly-recognizable meaning. I accept your different opinion but I disagree with it.

      Until you can get marketers to agree (i.e. be honest), and they never will, forget about it.

      The open source playing with version numbers is simply recognition of that. Nobody sensible takes version numbers seriously, and because version numbers will forever be gamed by marketers (to manipulate perceptions) and by open source developers (for fun and because having sensible version numbers is pointless).

      And that's ignoring the fact that the customer's honest evaluation of a product's status (i.e. whether functional, finished, beta or even alpha) may be completely different from the producer, whether closed or open.

    24. Re:Version numbers... by Myopic · · Score: 1

      It only matters a little bit, to the extent that your users have to deeply know the project to be able to judge feature evolution over the history of your project. Your users could more easily know the project status if you used a versioning system that carried a little bit of meaning. It's not a big deal, it's a little deal. For instance, I would assume that you are still working on core features and I should continue to ignore your project until you get around to finishing the initial feature set -- or else I'd have to go read your documentation and familiarize myself with the features and your plans, so that I could get a sense of how complete it is. I could do all that work, or you could just mark a stable complete version as "1.0". If you don't want your version numbers to carry any more meaning than advancement, then just use integers. By using dotted decimal you tacitly concede that the dots and decimals mean something, but then you never use the leftmost decimal. It's silly. It's not using a tool which you could be using.

  21. matlab by pswPhD · · Score: 1

    I don't think this is quite what your after, and it is expensive as hell, but have you tried Matlab?

    1. Re:matlab by Anonymous Coward · · Score: 1

      A inexpensive alternative to matlab would be "R" in combination with R studio.

  22. Depends by jbolden · · Score: 4, Informative

    If you want a great spreadsheet: http://www.quantrix.com/
    If you want to beef up the programming language but are fine with Excel: http://www.wolfram.com/products/applications/excel_link/

    If you are talking non commercial: Siag (suggested above) is cool: http://siag.nu/index.shtml
    This hasn't seen much activity in a decade but Haxcel: http://www.johanmalmstrom.se/haxcel/ is Haskell in a spreadsheet.

    1. Re:Depends by Anonymous Coward · · Score: 0

      If you want a great spreadsheet: http://www.quantrix.com/
      If you want to beef up the programming language but are fine with Excel: http://www.wolfram.com/products/applications/excel_link/

      If you are talking non commercial: Siag (suggested above) is cool: http://siag.nu/index.shtml
      This hasn't seen much activity in a decade but Haxcel: http://www.johanmalmstrom.se/haxcel/ is Haskell in a spreadsheet.

      The small business that I work for (that just finally, after years, saw decent growth in 2012) just switched to Quantrix, and let me tell you, that's an amazing piece of sotware. Not sure if it was OP's answer, but the what if scenarios are actually decent, not fluff, and another good feature was the fact that it wasnt =AVERAGE() or some other excel BS. (It almost replaced my job -- seriously, i'm not that important)

    2. Re:Depends by 9jack9 · · Score: 1

      If you want a great spreadsheet: http://www.quantrix.com/

      Whoa, pricey. They could probably rule the world if they released an ultra-simple free version and a somewhat more featured cheap version.

    3. Re:Depends by jbolden · · Score: 1

      sumwise.com might be an alternative that's free. But I'm not sure what happens if Quantrix cuts their price. Would people switch even if it were free?

  23. http://www.omegahat.org/RGnumeric/ by NoPhD · · Score: 2

    R is very powerful try this" http://www.omegahat.org/RGnumeric/

  24. LibreOffice by Anonymous Coward · · Score: 0

    Can't you use Python on it, also?

  25. try octave by Anonymous Coward · · Score: 0

    Octave is free and is design to do matrix stuff, as most of what you will do in a spreadsheet is handling rows or columns of matrixes, it could be worth a shot.

  26. Definition by wideBlueSkies · · 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?

    --
    Huh?
    1. Re:Definition by Anonymous Coward · · Score: 2, Interesting

      A "decent" language is one which does not use any of the following keywords:

      Then
      Dim
      Sub
      End

    2. Re:Definition by Nutria · · Score: 3, Funny

      bash uses "then" and it's a great language.

      --
      "I don't know, therefore Aliens" Wafflebox1
    3. Re:Definition by Anonymous Coward · · Score: 0

      I agree.

      What's wrong with AVERAGE()?

      Yeah - it's not great, but it's not bad either. I'd say it's OK.

    4. Re:Definition by Anonymous Coward · · Score: 0

      Bash sucks, your just used to it. You probably think VI is a good editor too.

    5. Re:Definition by excelsior_gr · · Score: 1

      Yeah! Fortran too!

    6. Re:Definition by Anonymous Coward · · Score: 0

      I honestly expected better counter-examples than this.

    7. Re:Definition by Anonymous Coward · · Score: 0

      funny guy

    8. Re:Definition by wideBlueSkies · · Score: 1

      Perl uses sub .

      --
      Huh?
    9. Re:Definition by wideBlueSkies · · Score: 1

      /. - everything has changed here. Even the MS bashers have no teeth any more.

      I was hoping that someone would have hit my meatball out of the park, when I asked what was lacking in VB.

      Sigh. Remember when you used to be able to have a good tech talk here?

      --
      Huh?
    10. Re:Definition by Anonymous Coward · · Score: 0

      No it's not.

    11. Re:Definition by cbhacking · · Score: 2

      If you're going to complain about a programming language on the basis of its 3-4 letter syntactic sugar, you can go right ahead, but don't expect to be taken seriously. Yeah, it's a BASIC dialect, so fucking what? Yes, I know the Djikstra quote; it's quite demonstrably wrong and, frankly, stupid. A lot of excellent programmers today and in the past learned on BASIC. Let's see...

      Then / End: semantically identical to { }, but a bit less overloaded than those characters are *and* easier to understand when learning the language. Oh, but they require an extra 5 characters of typing when writing a loop! KILL IT WITH FIRE! Seriously, that's a dumb complaint. The typical Java program could probably shorten each class/interface name it uses by 5% rounded down (meaning no affect on anything less than 20 characters long) and save more.

      Dim: The type-specifying version (Dim x as Int) is inelegant compared to the way C-style language do variable declaration, but aside from the somewhat archaic choice of keyword, it's clear and explicit. The VBS form (Dim x) is very straightforward, and (again, aside from the actual keyword choice) actually a hell of a lot better than, say, JavaScript (at least if you have Option Explicit on, which should be included in every VB* template and default) where the "var" as completely optional. Also, the array-declaration form is very simple in VBS (Dim a(12)) even if using parentheses for array operations just feels *wrong* to C coders. Oh, and if "Dim" realllllly offends you, leave out Option Explicit and declare all your variables on first use. That's a terrible idea, but it's also one that a great many other languages (especially scripting languages) use...

      Sub: I'm sorry, you prefer "void"? Seriously, that's all a Sub[procedure] is; a method that has no return value. "Sub foo ()" is the same as "void foo () {" in C. Or perhaps "function" with no indication of whether the function returns anything or not (JS) is more your speed?

      I wouldn't bother replying at all, but for some reason you've been modded up. What the hell? I haven't even touched the language since 2006 (and that was for a very small project at work) but I can still tell that your argument is idiotic. Complain about something legit like its piss-poor attempt at OOP or its highly readable but less expressive for loops or its relative dearth of libraries (not a problem for VB.NET, incidentally, since it can interact with any .NET code), or with something about the language itself, but seriously, the keywords are the stupidest of a great many stupid reasons to hate it.

      --
      There's no place I could be, since I've found Serenity...
    12. Re:Definition by Anonymous Coward · · Score: 0

      No one uses VB any more, nor even knows anyone who does. That's why.

    13. Re:Definition by Flodis · · Score: 1

      "End"

      I'm surprised by this.

      I program primarily in C#, but I actully prefer 'End (keyword)' to the closing curly braces. This is especially true when I'm debugging legacy/spaghetti code.

      Compare this:


                      End Loop
                  End If
              End If
          End Loop
      End Class

      to this


                      }
                  }
              }
          }
      }

      Which conveys more information?

      Which makes it easier to find where to insert that pesky 'a++' that someone forgot?

    14. Re:Definition by martijn+hoekstra · · Score: 1

      Actually, I prefer the logic separation between a subroutine (that modifies state, and doesn't return a value) and a method call, that shouldn't modify state and does return a value. Obviously, many method calls do modify state, and sometimes that is even useful, but being able to declare the difference is a win IMO

  27. What about Libre Office by Anonymous Coward · · Score: 0

    With version 4 a lot of the macro's can written in Python. You maybe able to expose those macro's as function and us it that way.

    http://www.libreoffice.org/

    This is a plugin I was looking a while back that may help as well:

    http://oosheet.hacklab.com.br/

  28. Are you sure you want to use a spreadsheet? by stewsters · · Score: 1

    Do it with MySQL and a programming language of your choice and output to spreadsheet. Put your code in version control (git). Profit.
    Or if you really need to be using Excel, try something like this: http://groovy.codehaus.org/COM+Scripting

    1. Re:Are you sure you want to use a spreadsheet? by DragonWriter · · Score: 3, Interesting

      Do it with MySQL and a programming language of your choice and output to spreadsheet.

      I mostly agree, but MySQL is probably the wrong choice of database. For most things that you would consider using a spreadsheet for, you probably aren't concerned with multiple users with concurrent access, so you don't need a DB server, and SQLite is a much better choice. If you do need a DB server for some reason to back your spreadsheet-like analysis, PostgreSQL is probably a much better choice (if nothing else, because of the much richer query functionality; CTEs, particularly, are very useful for analysis.)

  29. Python or Javascript in LibreOffice and OOo by SgtChaireBourne · · Score: 5, Informative

    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.
    1. Re:Python or Javascript in LibreOffice and OOo by denisbergeron · · Score: 1

      Libre Office support Logo also!
      That a pretty good programming language

      --
      Ceci n'est pas une Signature !
    2. Re:Python or Javascript in LibreOffice and OOo by Anonymous Coward · · Score: 1

      They both give gibersh with large data sets.

      ANy large CSV file and they show asian charaters in a single line.

    3. Re:Python or Javascript in LibreOffice and OOo by Beetle+B. · · Score: 3, Informative

      And the docs for Python in Open Office are...

      Oh right - there aren't any docs.

      --
      Beetle B.
  30. Just use R by Anonymous Coward · · Score: 2, Informative

    Spreadsheets are actually terrible tools for data analysis. It's virtually impossible to document what you did with a spreadsheet, and make it reproducible and debuggable.

    What you want is R, the Free software language based on Bell Labs "S" programming language for doing statistics and data analysis. R is like the fully outfitted machine shop compared to a spreadsheet's screwdriver and a hammer in a plastic box.

    http://www.r-project.org

    1. Re:Just use R by csirac · · Score: 2

      +1, although as a big ruby fan and using perl at work for nearly three years (and matlab at uni for four) I much prefer (and use) python+pandas instead.

    2. Re:Just use R by belmolis · · Score: 1

      Agreed. The only downside to using R for this purpose is that it doesn't give you the constant display of your data that a spreadsheet does. I mostly don't care, and in any case, if you have a lot of data, you can't see it much of it in any given view of spreadsheet anyhow, but some people really do want the spreadsheet display.

    3. Re:Just use R by Anonymous Coward · · Score: 0

      Depending on what you need, numpy (which is pretty easy to use and install) has much of the same vectorized functionality of R, and might perform better (both are probably making calls at a fortran or C level, so they might end up being the same speed). Numpy can probably do everything that normal R can. The one downside is that there aren't as many people contributing to the numpy world, so you don't have as much specialized stuff available to borrow. The nice thing about numpy is that it is just a python library. So, rather than writing a cumbersome tool that calls R or writes R code or whatever, you just write a python application that does what you need with a very large percentage of the same benefits you get from R.

      Python also has some really cool tricks that allow you to compile your script into C code, which makes it even faster. There are limits, of course.

    4. Re:Just use R by Anonymous Coward · · Score: 1

      R is pretty good for bog standard stats, but its not a great general purpose language. If what you want to do isn't covered by a built in function (implemented underneath in C) or something on CRAN, R gets creaky pretty quick. If you're working with a lot of data, be prepared to optimize the sloooooow parts of your R code in C/C++.

      Still, it's a great project and definitely miles ahead of a spreadsheet.

    5. Re:Just use R by Anonymous Coward · · Score: 1

      Wait, a spreadsheet is worse than R for keeping a simple list of places that I've recently contacted about thing X and if they've replied? R is better than a spreadsheet for very basic home accounting (a list of places money goes on the y axis, a list of months along the x axis, and then in the cells just add up the money spent)?

      Nah, I don't believe it. A spreadsheet is really a great tool for making tables (better than fucking around with the tables function of your wordprocessor) and for doing simple sums.

    6. Re:Just use R by Anonymous Coward · · Score: 0

      Same AC as above. Example where a spreadsheet has to be better than R:
      A table of items, mostly books, with title, author, and similar, and then the amount of times the item was borrowed (and maybe some other stats). With only 100 items, a spreadsheet works really well. Plus it's easy for most people to manipulate that data from a spreadsheet. Plus, you don't have to mess about with a fucking database, which there is no simple way to quickly throw in another field-type is there...

    7. Re:Just use R by Hatta · · Score: 1

      Sure, and notepad is a really great tool for making quick edits to simple text files. In either case, if you do anything non-trivial, you need a real tool.

      --
      Give me Classic Slashdot or give me death!
    8. Re:Just use R by Anonymous Coward · · Score: 0

      I totally agree with you, but I suspect we're seeing the metaphor differently. In all honesty, I would see the spreadsheet as being the analogue of notepad, and R as the "real tool" that you speak of.

      Most of the work I get involves people giving me their data in spreadsheets and the first thing I do with it is read it into R so I can get some "real work" done. And I've long said (admittedly probably oversimplifying) that if others weaned themselves off their spreadsheet toys, I'd be out of a job! I'm basically saying that to a fair extent, it's not that *I* can do stuff that they can't do, but rather that I'm using a tool that can do stuff that theirs can't.

    9. Re:Just use R by Anonymous Coward · · Score: 0

      > Plus, you don't have to mess about with a fucking database,

      I used to keep one of those, but it grew too large for the entire amazon cloud. I'm here all week, folks. Tip your waitresses.

      > ... which there is no simple way to quickly throw in another field-type is there...

      ALTER TABLE ADD COLUMN ...

    10. Re:Just use R by ottothecow · · Score: 1
      I don't get this attitude at all. They are completely different tools.

      I use SAS (and sometimes R) to do all sorts of heavy lifting daily in my professional life. And yet, I still use excel daily. It's a great tool.

      For exploring or presenting data, excel is great. Filtering a dataset and playing around with it is incredibly effective and quick tricks like being able to highlight a group of cells and immediately see the sum and average in the corner of the screen are invaluable. A lot of simple calculations are just easier to do in a spreadsheet. It makes lots of sense to program repetitive things, but for one off analysis of small amounts of data, excel is far more convenient and produces much more attractive tables with a minute or two of formatting than what come out of SAS or R by default.

      --
      Bottles.
  31. Wavemetrics Igor by Anonymous Coward · · Score: 0

    It's been ten years since I used it though.

  32. "Perl or even Javascript" by Anonymous Coward · · Score: 0

    Strange definition of what would be "decent" for working with a fucking SPREADSHEET. Never once have I looked at a large Excel file and thought "you know what would make this a whole lot easier? If it were written in fucking Perl and Javascript."

    I'm guessing you're one of those "BOFH" types that likes to self-flagellate as penance for being a prick to the people you work with?

  33. Google Apps Script, of course! by ScienceMan · · Score: 1

    https://developers.google.com/google-apps/ --> https://developers.google.com/apps-script/ or directly to script.google.com (Full-disclosure: not affiliated - just a user.)

  34. stop using spreadsheets by Anonymous Coward · · Score: 0

    Spreadsheets are simple, for simple problems. If you're doing anything complicated, learn how to use a database. Any good database is very extensible.

  35. XLLoop by Anonymous Coward · · Score: 0

    Use this thing and you can code macros and user defined functions for excel in any language you want:

    http://xlloop.sourceforge.net/

  36. What are you doing? by Rob+the+Bold · · Score: 2

    What are you doing with a spreadsheet that you find the built-in functionality so limiting?

    It's possible that perhaps you're getting to the "hairy edge" of what a spreadsheet is capable of. Depending on your application, perhaps you need a more specialized -- or more general purpose -- tool, here.

    Others have suggested MATLAB. If not that, how about Mathematica?

    Maybe you've outgrown the scope of a spreadsheet and need a general purpose programming language, perhaps one that you can get a reporting package that suits your requirements. If you're using lots of VBA, why not go all out and use VB, or any other general purpose solution (C, Java, Python, etc., etc., etc.)?

    Are you doing signal processing or control or other engineering stuff? Perhaps DaDiSP.

    Some more info on your particular needs might get a more specific and useful answer from someone here that's done the same thing.

    --
    I am not a crackpot.
    1. Re:What are you doing? by Obfuscant · · Score: 3, Interesting

      What are you doing with a spreadsheet that you find the built-in functionality so limiting?

      When the only tool you have is a hammer, every screw looks like a nail. When the only tool you know how to use is a hammer, it is the screw's fault that it won't go in like a nail when you hit it.

      I remember many many years ago, the entire corporate sales database where I worked was kept in a text editor. When I pointed out that there was something called "ingres" and that maybe it would be better to keep the data in that, I was told that the person who managed the "database" knew how to use the text editor and didn't want to learn anything else. I was also told that I wasn't hired to write database code for the administration of the company, I was hired to write scientific data processing code.

      Part of the problem was that DEC supplied the text editor with the system. That made it the tool of choice, even for problems it was very poor at handling. Likewise, if "large computer company" provides few or no real programming tools other than extensions to a spreadsheet, then the spreadsheet becomes the programming tool of choice. I've had several recent projects that I've had to code in javascript/HTML simply because I couldn't expect them to be used if they were programmed in perl, because web browsers come with the system and perl does not.

    2. Re:What are you doing? by Rob+the+Bold · · Score: 1

      What are you doing with a spreadsheet that you find the built-in functionality so limiting?

      When the only tool you have is a hammer, every screw looks like a nail. When the only tool you know how to use is a hammer, it is the screw's fault that it won't go in like a nail when you hit it.

      He didn't say he was an orthopedic surgeon. That does change things . . .

      --
      I am not a crackpot.
    3. Re:What are you doing? by badkarmadayaccount · · Score: 1

      Can't you package it up as NSIS?

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  37. Dumbshit by Anonymous Coward · · Score: 0

    You can use any .Net supported language in excel, from IronPython to C# to Managed C++

  38. Perl with Excel by Anonymous Coward · · Score: 0

    You can use Perl to control Excel with OLE objects.

  39. Python in a Workbook? by Anonymous Coward · · Score: 1

    http://www.resolversystems.com/products/resolver-one/

  40. Use a decent relational database by davidbrit2 · · Score: 1

    I find that a decent SQL database platform is better for complex data manipulation. Install SQL Server 2012 Express Edition With Advanced Services (it's a mouthful, but it's free). It supports import/export from Excel spreadsheets, and a number of other data formats, and also includes Reporting Services for creating nice presentable reports without coupling the layout with your data storage (as with a spreadsheet).

    Some SQL knowledge can take you a lot further than Excel will on its own.

  41. look at geogebra by museumpeace · · Score: 1

    it might not meet your needs because its spread sheet function came as an afterthought/alternative to an interactive geometric algebra tool. It has great power for some visualizations but not much for general data sets. IT is all open source and all in Java.
    the link: http://www.geogebra.org/cms/

    --
    SLASHDOT: news for people who can't concentrate on work or have no life at all and got tired of yelling back at the TV.
  42. My problem is quite the opposite. by Z00L00K · · Score: 0

    How shall I make it hard for people to use Excel for just about anything.

    Sometimes the solution to a problem is manual work with an Excel spreadsheet.

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    1. Re:My problem is quite the opposite. by Jane+Q.+Public · · Score: 2

      "How shall I make it hard for people to use Excel for just about anything."

      I thought Microsoft did a pretty good job of that already.

      Seriously... when Windows was still relatively new, 1-2-3 for Windows was pretty good, and there were some other very good spreadsheet programs available (sadly, absent from Wikipedia's spreadsheet history page). Then people started to actually use Microsoft Excel, which they greatly improved and stuck in their Office suite. But it wasn't that their product was better; they just had the OS and "Office" advantage, which pretty much guaranteed them market share.

    2. Re:My problem is quite the opposite. by Anonymous Coward · · 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.

    3. Re:My problem is quite the opposite. by Dishevel · · Score: 2, Insightful

      Excel is the Crescent Wrench of office software.
      The wrong tool for (Almost) every job.

      --
      Why is it so hard to only have politicians for a few years, then have them go away?
    4. Re:My problem is quite the opposite. by lgw · · Score: 4, 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.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    5. Re:My problem is quite the opposite. by Dr.+Evil · · Score: 4, Interesting

      Excel was okay. Word was acceptable.

      Wordperfect was excellent, 123 was excellent.

      Wordperfect + 123 was twice the price of Word+Excel+Windows, wasn't integrated and couldn't multitask.

      Microsoft outcompeted Wordperfect and Lotus by combining the marketplaces so that they couldn't compete. By the time Wordperfect (+Quattro) and Lotus (+Amipro) created their office suites and targetted the Windows platform, it was already too late.

    6. Re:My problem is quite the opposite. by butalearner · · Score: 3, Interesting

      I heard an interesting story from, oddly enough, a MathWorks rep (the people who make MATLAB) about the early days of Microsoft Excel. I don't know if it's true...I think he said he'd either heard it or read it online from an early Excel developer, but my quick Google-fu didn't turn anything up. In any case, he said that after Microsoft first released Excel, they went out to their business customers to figure out how they could improve it. They were flabbergasted to find out that people were using it in completely different ways than they imagined. Even though (I believe) it was originally designed for data analysis, a great number of people weren't even using it for calculations at all. They were using it for to-do list tracking, calendars, structured text documents, presenting tabular data, etc. That's why Microsoft was the first one to have a spreadsheet that allowed the user flexibility to change its appearance: fonts, colors and the like.

      He was explaining this as part of his justification for coming out and talking to us, but I think it's also telling that their customers weren't using it like they expected. I guess this is really just a long way of saying that once you get to the point where quick Excel formula isn't cutting it, it stops being the right tool for the job.

    7. Re:My problem is quite the opposite. by Jane+Q.+Public · · Score: 1

      "No, Excel won because it was very much better .. at what the majority of users use spreadsheets for: keeping simple lists."

      Disagree. I worked at a technical company and almost everybody there used it for doing calculations. Including in the word processing pool, who were sometimes called upon to write up project budgets.

      If they wanted lists, they used a word processor. At the time, that was Word or Wordperfect, in our office.

      And frankly, a lot of the employees there thought Excel rather sucked. That's why we had Lotus for Windows, and similar programs.

    8. Re:My problem is quite the opposite. by djrobxx · · Score: 2

      WordPerfect was great for DOS. The early Windows/WYSIWYG versions were not great. I remember going back to the DOS version for most things because the GUI was too clunky. It just didn't behave like a proper Windows application. By the time it worked well, it was too late. MS word had picked up marketshare for people wanting to use a Windows word processor.

      I do remember finding it maddening when MS-Word would decide to do something unintended with styling, and I had no true "Reveal codes" function to fix it easily like I could in WordPerfect.

    9. Re:My problem is quite the opposite. by Darinbob · · Score: 1

      I figured out Lotus 1-2-3 back on a PC (pre-XT) at school, with no manual, back when no one really knew what a spreadsheet program was (Visicalc was first but a lot harder to use). It was not hard at all. Fast forward to Excel and I can't figure out the damn thing. If you're not a pro using it all the time it is very obtuse and the help is not helpful.

    10. Re:My problem is quite the opposite. by UnknownSoldier · · Score: 2

      As a visual thinking I have found the most important tool for programming (which is just another type of solving interesting problems) is a pencil and pad.

      While you have an catchy cliche & interesting point I use Excel / OOCalc as a cheap digital notepad which I find quite effective. I can jot partial formulas down, do quick graphs, and have some semi-table-structure while I finalize organization and equations before throwing it into the "real" tool.

      There are times a "lab notebook" (whether physical / digital) IS the right tool -- when you can minimize the time spent wasting with the UI then you can focus on actually solving the problem. :-) THAT is one of the advantages of using a spreadsheet that too many completely overlook or dismiss as not being relevant.

    11. Re:My problem is quite the opposite. by Anonymous Coward · · Score: 0

      Microsoft out competed many of it's competitors (*cough Wordperfect cough*) by telling developers that OS/2 was the preferred development platform and that applications should aim at OS/2 implementations. Internally they developed Windows and ported their applications to it. Then, in a surprise announcement, they essentially double-crossed all their developers and partners by telling the world that Microsoft would concentrate on Windows instead of OS/2 and, by the way, all our products are available already. You can argue that developers should have seen it coming and developed for Windows too, but Microsoft assured them that OS/2 was the way to go. Right up until they twisted the knife in their backs.

      Source: I was around when the OS/2 - Windows swithceroo took place.

    12. Re:My problem is quite the opposite. by czth · · Score: 2

      Are you perhaps thinking of this Joel on Software article "How Trello is different", in which Joel writes:

      Over the next two weeks we visited dozens of Excel customers, and did not see anyone using Excel to actually perform what you would call “calculations.” Almost all of them were using Excel because it was a convenient way to create a table.

      What was I talking about? Oh yeah... most people just used Excel to make lists. Suddenly we understood why Lotus Improv, which was this fancy futuristic spreadsheet that was going to make Excel obsolete, had failed completely: because it was great at calculations, but terrible at creating tables, and everyone was using Excel for tables, not calculations.

      Your source could have just been another writeup of the same Microsoft investigation, of course.

    13. Re:My problem is quite the opposite. by denmarkw00t · · Score: 1

      This is something odd I see in my work life constantly - people putting together checklists, tasks sheets, bug tickets (with screenshots???), in Excel spreadsheets. It's really, really odd.

    14. Re:My problem is quite the opposite. by jonadab · · Score: 1

      > WordPerfect was great for DOS.

      This is obviously some new definition of the word "great", with which I was not previously familiar. I suffered the agony, in the early nineties, of using Word Perfect 5.1. Admittedly, in terms of usability (and particularly discoverability of UI features), the standards were somewhat lower back then. It wouldn't be fair to compare those versions of Word Perfect against modern software like OO.o. Nonetheless, I had *at the time* already been seeing, for years and years, word processing software that organized the different things it could do into meaningful categories that a human could understand and was capable of presenting the categories as menus, so that a user who did not yet know all the shortcut keys could one key to pull up the menu system plus one more key to select the appropriate menu category and then easily find the thing he wanted on the list. In Word Perfect, by contrast, the only way to find a feature for which you didn't already know the shortcut was to wade through dozens of very poorly organized help screens until you eventually got lucky and found it, and when you did finally find it, it would almost never work in quite exactly the same way you expected.

      For software to be *worse* than WordPerfect for DOS, it would either have to go very far out of its way to make the user jump through pointless hoops to do anything ("To complete the operation of making the selected text bold, hold down the right mouse button while typing the characters you see in this CAPTCHA"), or else just plain fail to have the features you need at all.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    15. Re:My problem is quite the opposite. by chrismcb · · Score: 1

      I'm not sure what world you grew up in where Wordperfect was consider excellent.
      But what really happened was Windows came out. Microsoft wrote Word for Windows. Wordperfect did not. Word was better than ALL other word processors written for windows, so it won. By the time wordperfect figured it out, it was too late.
      It had nothing to do with suites, and everything to do with Windows.

    16. Re:My problem is quite the opposite. by Anonymous Coward · · Score: 0

      Congratulations.
      Like stated in my post.
      The wrong tool for (Almost) every job.

    17. Re:My problem is quite the opposite. by Ginger+Unicorn · · Score: 1

      Trying to do anything involving logging/manipulating data in a table in a word processor is like trying to sculpt syrup. I use oo calc to handle lists of things because you can pull it all apart and move it around, reformat it, reorder it, swipe cells to see totals, etc without the whole thing turning into a knotted shoelace like it would in Word or Writer.

      --
      (1.21 gigawatts) / (88 miles per hour) = 30 757 874 newtons
    18. Re:My problem is quite the opposite. by gzuckier · · Score: 1

      Note that the very original marketing for Lotus 1-2-3 relied on the concept that this one program could be used for spreadsheets, databases, and word processing (each cell could be a paraqraph with its own word wrap). Plan B turned out to sell better.

      --
      Star Trek transporters are just 3d printers.
    19. Re:My problem is quite the opposite. by Common+Joe · · Score: 1

      When designing GUIs, the first place I usually go is the spreadsheet. It's (very) far from perfect. Hell, it's so crude that it's barely useable, but it is the fastest way I can do a screen mockup. I can do in seconds on a spreadsheet what it takes minutes to do in an IDE. After that, I usually prototype it in the language I'm working in, then the functionality goes in.

    20. Re:My problem is quite the opposite. by dave87656 · · Score: 1

      Yes, I would agree with that. I used to use Quattro Pro which was excellent but it had at least one annoying problem: when any part of the spreadsheet was obscured and then any or part of that became visible, the whole window would refresh. It turned out later that, according to an article I read, there was a Windows API which would only repaint the uncovered area, but that was hidden and only the Office people knew about it. More proof of the unfair advantage MS gave their office group and withheld from competitors.

    21. Re:My problem is quite the opposite. by dave87656 · · Score: 1

      I've found the same to be true that if I really want to be effective in almost any software task, I sit down and work it out on paper. I use a fountain pen rather than a pencil but that's irrelevant).

      A recent study found that students writing their notes on paper had better retention than those using notebooks.

      YMMV ;-)

    22. Re:My problem is quite the opposite. by RockDoctor · · Score: 1

      But what really happened was Windows came out. Microsoft wrote Word for Windows.

      [. . .] More precisely, several years after Windows came out, MS re-wrote their previously very functional DOS-based word processor "Word" as a windows application. In the process they damaged it badly, though not irrevocably, as was the norm for translating applications to Windows. This mental thing about having an approach to WYSIWIG (as Windows still does) tended to obscure important aspects of significant documents such as their internal structure, style use and so on.

      So I was very glad to leave a company that used Word for Windows and upgrade to better pay and using Lotus Manuscript - it suited my mindset and the type of work that we were doing much better.

      Word was better than ALL other word processors written for windows

      Yes, I agree, "Word" (sub-titled "for DOS v.5") was much better than any early word processor written for Windows, including "Word for Windows".

      --
      Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
    23. Re:My problem is quite the opposite. by Shirley+Marquez · · Score: 1

      WordPerfect wasn't excellent, but it did have strengths. The biggest were the broad printer support (which was a nightmare in those days, but WordPerfect managed to get useful results out of just about everything on the market) and the technical support. In any case, the UI wasn't any worse than other DOS products, and those strengths were enough to make it the dominant word processing program.

      The thing that so many people hold up as a feature - reveal codes - instead points out to me one of the biggest WEAKNESSES of WordPerfect. If a word processor is doing things right you should never need to see the formatting codes, it should just always do the right thing. But none of the DOS programs did.

      The early versions of WordPerfect for Windows were terrible. Part of it was that they were just slow and buggy, but the biggest problem is that the company just didn't understand that Windows was a paradigm shift. What they did was implement something that acted as much like WordPerfect for other platforms as possible, but running on Windows. But Windows users wanted something that would be compatible with Windows UI conventions, which in a number of cases conflicted with the ones that WordPerfect users were accustomed to. WordPerfect needed to break backward keystroke compatibility and embrace Windows immediately; eventually they did but it was too late.

      The best word processor for Windows was neither WordPerfect nor Microsoft Word; it was Ami Pro. But because it came out of a small company with no marketing clout it never caught on in a big way. Later the company was bought by Lotus, which didn't understand the value of what they had on their hands; instead of updating Ami Pro as 32 bit code for Windows 95 compatibility, they completely changed it; the result was Word Pro, which was a slow, buggy clone of Microsoft Word instead of the fast program with a superior UI that Ami Pro was.

  43. Stop. Stop right now. by viperidaenz · · Score: 3, 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,

    1. Re:Stop. Stop right now. by MouseR · · Score: 4, Insightful

      Turning a spreadsheet into an application is not programming. It's being an accountant.

    2. Re:Stop. Stop right now. by LearningHard · · Score: 1

      Hi, Accountant here.

      I use spreadsheets a bit for data manipulation but most of the big stuff I do inside our data warehouse using SQL. It is very rare that I need to venture outside of pivottables, vlookups, sumifs, countifs, or if statements inside of a spreadsheet.

      If you are having to make extensive use of programming skills in your spreadsheet I think you have a hammer and a nail problem (every problem looks like a nail cause all you have is a hammer).

    3. Re:Stop. Stop right now. by Nutria · · Score: 1

      Just for shits and giggles: why does an accountant need a data warehouse?

      --
      "I don't know, therefore Aliens" Wafflebox1
    4. Re:Stop. Stop right now. by viperidaenz · · Score: 1

      Because that's where the financial data they use is stored by the company they work for?

    5. Re:Stop. Stop right now. by Nutria · · Score: 1

      That would be the operations database. Data warehouses are for analysts to mine hidden trends, patterns, relations.

      Unless "marketeers" have redefined yet another meaningful tech phrase...

      --
      "I don't know, therefore Aliens" Wafflebox1
    6. Re:Stop. Stop right now. by Shados · · Score: 1

      Its not a full blown application development system, but it makes for a fine front end environment for a backend system (not a raw database, but something output by some system in a format the spreadsheet can consume).

      A decent example is using Excel as a front end for an OLAP. Of course, when doing that you can just use .NET and call it a day.

    7. Re:Stop. Stop right now. by Anonymous Coward · · Score: 1

      I once had a job where a spreadsheet had the corporate production status in a massive spreadsheet, updated by hand daily. Running some "reports" (macros) took as many as 24 hours before it could print the answer. I fired up my personal copy of Borland Turbo C and wrote th3 code to read the worksheet file directly and did the same job in 15 minutes. It took me half a afternoon to write that app and it saved lots of valuable time and money.

    8. Re:Stop. Stop right now. by Anonymous Coward · · Score: 1

      Amen. And if a new disclosure is needed for quarterly SEC reporting, who does it? IT? No, IT wants 6 months to design, build, test, implement, document, ad nauseum a solution that is due in 3 months (or less). Who does it? A data-warehouse-savy accountant with 500 lines of SQL, that's who.

    9. Re:Stop. Stop right now. by mister2au · · Score: 2

      and all the time I thought a data warehouse was a warehouse for data and could be used for more than just data mining ... damn those marketers for fooling me !

    10. Re:Stop. Stop right now. by Anonymous Coward · · Score: 0

      Yes, it would cost a pretty penny to turn a spreadsheet into a conventional application :-)
      Using what language, and how is the data storage maintained?

    11. Re:Stop. Stop right now. by pburns · · Score: 1

      Spreadsheets are dangerous when they become complex. Given that you mention programming language, that's a pretty good sign that the application is too complex to be done safely in a spreadsheet. See http://www.burns-stat.com/documents/tutorials/spreadsheet-addiction/ for more.

    12. Re:Stop. Stop right now. by Nutria · · Score: 1

      used for more than just data mining

      You can hammer a nail with a knife, but hammers do a better job. Likewise, use the proper database design for the task at hand.

      Thus spake the Great And Mighty DBA!

      --
      "I don't know, therefore Aliens" Wafflebox1
  44. Use Excel + .NET or even HTML5/JS by Anonymous Coward · · Score: 0

    You don't have to use VBA to program Excel -- .NET has been an option for many years. You used to use Visual Studio Tools for Office (VSTO), but now the features of VSTO are baked into Visual Studio. Dev info here: http://msdn.microsoft.com/en-us/Office2010DeveloperTrainingCourse. And with Office 2013, you can adopt a HTML5/JS programming model. Get started here: http://msdn.microsoft.com/library/office/apps/jj220060(v=office.15). All info on Office development is rooted here: http://msdn.microsoft.com/en-us/office/aa905340.aspx.

  45. Java + Apache's HSSF? by wcrowe · · Score: 1

    Don't know if it would work for what you're wanting. Just throwing it out there.

    --
    Proverbs 21:19
  46. Google Refine (now Open Refine) has python by csirac · · Score: 1

    But it's not quite a spreadsheet application.. I found it quite powerful last I tried it ~18 months ago, but I had trouble fitting the entire dataset in memory openrefine.org

  47. Project Dirigible by Anonymous Coward · · Score: 0

    http://www.projectdirigible.com/ - If you don't mind cloud storage.

  48. Amiga Spreadsheets by Anonymous Coward · · Score: 0

    Pretty much any Amiga oriented spreadsheet allows one to use AREXX

  49. resolver one by Anonymous Coward · · Score: 1

    http://www.resolversystems.com/products/resolver-one -- spreadsheet python

    1. Re:Resolver One by andmalc7686 · · Score: 1

      Yeah! How come no one else mentioned this?

  50. Org Mode Table Editor by Anonymous Coward · · Score: 0

    All the power of Emacs Lisp at your fingertips!

  51. SciLab by flyingfsck · · Score: 1

    It is free and it works better than Matlab.

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
  52. Without knowing what you're actually doing... by Blakey+Rat · · Score: 1

    Without knowing what you're actually doing it's kind of hard to make any recommendation.

    Where I work, we find Tableau to be a good middle-ground between Excel and full SQL environments. It's not really a spreadsheet perse though.

  53. APL by TobiX · · Score: 1

    Consider learning an "executable mathematical notation" such as APL.

    It has the advantage of looking like math formulas, naming entire matrices with a single letter and using symbols for the operations, while avoiding the pitfalls and chores of traditional programming languages, such as explicit loops.

    APL was designed to allow non-programmers to express complex computations with ease, in a non-ambiguous, reproducible, executable way.

    There are excellent commercial implementations (with trial or free-for-personal-use versions) such as AplX and Dyalog. They both have good tutorials. There is even a Try APL online site http://www.tryapl.org/

  54. Re:hahahaha by SerpentMage · · Score: 1

    No spreadsheets are great because of shits like you who mock and laugh in people's faces when they only want to do some simple calculation tomorrow and you decide that it would be better for them to use a custom written library with awesome GUI interface. The problem with you is that they want to get done tomorrow not wait three months for you to get your shit in gear!

    Seriously, I am a programmer, but I totally get why people use Excel. Programmers and devs have this problem in that they cant do something quickly because it needs to be abstracted, modularized, etc, etc...

    --

    "You can't make a race horse of a pig"
    "No," said Samuel, "but you can make very fast pig"
  55. A decent response ignored. by Anonymous Coward · · Score: 0

    What do you feel the shortcomings of the Excel VB language variant are?

    My answer: I'm on Linux and those are my parameters.

    Unfortunately, Libre Office and Open Office both give me giberish when I load the CSV files I use - unlike Gnumeric. Gunumeric doesn't have a programming language, though.

    MS Excel is the gold standard.

    For the rest of you people, yeah, yeah, yeah, yeah, I'm a "Troll" for saying something you don't like.

    And they wonder why I post as an AC.

  56. SPSS by globaljustin · · Score: 1

    Of course 'it depends on the job', but I'd suggest having a look at SPSS, if you have access or are rich. Every college and university uses it.

    en.wikipedia.org/wiki/SPSS

    It has a code view for your queries (i am weird and only use SQL) and even some online 'libraries' of often used search strings (consult google). There used to be a FOSS alternative, PSPP, but I never used it.

    I'd like to hear any feedback on my suggestion. The type of data analysis I did was either large data pulls based and de-duping on a few factors across 800K contact dbases in Oracle, Access, Excel, etc. or it was SPSS for doing geospatial, survey response, and anthropolgy factor analysis. We tested WiMax router signal penetration and correlated it with observational and respondent based computer usage data. SPSS handled the mix of data well.

    Looking at other responses it appears that many are sort of dancing on the line between hard coding and dbase querying with their set ups...I'm not a coding wizard but I can at least get the concept. Never used most of the programs others have mentioned.

    --
    Thank you Dave Raggett
    1. Re:SPSS by thetoastman · · Score: 1

      If you want a free data analysis system, there's always R.

      It's a bit of a beast to learn (at least for the non-statistician that I am), but it worked pretty well when teaching someone how to do ecology analysis. There are GUI front ends for KDE (RKward on Linux) and R Commander on a bunch of platforms. I have used RKward and ESS (Emacs speaks statistics) to work with R.

      R has an entire repository much like CPAN. It's called CRAN, for the Comprehensive R Archive Network. If you've thought of it (statistical analysis), it's probably already written, tested, documented, and there may be academic papers out that use it.

  57. Try This by quinn.vinlove · · Score: 1, Informative

    Try R, i think that it is a math programming language.

  58. LAMP by snadrus · · Score: 1

    Be a programmer, not a Sheet enthusiast. I needed UI but simpler processing, so the ~LAMP stack worked for me (Linux, Cherokee, MariaDB, Python) . Python fits everywhere here from heavy data analysis to being web front-end. Often a one-line SQL statement did more than I needed.

    --
    Science & open-source build trust from peer review. Learn systems you can trust.
  59. ShareLaTeX by Waldsen · · Score: 1
    1. Re:ShareLaTeX by Waldsen · · Score: 1

      Sorry, posted in wrong story and now I don't know how to delete...

  60. R? by Anonymous Coward · · Score: 0

    I can't really call it a "decent" programming language, but R is all the rage these days. It's definitely good for working with tabular data. But it's nearly as bad as Perl in terms of there existing a quadrillion different ways to do one thing. Hell, there's even two different specifications for defining objects. Some of that isn't the fault of R so much as S, on which it was originally based.

    If you pipe data in and out via SQL, you can live out all your tabular/2d matrix data fantasies without having to open a spreadsheet.

  61. Just use R by Hatta · · Score: 3, Interesting

    Spreadsheets are bad at just about everything. Use R instead. If you really need a spreadsheet, there are modules that act like a spreadsheet. But you'll be doing yourself a favor if you wean yourself off the spreadsheet teat.

    R is better suited to this type of task than general purpose languages like Python. Most variables and functions in R are vectorised. It's very rare to ever have to write a for loop, which makes the language much more readable.

    R is so good at this kind of thing that you don't need anything special to do a pivot table. Just use tapply() and sum(). There's also a 'reshape' package that is far more flexible than anything found in Excel.

    --
    Give me Classic Slashdot or give me death!
  62. Mathematica is vastly superior to Matlab by Cassini2 · · Score: 3, Interesting

    For symbolic math, Mathematica is vastly superior to Matlab. In my comprehensive exam, Matlab said if I increased the gain of a control system to 1E8, then the following error would be zero. However, for that particular control system, I knew that this result had to be wrong. For modestly large gains, the average of the absolute value of the error should have been a constant, and unaffected by the gain. At gains of 1E8, most physical systems go unstable. The issue shook my confidence on the written portion of my comprehensive exam.

    SPICE and Mathematica computed the correct result. The key difference is Mathematica is a symbolic solver. It solves the formulas, without making unnecessary approximations. Spice is absolutely amazing for control system work. It analyzes stuff that most users would be unable to model with Matlab. In particular, SPICE models output to input capacitive coupling correctly, where most other models ignore the issue. Thus, SPICE will frequently predict that a system will be unstable if the gains are sufficiently large, whereas Matlab will often predict everything is good. Additionally, after knowingly blowing the results on the written, I verified the result on a physical system. I wanted to be really sure I had the correct answers for the oral portion of the comprehensive exam.

    Matlab is a numeric computation package. In the case of control systems, it quietly converts Laplace transforms into discrete time z-Transforms before computing the system response. Never trust numeric results when they disagree with the theory. To this day, I still wonder if the professor that asked that particular exam question knew about this bug in Matlab, and deliberately asked the exam question from hell.

  63. https://datanitro.com/ python in excel by Anonymous Coward · · Score: 0

    https://datanitro.com/

  64. Actually your mistake is by TheSkepticalOptimist · · Score: 1

    Using a spreadsheet and not a real program. There are countless frameworks and libraries for data analysis found in any real programming language if you accept the idea of writing a real program, opposed to trying to shoehorn a real language into a spreadsheet app. Remember, spreadsheets are designed for managers, and we all know how stupid managers are right?

    Also the idea of looking for some obscure spreadsheet alternative just because you don't like the syntax is another fail. Not sure what you are doing, but there is a reason why Excel is a defacto standard in business circles and not "Bob's Awesome Spreadsheet XL".

    --
    I haven't thought of anything clever to put here, but then again most of you haven't either.
  65. Open Source or Proprietary? by nashv · · Score: 1

    OpenSource: QTiplot http://soft.proindependent.com/qtiplot.html uses Python as its scriptiing language

    Prop: OriginPro http://www.originlab.com/ - can use C , LabsTalk and has its own C-based X-functions.

    Admittedly, they are geared towards scientific data analysis, but have powerful graphing and programming capabilities.

    --
    Entia non sunt multiplicanda praeter necessitatem.
  66. ActiveSript and Perl by Anonymous Coward · · Score: 0

    You can install ActivePerl as a Microsoft ActiveScript engine and then program in Perl instead of VBScript or mix and match.

  67. A functional language like ML would work well by thue · · Score: 1

    I have always thought a functional language like ML or Haskell would work well in a spreadsheet.

    The compact functional code would visually fit well in a cell expression. And functional concepts like map and foldr would fit would work great for aggregating columns.

    Also, it is insane that Excel does not have regular expression functions. Regular expression search/replace would work sooo well in a spreadsheet.

  68. JavaScript + XL by Anonymous Coward · · Score: 0

    Check out Apps for Office. It allows you to use JavaScript in XL: http://msdn.microsoft.com/en-us/library/jj220082.aspx

    That said, it's Office 2013 only & mileage may vary.

  69. emacs SES (Simple Spreadsheet emacs mode) by Anonymous Coward · · Score: 0

    then use emacs LISP: (+ A1 A2)

  70. Or Open Source PSPP by EvilSS · · Score: 1

    There is an open source version of SPSS called PSPP. It is not nearly robust enough to replace SPSS in most cases where buying SPSS makes sense, but for small projects it works fine.

    --
    I browse on +1 so AC's need not respond, I won't see it.
  71. Re:hahahaha by globaljustin · · Score: 1

    Seriously, I am a programmer, but I totally get why people use Excel. Programmers and devs have this problem in that they cant do something quickly because it needs to be abstracted, modularized, etc, etc...

    +1 Informative, +1 Takedown

    I'm kind of teaching myself programming (for web crap) but I have a weird database and data analysis background that is very helpful but causes me problems when I get deep into OOP shit...

    --
    Thank you Dave Raggett
  72. I'll never need one... by VAXcat · · Score: 1

    A spreadsheet is something a user uses....

    --
    There is no God, and Dirac is his prophet.
    1. Re:I'll never need one... by Nefarious+Wheel · · Score: 1

      A spreadsheet is something a user uses....

      You, sir or madam, have just made my day.
      I will repeat that as needed.

      (talk about re-usable code...)

      --
      Do not mock my vision of impractical footwear
  73. A Spreadsheet should not replace an application by Anonymous Coward · · Score: 1

    A spread sheet is not a programming language. More than once, when my company has purchased some sorry back-water boondoggle, I have gone in and deleted all of their "Programs" which were nothing more than tricked-up spreadsheets. My favorite was a shared spreadsheet used for time and attendance that was nothing more than a front-end for a MySQL database running on someone's workstation. When I found the "developer" of that horror story I was actually allowed to walk him to the door.
    Things that should never be seen in an excel spreadsheet but wind up there because of someone's attempt at "programming" include:
    Credit Card numbers
    Social Security numbers
    Client-provided address lists
    Bank account numbers and names

    Just say no to using a spreadsheet as a program. If you don't know how to write a program you shouldn't learn by using a spreadsheet.

  74. For web by Anonymous Coward · · Score: 0

    D3.js and table.js with google spreadsheet?

  75. use emacs calc with org-babel by fsiefken · · Score: 1

    read section "Using Code Blocks in Org Tables" of the Org-Babel intro: http://orgmode.org/worg/org-contrib/babel/intro.html supported languages: http://orgmode.org/worg/org-contrib/babel/languages.html

  76. OS X + Numbers + AppleScript ? by tlhIngan · · Score: 1

    I know the standard OS X AppleScript comes with bindings for ruby, perl and python as well as AppleScript, so in theory, you could use AppleScript to interact with Numbers (Apple's spreadsheet program), directly from the AppleScript bindings in Perl, Python or Ruby or whatever else Apple put bindings in (I think you can even do it in Cocoa/C).

    Of course, I've nevery actually tried it, but it looks like it's possible...

  77. Average()? by Anonymous Coward · · Score: 0

    What's wrong with the Average() function? It works fine for everything I've used it for.

  78. MavenWorks? by Anonymous Coward · · Score: 0

    This is the problem MavenWorks was created to solve:

    http://www.mavenworks.com/Download.html

    It was created so you could write C# code to do a lot of your calculations/data-access etc and do heavy duty calculations for e.g. risk analysis etc.

    It's beta but I think has soon good ideas in it.

  79. Org Mode Table Editor by Anonymous Coward · · Score: 0

    Emacs Lisp FTW!

  80. What are you trying to accomplish? by Anonymous Coward · · Score: 0

    I've always used awk for simple 'spreadsheets' and Python for more complex 'spreadsheets', since a spreadsheet is just a two dimensional array. If need be, you can always create the initial data set in a spreadsheet and view the final data set in a spreadsheet (with a little post processing if you need to use the spreadsheet's functions to visualize the data).

  81. org-mode by grewil · · Score: 1

    I like org-mode's spreadsheet. You can use Emacs' Calc package or plain Elisp for calculations.
    http://orgmode.org/org.html#The-spreadsheet

  82. Spreadsheet = Database, so by BoRegardless · · Score: 1

    Take a look at Panorama from www.provue.com.

    Free demo for OSX & WIN

  83. Excel won because it was better? .. by Anonymous Coward · · Score: 2, Interesting

    "No, Excel won because it was very much better"

    Then why did Microsoft have to expend so much energy in killing Lotus 1-2-3 ..

    "Why was Lotus told that the shell would not be OLE enabled when In fact it is? Why was Lotus not given earlier warning if there was a change of plan? We're still lacking useful documentation on OLE in the shell - is there any"?

    "OLE Forms are a counterpart to OLE controls and a cornerstone of the Cairo user interface architecture. We were recently informed by a Microsoft employee that responsibility for development of this operating system feature has been transfered to the Microsoft Office applications group."

    "I'd be glad to help tilt lotus into into the death spiral
    "

  84. DSS/F by Anonymous Coward · · Score: 0

    Well over 20 years ago I used a spreadsheet called DFF/F that used Pascal to create the spreadsheet.

    It was a goal-seeking spreadsheet when Lotus-123 and Visi-Calc ruled.

    Does anybody remember it?

  85. Origin by barlevg · · Score: 1

    http://www.originlab.com/

    It's Windows only, but it plays well with Wine. Makes beautiful plots. AND can be scripted for in both a BASIC-like language and what they call "Origin C."

  86. Google Docs Spreadsheet by Anonymous Coward · · Score: 0

    Just use a Google Docs spreadsheet with their macro system, which is just javascript. Easy.

  87. XESS? by Nefarious+Wheel · · Score: 1
    --
    Do not mock my vision of impractical footwear
  88. Resolver One by Anonymous Coward · · Score: 0

    Maybe give Resolver One a try?

    http://www.resolversystems.com/

  89. What's wrong with average()? by gnu-sucks · · Score: 1

    So what's wrong with average()?

    It's a simple function call, the input is the data, the output is the average... if you were in C this would be a lot harder without some data formatting or in between functions.

    Excel's programming language is definitely not bad. There are plenty of things to not like about Excel, but the language isn't one.

    Try Matlab if you really need something more advanced, but don't count on loving the language if you hate Excel's...

  90. Resolver One by Anonymous Coward · · Score: 0

    Resolver One http://www.resolversystems.com/products/resolver-one/

    It's a spreadsheet completely programmable in Python. Actually, the spreadsheet front end actually generates python code for each of the cells on the fly as you manipulate it. So you could look at it as a rather odd Python IDE.

  91. Ridiculous. by Anonymous Coward · · Score: 0

    No solution based on a spreadsheet is going to be clean or elegant. What we have here is someone who doesn't understand that VBA is a perfectly serviceable language for any task likely to be dreamt up in a spreadsheet, starting with (if we are talking MS Office), first class support for COM, which python sucks at, btw.

    VBA is nothing more than a simplified, safe form of C with basic Object Oriented extensions. It has a very straightforward design that is fast, efficient and supports meaningful abstraction, encapsulation and polymorphism via interfaces. If you need something more complex (like advanced functionality found in C# or F#, for example) than dump the spreadsheet and get a real data model tier.

  92. Re:SIAG - Grid in a Browser by phasmal · · Score: 3, Interesting

    Similar concept, but the other end of the technological timeline is the ExtJs grid control (comes with some excellent docco)

    You pick up a whole lot of complexity with the ExtJs framework, but you can pretty much implement a whole spreadsheet on it (someone has!), and it's all with Javascript since it's in the browser...

    Might not be the same experience as local spreadsheets (no saving to a file :-( ), but it is extensible.

  93. Wrong question. by Jawnn · · Score: 1

    Better question: "Why are you trying to pound nails with a crescent wrench?"

  94. If C++ is a 'decent' programming language... by Anonymous Coward · · Score: 0

    ...you can extend Excel using their SDK. See http://xll.codeplex.com for the easiest way to do this.

  95. MicroCal Origin (Pro) by sazim · · Score: 1

    For all my scientific spreadsheeting purposes since 1995 or so, I have used Origin http://www.originlab.com/ . One problem is that it's only for MS Windows and doesn't run entirely correctly under Wine.

    Regarding in-built programming support, it started with a in-built interpreter for their own c-style scripting language "LabTalk" (it is still present in the Origin), but they now also implement a c-compiler of some sort (which I don't use much).

    I have found that it is very much a case of "the correct tool for the job". Origin is absolutely brilliant for processing large datasets and the graphing is fast and intuitive, but it is terrible for doing business-style spreadsheeting (such as storing student grades etc), for which I use LibreOffice or MS Excel.

    --
    "Those who don't believe in magic will never find it." - Roald Dahl
  96. Libre/Open office is programmable in Python by ajedgar · · Score: 1

    According to the feature comparison page LibreOffice has bindings for multiple languages including: LibreOffice Basic, JavaScript, BeanShell and Python.

  97. Actually Excel won due to dirty tricks by Anonymous Coward · · Score: 0

    Excel won because Microsoft played dirty with Lotus.

    DOS version of Lotus 123 was far superior to MS Excel.

    Microsoft used its inside knowledge of windows to kick Lotus out of business - very common strategy of Microsoft.

    When Windows came Excel was working on them while Lotus had troubles for almost a year.
    This + aggressive pricing killed Lotus 123.

  98. LibreOffice API by jraff2 · · Score: 1

    The LibreOffice API allow many languages http://api.libreoffice.org/

  99. Re:Build Excel Plugins using Visual c++ by Anonymous Coward · · Score: 1

    You can build Excel Plugins using C++, XLL (excel loadable library) or XLAM (excel Add-In module)
    Alternatively you can leverage Web apps (javascript) and SQL to create complex spreadsheets.

  100. ironspread? by Anonymous Coward · · Score: 0

    wow, noone has mentioned this yet. excel is great (as are all modern spreadsheets); the argument is the macro language. But what if there is an alternative to vba?

    1. Re:ironspread? by Yesfan001 · · Score: 1

      Hi. When I Googled for "ironspread", Google came back with "DataNitro". Apparently, the company changed their name to DataNitro at some point in 2012.

      I looked at the DataNitro website and the tool looks interesting. Thanks for mentioning this.

      (I have no mod points currently, or I would mod your post up)

  101. Analyrim by Anonymous Coward · · Score: 0

    Analyrim has ability to do programs in each cell, many addons. However it was designed for terminals. The linux
    version (curses) can be tried (www.gce.com). You start by compiling source...
    It includes a relational (but non-sql) dbms. Since it was designed from scratch it is a bit different
    from others. Versions for sunos, msdos, amigados, linux, vms, rsx11m, exist. There are many addressing modes for
    cells.

  102. Excel 2013 supports Javascript by Anonymous Coward · · Score: 0

    You can get all the details here http://msdn.microsoft.com/library/office/apps/jj220082(v=office.15) but older version had support for C# if you used Visual Studio Tools for Office.

  103. Google Sheets in Python with GSpread by andmalc7686 · · Score: 1

    I'm surprised no one's mentioned Google Apps Script which is basically JavaScript and can script all the Google Docs apps plus other stuff, but even better for the Sheets app use Python with GSpread: http://burnash.github.com/gspread/

  104. Re:Build Excel Plugins using Visual c++ by Anonymous Coward · · Score: 0

    Alternatively you can leverage

    Who the hell talks like this? This sounds straight out of a marketroid brochure. I mean, maybe you have a point, but how is that phrase not worse than "Or you can use" or something like that?

  105. scipy+numpy by Anonymous Coward · · Score: 0

    I always found python and scipy/numpy very efficient and flexible for matrix manipulations (and that's what most spreadsheet operations are, right?).
    So unlike you have some numerical functions and re-invent a language around it, you start with the complete proper language and just add the numerical stuff.

  106. Any language? by Anonymous Coward · · Score: 0

    Unless something has changed you can program Excel from any language that supports microsoft's windows scripting host system. I've written scripts to control Excel in both perl and python

    http://en.wikipedia.org/wiki/Windows_Script_Host

  107. Microsoft Excel by Anonymous Coward · · Score: 0

    You can use C++ in Microsoft Excel. You'll need an external compiler though.

  108. OP is trying to be too edgy by Anonymous Coward · · Score: 0

    First, VBA is BASIC with some additional features, extremely simplified, and well documented. You are likely trying to use python or something in unneeded situations or what you're doing is too complex for excel. Stop.

    There are well documented wrappers for C, C++, and C# among many other languages for VBA. You should be able to accomplish a lot with that. You can build out custom formulas. Between the latter feature and C/C++ you should be fine. There are decent libraries for SAS which can model anything you can think of (as well as communicate with SAS graphs among other features - not a big SAS guy).

    You can create nearly anything with a core VBA solution given the amount of open source solutions. R is sweet depending on what you are doing. More details would help decide if you are overreacting to VBA or truly need to go in a different direction

  109. Simply don't by Casandro · · Score: 1

    Spreadsheets were just a solution for people who couldn't program. If you want to have a grid of input fields and program around it, look for Lazarus. It's a rapid development environment primarily aimed at GUI applications. It's platform independent so you can compile (and I mean compile to native machine code!) to the usual platforms like Linux, MacOSX and even Windows. Apparently it even works for Android and Windows CE, but I haven't tried that yet.

  110. Python works with Excel, and OpenOffice by Anonymous Coward · · Score: 0

    With Excel you would use either the native Windows COM interface to Excel or on Linux, use one of the two Python libraries that read and write Excel spreadsheets. With Open Office and offshoots like LibreOffice you can integrate Python into the application in a similar way to VBA but still have all the power of Python and its massive collection of libraries at your disposal.

    But there is even a better way. Get Resolver ONE for Windows and delete Excel. Use it just like Excel to build a worksheet through the GUI, and then when you open the scripting facility, SURPRISE!, While you have been building the spreadsheet, Resolver ONE has been turning it into Python code which you can now modify and extend. And, of course, debug, if your calculations aren't coming out right. And since the whole spreadsheet has turned into a Python app, you can also write Unit tests and prove that it is correct, and that it stays correct whenever it is modified or extended.

    Excel is so old school.

  111. java too by SgtChaireBourne · · Score: 1

    You're right, the documentation for python or javascript macros in LibreOffice or OpenOffice.org are quite poor. Basically it's missing, and for such a sought after feature, this is quite a problem. Also missing are the docs for using java macros. I'm not sure what else LO and OOo can support, there might be more, but even these three are a major advantage that could use publicity.

    --
    Beta is broken and the link to classic doesn't work. Stop wasting our time or there won't be anybody left here.
  112. Excel and C by Anonymous Coward · · Score: 0

    It should be possible to program in C in Excel. I haven't tried but I've heard it can be done. Just look around. If it can be done, there's bound to be information about it.

  113. Visual dataflow programming by Anonymous Coward · · Score: 0

    A rather unorthodox approach for adventurous minds: ANKHOR FlowSheet

    It is a kind of "LabVIEW" tailored to business problems and processing table based data. In a blog article these guys talk about how they tried to solve the main problems of spreadsheets (difficult inspection, inflexibility, limited reuse, limited scalability and difficult deployment) using visual dataflow programming.

  114. With R you need a spreadsheet to do what R doesn't by golodh · · Score: 3, Interesting
    An enthusiastic and experienced R user myself, I use a speadsheet (like Excel or Calc) to do what R simply oesn't do as well or as easily or as quickly.

    Like when I want to actually look at my data in column format (scrolling, frozen panes, column hiding, conditional cell colouring anyone?). Or when I need to edit it (e.g. convert ascii strings to something numeric using search/replace). Or when I want to do a quick interactive pivot table. Or a quick sum or count. Or when I want to try out one or two formulas or expressions before I start coding them. O r when I just need a small table to look good for insertion into a document (the best Latex table editors that I know are plug-ins for Excel or Calc: format in spreadsheet, push button, copy-paste Latex code; works every time).

    Of course it's possible to do most of those things in R too, if your time time has no value and if you love writing one-off code. I prefer to select the best tool for the job, and use that. Even if that sometimes means using VBA.

    Interestingly I find myself using RExcel (integrating R and Excel) sometimes.

    Most of the time however I have no time for zealots who tell me that I don't need X,Y, or Z because I supposedly can make do with A,B, or C too. They can e entertaining though, as long as you recognise them for what they are: rants from zealots.

  115. Resolver One by szumo · · Score: 1

    Have you looked at Resolver One ( http://www.resolversystems.com/products/resolver-one/ ) - it lets you program in Python.

  116. Google Spreadsheet by Anonymous Coward · · Score: 0

    When you create a Google Spreadsheet you can create macro's (App Script) in javascript. You can even share or reuse other macro's from other people. It does have the AVERAGE() function as it mimics Microsoft Excel... but also adds lots of other functions specific to Google products.

  117. Re:Build Excel Plugins using Visual c++ by Anonymous Coward · · Score: 0

    Just wanted to say something positive about this comment. One great thing about Excel add-ins is that they get you a front row seat with business people (the ones writing the checks for your progamming skills). It is difficult to get them to provide decent specs for what they want, often they don't know exactly what they want, but if you give them an Excel add-in they will look at it and tell you "this is right", "that is wrong", "and, oh yeah, I forgot to tell you I wanted X". You can keep pushing the business logic into platform independent C++ that gives the correct results. When they need those numbers in a production system, you can give them the C++ library to link to. (People will pay more for that!) Calling C++ from just about any language is straightforward.

    The most difficult problem to solve is usually just figuring out what the heck the business line needs/will pay for.

    A great tool for creating old school xll's is http://xll.codeplex.com. Super easy to use and also generates documentation integrated with Excel.

  118. Python is better by ajyand · · Score: 1

    I think Python and Javascript are neater than Perl for light non-programmer scripting.

  119. What's wrong with Excel? by Vrtigo1 · · Score: 1

    You made some vague comment about not liking VBA, but really what's wrong with it? Excel has great support for interoperability with the rest of the MS stack, and most 3rd party software can export to Excel format. VBA is also quite powerful. It sounds like perhaps you're saying you don't know VBA and want someone to create an Excel with perl instead of VBA so you don't have to learn VBA.

  120. Perl Win32, fyi by ThePhilips · · Score: 1

    Perl or even javascript would be better options than =AVERAGE(). Do you know any viable alternatives?

    Not precisely what you are after, but Perl on Windows supports OLE/etc and allows you to connect and control the Office applications. (I played around only with the Outlook.) One can add a macro button to the Excel UI to call a script on the document.

    Simply google for "perl win32 excel".

    --
    All hope abandon ye who enter here.
  121. How about the other way around ? by D-Duff · · Score: 1

    The way I tried to solve this is to make a tool to program objects with spreadsheet styled rules in java that just execute themselves when they need to.
    http://deduced.org/

  122. change of scope by gzuckier · · Score: 1

    Look at it this way; Excel is by a zillion miles the most successful object oriented programming language ever.

    --
    Star Trek transporters are just 3d printers.
  123. Modelâ"viewâ"controller by NewYork · · Score: 1

    I believe they wanted to use spreadsheet as
    https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

  124. C/C++ using dlls in excel by soldack · · Score: 1

    You can have excel load dll functions. I wrote financial add-ins using this technique with all the real code in c++ with c wrapper exports. The vba was just a bit of glue code.

    --
    -- soldack
  125. Try taking the solution from the other end by jetole · · Score: 1

    I have and I know many of my co-workers and friends have, over the years, gone from working with the data sets via a programming language and a RDBMS and exported the result sets into a spreadsheet format. I don't know if this applies to your question but think about it, if your problems are the lack of programability in a spread sheet then why not take it from the other end and go straight to programming and export your final set into a spreadsheet. You can create an excel spreadsheet from just about any common language these days whether it be VB, C, Perl, Python, Java, PHP, etc. I'm pretty sure you can import from a Excel spreadsheet from all of those same languages as well if that's where you need to import your original data from.