Additional Topics > External Development Guide > External Development Overview > Interpreting Logical Boolean Values

# Interpreting Logical Boolean Values

IDL is written in the C programming language, so this section of the Help discusses C language functions and data structures from the IDL program. In this documentation, you will see references to logical (boolean) arguments and results referred to in any of the following forms: True, False, TRUE, FALSE, IDL_TRUE, IDL_FALSE, and possibly other permutations on these. In all cases, the meaning of true and false in this manual correspond to those of the C programming language:

A zero (0) value is interpreted as “false”, and a non-zero value is “true”.

When reading this manual, please be aware of the following points:

- Unless otherwise specified, the actual word used when discussing logical values is not important (i.e. true, True, TRUE, and IDL_TRUE) all mean the same thing.
- Internally, IDL uses the IDL_TRUE and IDL_FALSE macros described in Macros, for hard-wired logical constants. These macros have the values 1 and 0 respectively.
- We do not use the IDL_TRUE and IDL_FALSE convention in the text of this help because it would be unnecessarily awkward, preferring the more natural True/TRUE and False/FALSE.
- The convention for truth values in the IDL Language differ from those used in the C language. Please keep the language being used in mind when reading code to avoid drawing incorrect conclusions about its meaning.