LIFO stacks, also known as "push down" stacks, are the conceptually simplest way of saving information in a temporary storage location for such common computer operations as mathematical expression evaluation and recursive subroutine calling.
It's a book about stacks, and he couldn't even provide a satisfactory definition of stacks. Here are the logical problems with his definition:
He doesn't even try to define a stack, he starts by defining a "LIFO stack".
He doesn't say what it is, he says that it is the best way of doing fubar.
This fubar that he claims LIFO stacks are best at, is only a tiny example of what stacks are good for.
However the most frustrating lack of a definition I have found is in the most recent book purchase I made, Types and Programming Languages by Benjamin Pierce. This guy is quoted left, right and center to me by various "type theorists", but he fails to define in his $70 book what a "type" is. Instead he defines what a "type system" is. How can you define a system of fubar, without defining the fubar? I find that unacceptable. I demand that computer science authors and scientists define their terms clearly and unequivocally.
I am not sure what motivates this failure to define things, but I suspect it may be fear. If we define something, then somebody else can come along and actually prove us wrong, but if we done't define something then we can always modify our definitions as we go.
Have an opinion?
Readers have already posted
about this weblog entry. Why not
If you'd like to be notified whenever Christopher Diggins adds a new entry to his weblog, subscribe to his RSS feed.
Christopher Diggins is a software developer and freelance writer. Christopher loves programming, but is eternally frustrated by the shortcomings of modern programming languages. As would any reasonable person in his shoes, he decided to quit his day job to write his own ( www.heron-language.com ). Christopher is the co-author of the C++ Cookbook from O'Reilly. Christopher can be reached through his home page at www.cdiggins.com.