Programing Language Idiocy: Bit Operators

By Xah Lee. Date: .

in low level programing languages such as C, there is a idiocy: bit operators on integers. e.g.

& | <<

They are confounding of concepts. What should happen, is to have a bits type. So, if you want to do bits, “typecast” it (bits)345, and bit ya mom out.

Bit operator in programing languages is a low level phenomenon. It's a computer engineering side effect of low level language feature creeping up to high level languages.

other similar idiocy of C monkeys are bitmask used as function parameters.

[see Hack of Bitmask as Boolean Parameters]

And also the idiocy of using logic operator as control flow. This still persist to this day as fashionable style.

[see Abuse of Logic Operators (Short-Circuit) as Control Flow]

similar idiocy is language that does not have dedicated true/false values, but piggy back on integer 1, 0, empty string, empty list, etc.

a logical description of these problems is that, their computing model is sloppy, and or their computing model is skewed (not orthogonal).

the practical effect of these designs and practice is that, it creates confusion, complexity, unreadable, to all except the fan club boys of each.

Programing Language Design