Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does the default value of a boolean variable tend to be false? [closed]

As far as I'm aware, the default value of a boolean variable in C#, VB, Java and JavaScript is false (or perhaps "behaves like false" is more accurate in the case of JavaScript) and I'm sure there are many other languages in which this is the case.

I'm wondering why this is? Why do language designers pick false for the default? For numerical values, I can see that zero is a logical choice, but I don't see that false is any more a natural state than true.

And as an aside, are there any languages in which the default is true?

like image 750
batwad Avatar asked Nov 03 '22 07:11

batwad


1 Answers

From the semantic point of view, boolean values represent a condition or a state. Many languages assume, if not initialized, that the condition is not met (or such state is empty, or whatever). It serves like a flag. Think about it on the other way around. If the default value for a boolean is true, then the semantics of that language would tell you that any condition is initially satisfied, which is illogical.

From the practical point of view, programming languages often internally store boolean values as a bit (0 for false, 1 for true), so the same rules for numeric types apply to booleans in this case.

Java's default value for boolean instance variables is always false, but that doesn't apply for local variables, you're required to initialize it.

like image 107
Augusto Avatar answered Nov 29 '22 05:11

Augusto