The Artima Developer Community
Sponsored Link

Heron-Centric: Ruminations of a Language Designer
Authors and Computer Scientists Scared of Definitions?
by Christopher Diggins
September 7, 2006
Have you ever noticed how most text when discussing computer sciences concepts fails miserably to properly define the terms they discuss?


I am always frustrated by how hard it is to find good definitions for concepts in computer science. Is is because people are too scared to commit to a single definition? Is it because it's too hard?

Here is the most recent example I came across from Stack Computers the New Wave, an old textbook online about stacks:


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: 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.

Talk Back!

Have an opinion? Readers have already posted 53 comments about this weblog entry. Why not add yours?

RSS Feed

If you'd like to be notified whenever Christopher Diggins adds a new entry to his weblog, subscribe to his RSS feed.

About the Blogger

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 ( ). Christopher is the co-author of the C++ Cookbook from O'Reilly. Christopher can be reached through his home page at

This weblog entry is Copyright © 2006 Christopher Diggins. All rights reserved.

Sponsored Links


Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use