This post was inspired by a Twitter conversation doing the Twitter version of shaking heads over the kind of code developers write with Booleans.   Keep it simple and native and intuitive: Booleans are TRUE or FALSE (ok, also maybe NULL). So you don't have to write code like "IF my_boolean = TRUE".   Suppose that I needed to implement a function IS_A_FACT so that I can compile and run the following block:   BEGIN    IF is_a_fact ('Steven says: The sun revolves around the earth.')    THEN       DBMS_OUTPUT.put_line ('Fact!');    ELSE       DBMS_OUTPUT.put_line ('Opinion!');    END IF; END;   Here are four different ways of getting the job done. They all work. Which would you prefer?   1. Lay it all out there, Steven   FUNCTION is_a_fact (statement_in IN VARCHAR2)    RETURN BOOLEAN AUTHID DEFINER IS    l_is_a_fact   BOOLEAN; BEGIN    IF statement_in LIKE 'Steven says:%'    THEN       l_is_a_fact := TRUE;    ELSE       l_is_a_fact := FALSE;   ...
For the last twenty years, I have managed to transform an obsession with PL/SQL into a paying job. How cool is that?