Slashdot Mirror


30th Anniversary of the (No Good) Spreadsheet

theodp writes "PC Magazine's John C. Dvorak offers his curmudgeonly take on the 30th anniversary of the spreadsheet, which Dvorak blames for elevating once lowly bean counters to the executive suite and enabling them to make some truly horrible decisions. But even if you believe that VisiCalc was the root-of-all-evil, as Dvorak claims, your geek side still has to admire it for the programming tour-de-force that it was, implemented in 32KB memory using the look-Ma-no-multiply-or-divide instruction set of the 1MHz 8-bit 6502 processor that powered the Apple II." On the brighter side, one of my favorite things about Visicalc is the widely repeated story that it was snuck into businesses on Apple machines bought under the guise of word processors, but covertly used for accounting instead.

24 of 407 comments (clear)

  1. What if... by DSmith1974 · · Score: 5, Insightful

    ...John C. Dvorak were no longer paid to write lame articles?

    --
    It is not immoral to create the human species - with or without ceremony, Samuel Clemens.
  2. Don't Follow the Link by twmcneil · · Score: 5, Informative

    The only way to get rid of Dvorak is to deny him him the clicks. Don't follow the link.

    --
    "The ferrets, they're every where I tell you!"
    1. Re:Don't Follow the Link by RandoX · · Score: 5, Funny

      Not true, start tagging the story diedvorakdie or ohnoitsdvorak.

  3. Re:Loooooong time by morgan_greywolf · · Score: 5, Funny

    I think spreadsheets evolved almost zero in the last 30 years. Word processing got fonts, colors... Excel is just VisiCalc with buttons.

    Wrong. In the last 30 years, they've added everything from statistical functions, to greater programmability to data mining functions. Integration with SQL databases. Desktop publishing features.

    And not to mention the most important advance in spreadsheets in 30 years.

    Yep, that's right. Clippy!

    *ducking*

  4. Re:Why use MUL/DIV by larry+bagina · · Score: 5, Informative

    6502 doesn't have jle. It has bcs (branch carry set/greater or equal) and bcc (branch carry clear/less than).

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  5. Cannot believe I am saying this... by DrWho520 · · Score: 5, Insightful

    ...Dvorak blames for elevating once lowly bean counters to the executive suite and enabling them to make some truly horrible decisions. even if you believe that VisiCalc was the root-of-all-evil, as Dvorak claims...

    That which infuriates me the most about the tech sector is corporate executives building wealth upon the backs of laboring engineers. I have yet to receive an explanation as to why some VP somewhere gets to make ten times as much myself. When the company is not making record profits, it is an engineering problem. When we are raking in the dough, it is an executive success. No one ever looks to see how difficult the problem is because, they cannot fathom the problem being solved. My first day at orientation, you could tell the engineers from the financial analysts. We were in Dockers and collars and they were in three piece suits. Where did we go so wrong that support staff are the ones elevated to executive positions? Why is balancing a checkbook a more executive skill than writing the tool that tool used to balance the checkbook?!?

    This only thing that disgusts me more is sharing a sentiment with Dvorak.

    --
    The cancel button is your friend. Do not hesitate to use it.
    1. Re:Cannot believe I am saying this... by flyingfsck · · Score: 5, Insightful

      One day when you try to run your own company, you'll realize the problem with what you said above. The fact is that trying to find financing and projects to execute, in order to keep 500 engineers busy, really ain't easy.

      --
      Excuse me, but please get off my Pennisetum Clandestinum, eh!
    2. Re:Cannot believe I am saying this... by Anonymous Coward · · Score: 5, Insightful

      Joel Spolsky once wrote:

      Programmers need a Subversion repository. Getting a Subversion repository means you need a network, and a server, which has to be bought, installed, backed up, and provisioned with uninterruptible power, and that server generates a lot of heat, which means it need to be in a room with an extra air conditioner, and that air conditioner needs access to the outside of the building, which means installing an 80 pound fan unit on the wall outside the building, which makes the building owners nervous, so they need to bring their engineer around, to negotiate where the air conditioner unit will go (decision: on the outside wall, up here on the 18th floor, at the most inconvenient place possible), and the building gets their lawyers involved, because we're going to have to sign away our firstborn to be allowed to do this, and then the air conditioning installer guys show up with rigging gear that wouldn't be out of place in a Barbie play-set, which makes our construction foreman nervous, and he doesn't allow them to climb out of the 18th floor window in a Mattel harness made out of 1/2" pink plastic, I swear to God it could be Disco Barbie's belt, and somebody has to call the building agent again and see why the hell they suddenly realized, 12 weeks into a construction project, that another contract amendment is going to be needed for this goddamned air conditioner that they knew about before Christmas and they only just figured it out, and if your programmers even spend one minute thinking about this that's one minute too many.

      To the software developers on your team, this all needs to be abstracted away as typing "svn commit" on the command line.

      That's why you have management.

  6. Re:What if... by Rogerborg · · Score: 5, Insightful

    Then we'd go back to making decisions based on gut instinct, rather than what we do now: have beancounters revise their assumptions until the spreadsheet confirms our gut instinct.

    --
    If you were blocking sigs, you wouldn't have to read this.
  7. Re:What if... by morgan_greywolf · · Score: 5, Funny

    It would be necessary for good journalists to create him?

    (Sorry, Voltaire)

  8. bad analogy - think crank by Reality+Master+201 · · Score: 5, Insightful

    Spreadsheets aren't like guns, they're like methamphetamine.

    It starts out innocently enough - a couple sheets here or there - maybe a long weekend working out a household budget. It's all good fun. By the time you realize a problem, though, you're hitting the 65k row limit. You're writing VBA and macros, you're embedding external data sources - and haven't backed up your work for days. It drives you insane and causes brain damage.

    Just say no to spreadsheets.

    1. Re:bad analogy - think crank by hazem · · Score: 5, Insightful

      we could have automated the process... However, rather than work with us...

      I used to work in IT and now I'm a "business user" and I'm all for getting IT to simplify, automate, and improve processes.

      However, what starts as a simple request to automate some simple but tedious task, or provide a way to link 2 sets of data ends up being treated like a multi-million dollar project that will need a team of 10 people 6 months and many hours of meetings (all charged to my budget) to put together a feasibility study, which will then be put into a queue where it will be evaluated next fiscal year by the prioritization committee, which, if approved (and it won't because there's a huge project consuming ALL discretionary IT resources) will still take another year and a half to design, test, QA, and deploy.

      So instead of doing that, I spend a couple hours to write, test, and document some little Excel/VBA tool or some simple Access import-query-export solution that easily solves the problem, saving my employees loads of time (while typically improving their accuracy as tedious, manual tasks are often error-prone themselves) so they can focus on things like running the business.

      As I said, I'd love to have IT solve these little problems because they are so often "low hanging fruit" that should take very little effort to do while saving many hours of work. But we always get told, "No", "Next Year", or "We'll need to conduct a study", when if they had just sent a low-level coder over to work for a couple hours it would have been done before I could schedule a meeting with all the "stakeholders" who would be conducting the study.

      Having been in IT, I understand completely how bothersome it is to deal with things when the users go rogue - but if IT is unresponsive or provides no other alternative, then that is exactly what what they'll do.

  9. Re:Why use MUL/DIV by Alioth · · Score: 5, Interesting

    You can do floating point in software, it was done all the time in the 8 bit days, in fact it was done all the time right the way into the 486 days (the 486sx, IIRC, lacked an FPU). It's just not all that fast. But for the size of spreadsheet you could make on a 32K RAM system, the speed of the floating point calculator probably wasn't much of a factor. It wouldn't surprise me if the spreadsheet authors used the BASIC ROM's floating point routine, if it has one (I have no experience with the 8 bit Apple machines. The 8 bit stuff I do play with, like the Sinclair Spectrum and BBC Micro, have floating point calculator routines you can call).

  10. Re:Wow by R2.0 · · Score: 5, Funny

    "Its easier to blame the messenger, didn't you get the memo?"

    Actually, I do blame Messenger for some problems.

    --
    "As God is my witness, I thought turkeys could fly." A. Carlson
  11. Re:What if... by jacksonj04 · · Score: 5, Insightful

    People would stop combining it with godawful macros in an attempt to cobble together a slow and inefficient relational database with no sensible query or reporting tools and use a real RDBM instead.

    --
    How many people can read hex if only you and dead people can read hex?
  12. Tooting my own horn... by SpinyNorman · · Score: 5, Interesting

    Speaking of 6502 programming feats, back in 1982 I worked for Acorn computers in the UK, writing software for the 2MHz 6502 based BBC microcomputer, which incidently we also used as our development machines. The BBC micro had 16K of ROM for the built-in BASIC interpreter and low level "OS", another 16K of address space into which you could map any one (at a time) of the other 16K software ROMs in that machine, and 16K or 32K of RAM depending on the model. Much software was sold on ROM - there were four sockets built-in or you could get expansion boards to allow more - but only one at a time could be selected since there was only 16K of address space for these.

    One project I did at Acorn (with another guy) was to implement a Pascal development system for the BBC micro that we crammed into two of these add-in 16K ROMs. This was no cut down version - is was a full-blown ISO certified version of Pascal, the first ever implementation for a Microcomputer to implement the standard and achieve ISO certification (ISO Pascal is different from P-system Pascal which had preceded it).

    So, what we fitted into 32K was:

    - An ISO Pascal compiler, which compiled programs down to a P-code like stack-based virtual instruction set
    - A virtual machine/interpreter for the instruction set
    - A 6502 machine code relocator
    - The complete Pascal run-time library (full floating point, IO library, heap, etc)
    - A full-featured full-screen editor with regex find/replace (with as-you-type syntax parsing and highlighting), block copy/move/delete, etc (in only 4K of code)
    - Command line interpreter

    Now bear in mind that only 16K of this could actually be in the address space at one time...

    The way we managed to squeeze all this in was to have the compiler in one 16K ROM, and the rest in the other. The compiler was written in ISO Pascal and self-compiled to our virtual instruction set. We had to add a few "macro" instructions especially for the compiler in order to get it under the 16K limit. The rest of the software (which I wrote) was all in 6502 assembler. Now consider that to run the compiler you also needed the virtual machine, but that was in a different ROM which could only be mapped into the same address space as the compiler (hence replacing it)... What I did was organize the VM/interpreter into pure code, pure data, and relocatable data (address tables), and implement a 6502 machine code relocator (recognize each instruction type, and know how many byyes they were, and whether they had an address component that needed relocating) which copied the VM out into RAM therefore allowing it to co-reside in the address space with the compiler.

    It was a very fun project, not only because of the technical challenge (this was my first job out of college), but also very much because of the memory constraint. I had to use every 6502 trick in the book to eliminate every spare byte to squeeze the assember half of it into it's 16K ROM. Those from this generation may remember things like using XOR A, A as an alternative to LD A, 0 to save a byte, changing tail recursion/calls to jumps (JSR subroutine, RET -> JMP subroutine), taking advantage f known processor flag state to use 2 byte "conditional" (but not if you know the state) branches in place of 3 byte absolute jumps, etc, etc.

    Toot toot!

  13. Re:Wow by Rob+the+Bold · · Score: 5, Interesting

    Dvorak is an idiot. To use the old adage: "Guns don't kill people. People kill people."

    If a bank trusts a spreadsheet based on a bad formula that is provided by the bank itself, is it the spreadsheet's fault? If the CEO chooses that saving 1 cent a year by outsourcing the call center to India, is that the spreadsheet's fault? Please.

    There's a lot worser things than people using spreadsheet formulas. For instance, people not using them. Have you ever watched someone with no accounting or technical knowledge enter a bunch of figures in a spreadsheet then turn to the desk calculator to sum them up, turn back to the computer and key in the result? That's almost as bad as how somehow "worser" got into my spell-check dictionary and now I can type it without complaint!

    --
    I am not a crackpot.
  14. Re:Loooooong time by mgiuca · · Score: 5, Funny

    It looks like you are trying to make a standard Slashdot joke at Clippy's expense.

    Would you like help?

  15. MBA mentality by klausboop · · Score: 5, Interesting

    I think that Dvorak is putting too much blame on the spreadsheet: it was just an accelerant on an already-burning fire. As Frank Zappa said when asked, "What do you think happened in this country?"

    Well, two important things, and each one of them has only three letters: One was LSD...and the other is MBA. When people started taking MBA seriously, that was the beginning of the ruination of the American industrial society. When all decisions are based on an MBA's concept of numerical reality, you're in deep , because the only thing that can be judged as real is that which can be proved by a column of figures. And when all aesthetic decisions are turned over to these kinds of people, who use these criteria to make steering decisions for a company with no regard for people and no regard for what the product really is, and the only thing that matters is maximizing your profit, you have a problem. Because you can't have quality then; you cannot have excellence. Quality's expensive. I think most of these people that come from business schools have the desire to make sure everything is cheesy. That's what happens when you do things that way.

    --
    Some of you already have those cute little shirts on that say disco sucks, right? That's not all that sucks.-Frank Zappa
  16. Re:What if... by westlake · · Score: 5, Insightful
    Millions of secretaries -- I mean Admin Assistants -- would have to type department phone lists with word processors.

    This is funny.

    But it cuts close to the truth.

    Spreadsheet planning wasn't the novelty.

    The novelty was that plans could be updated instantaneously - without employing hundreds of clerics and dozens of machines to make it happen.

  17. It's the user not the tools by sjbe · · Score: 5, Interesting

    Dvorak doesn't even know the difference between finance and accounting. Accountants don't really spend a lot of time with spreadsheets. I know because I am a certified accountant myself. Spreadsheets are used far more by finance analysts. Accountants track what happened in the past much like a secretary keeps minutes of a meeting. Finance analysts try to predict what will happen in the future and their main tool is the spreadsheet. These are not normally the same person though there obviously is overlap. Anyone who actually knows anything about business understands the difference but apparently Dvorak is not among them.

    Dvorak blames for elevating once lowly bean counters to the executive suite and enabling them to make some truly horrible decisions

    Right, because no one ever made horrible business decisions before the spreadsheet. Sigh... Used properly, spreadsheets let us make more informed, rational decisions instead of shooting from the hip. Modern finance would literally be impossible without spreadsheets or something very much like them. Ever tried to manage a company's books? Without spreadsheets and accounting software you need an army of workers to track the paperwork and calculate the numbers. Furthermore hand calculating results in errors and lots of them. Sure spreadsheets can be used badly like any other tool. They certainly are no magic cure-all for bad analysis and decision making. But that's the user not the tool.

    Dvorak asks in the article:

    How often in years pastâ"the pre-spreadsheet era, that isâ"did an accountant take over a company?

    Frequently. John D Rockefeller was an accountant before he was a titan of industry. There are countless other examples. Accounting is what allows managers of businesses to understand what is going on. Every business manager is by necessity an accountant to some degree. Without accounting they are no different than an airplane pilot without any instruments. It should surprise no one that the people who understand the cash flows best often rise to positions of control, including the role of CEO. A spreadsheet and other computerized tools simply make the job easier and more productive. Apparently Dvorak thinks we should rely on slide rules and multiplication tables and ledger books instead.

    Dvorak further asserts:

    Cars are shoddy, consumer goods are junk. Toxic substances are in the food supply. Lead is in toys. Most of what we buy is made cheaply elsewhere.

    Further evidence of Dvorak's stupidity.

    • Cars are better now than they ever have been by pretty much any objective measure you care to use. They're more reliable, the last longer, they perform better, they're more comfortable, etc. I know a lot of folks like classic cars for their styling and nostalgia but they were worse mechanically in most cases.
    • I have no idea what consumer goods he's referring to in particular. There have always been junky consumer goods and quality ones. Yes we have a more disposable approach these days (which isn't a good thing) but that doesn't mean the products are automatically junk. Some are, some are not.
    • Toxic substances have always been in the food supply but again we (in the US at least) have safer and more plentiful food today than at any time in history.
    • As for making stuff cheaply elsewhere, that has ALWAYS happened and always will. That's comparative advantage at work. The mere fact that something can be produced less expensively in one location than another says nothing automatically about its quality. It can be better or worse but that's due to other factors besides merely production location. Likewise cost varies because of any number of factors besides just quality. Cheaper does not automatically mean worse.
  18. Re:Loooooong time by Hal_Porter · · Score: 5, Informative

    Graphing. CEOs can't understand numbers, they make their brains run out their ears.

    Bleh. We are spatial, visual creatures by nature, graphs make complex and even simple representations of data much easier for everyone. Dunno, where exactly this whole mantra of it just being for stupid bosses came from when graphing functions were created for mathematicians.

    It's a very ancient meme. The Ancient Greeks and Romans had stock characters of the scheming slave manipulating their foolish masters. I suppose in many ways the readers of slashdot are the galley slaves of the modern world. Joking takes people's minds off the fact that being on call is the modern equivalent of being chained to an oar.

    --
    echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;