It is easy to make positioning errors when moving to
spreadsheet cells.
MM lets you use names in place of cell references.
Alphanumeric cell names are not easy to remember. Named variables,
like in programming languages, would be better.
MM lets you use names in place of cell references.
Spreadsheets do not check for cells that are used but never set,
or set but never used.
The MM compiler can check for these.
Spreadsheets do not check for dimensional errors, such as
multiplying money by money, or adding money to interest rates.
The MM compiler can check for these.
There is nowhere to put large amounts of program
documentation. Contrast with programming languages, which have
comment statements.
MM lets you use comments.
To reuse code, you need to cut and paste to move it from one
sheet to another. Tedious, error-prone, you may forget to change
absolute cell references.
MM uses inheritance to let you build up libraries of
common objects.
The structure of large models is not obvious. Some models
are very big: Personal Computer World May 1995 cites
an oil business model with 80 linked worksheets totalling
120 MB.
As well as inheritance and comments, MM's structuring
facilities let you see the structure of a program at a glance.
Spreadsheets are easy to start with. They tempt users to
build ever bigger and bigger models, but don't provide the
structuring tools these models need.
As well as inheritance and comments, MM's structuring
facilities let you see the structure of a program at a glance.
It is common practice to generate spreadsheets by Visual
Basic programs. To understand such models, you need to read a
program that generates another program. This is not easy.
In MM, you just write the formulae directly.