COBOL turned 50 a few years ago, and today is the birthday of the only person I know who programs in COBOL. So, here’s a COBOL program, because I get really easily distracted.
* Wish Bill a Happy Birthday if it's 05-06
* Wish COBOL a Happy Birthday if it's 05-28.
* Tell us how old COBOL is now (full years only)
* Works for other people who share the same birthday, of course.
IDENTIFICATION DIVISION.
PROGRAM-ID. BillsBirthday.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 TODAY.
02 YYYY PIC 9(4).
02 MMDD PIC 9(4).
01 BILLBDAY.
02 YYYY PIC 9(4).
02 MMDD PIC 9(4) VALUE "0506".
01 COBOLBDAY.
02 YYYY PIC 9(4) VALUE "1959".
02 MMDD PIC 9(4) VALUE "0528".
01 AGE PIC ZZ9.
PROCEDURE DIVISION.
MOVE FUNCTION CURRENT-DATE TO TODAY.
IF MMDD OF COBOLBDAY <= MMDD OF TODAY THEN
COMPUTE AGE = YYYY OF TODAY - YYYY OF COBOLBDAY
ELSE
COMPUTE AGE = YYYY OF TODAY - YYYY OF COBOLBDAY - 1
END-IF.
DISPLAY "COBOL has been around for " AGE " years."
IF MMDD OF COBOLBDAY IS = MMDD OF TODAY THEN
DISPLAY "Happy Birthday, COBOL!"
END-IF.
IF MMDD OF BILLBDAY IS = MMDD OF TODAY THEN
DISPLAY "Happy Birthday, Bill!"
END-IF.
STOP RUN.
To try it out, see opencobol.org