{"id":42,"date":"2013-05-06T19:00:20","date_gmt":"2013-05-07T00:00:20","guid":{"rendered":"http:\/\/notnuke.com\/blog\/?p=42"},"modified":"2013-05-06T19:00:20","modified_gmt":"2013-05-07T00:00:20","slug":"happy-birthday-bill-in-cobol","status":"publish","type":"post","link":"https:\/\/www.notnuke.com\/blog\/2013\/05\/happy-birthday-bill-in-cobol\/","title":{"rendered":"Happy Birthday, Bill!  (in COBOL)"},"content":{"rendered":"<p>COBOL turned 50 a few years ago, and today is the birthday of the only person I know who programs in COBOL.\u00a0 So, here&#8217;s a COBOL program, because I get really easily distracted.<\/p>\n<pre>      * Wish Bill a Happy Birthday if it's 05-06\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 * Wish COBOL a Happy Birthday if it's 05-28.\r\n      * Tell us how old COBOL is now (full years only)\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 * Works for other people who share the same birthday, of course.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 IDENTIFICATION DIVISION.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PROGRAM-ID. BillsBirthday.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ENVIRONMENT DIVISION.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DATA DIVISION.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 WORKING-STORAGE SECTION.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 01\u00a0 TODAY.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 02\u00a0 YYYY\u00a0 PIC 9(4).\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 02\u00a0 MMDD\u00a0 PIC 9(4).\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 01\u00a0 BILLBDAY.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 02\u00a0 YYYY\u00a0 PIC 9(4).\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 02\u00a0 MMDD\u00a0 PIC 9(4) VALUE \"0506\".\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 01\u00a0 COBOLBDAY.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 02\u00a0 YYYY\u00a0 PIC 9(4) VALUE \"1959\".\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 02\u00a0 MMDD\u00a0 PIC 9(4) VALUE \"0528\".\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 01\u00a0 AGE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PIC ZZ9.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PROCEDURE DIVISION.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MOVE FUNCTION CURRENT-DATE TO TODAY.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 IF MMDD OF COBOLBDAY &lt;= MMDD OF TODAY THEN\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 COMPUTE AGE = YYYY OF TODAY - YYYY OF COBOLBDAY\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ELSE\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 COMPUTE AGE = YYYY OF TODAY - YYYY OF COBOLBDAY - 1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 END-IF.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DISPLAY \"COBOL has been around for \" AGE \" years.\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 IF MMDD OF COBOLBDAY IS = MMDD OF TODAY THEN\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DISPLAY \"Happy Birthday, COBOL!\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 END-IF.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 IF MMDD OF BILLBDAY IS = MMDD OF TODAY THEN\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DISPLAY \"Happy Birthday, Bill!\" \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 END-IF.\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 STOP RUN.<\/pre>\n<p>To try it out, see <a title=\"Open Cobol\" href=\"http:\/\/www.opencobol.org\/\" target=\"_blank\">opencobol.org<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>COBOL turned 50 a few years ago, and today is the birthday of the only person I know who programs in COBOL.\u00a0 So, here&#8217;s a COBOL program, because I get really easily distracted. * Wish Bill a Happy Birthday if &hellip; <a href=\"https:\/\/www.notnuke.com\/blog\/2013\/05\/happy-birthday-bill-in-cobol\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-42","post","type-post","status-publish","format-standard","hentry","category-tech"],"_links":{"self":[{"href":"https:\/\/www.notnuke.com\/blog\/wp-json\/wp\/v2\/posts\/42","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.notnuke.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.notnuke.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.notnuke.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.notnuke.com\/blog\/wp-json\/wp\/v2\/comments?post=42"}],"version-history":[{"count":2,"href":"https:\/\/www.notnuke.com\/blog\/wp-json\/wp\/v2\/posts\/42\/revisions"}],"predecessor-version":[{"id":44,"href":"https:\/\/www.notnuke.com\/blog\/wp-json\/wp\/v2\/posts\/42\/revisions\/44"}],"wp:attachment":[{"href":"https:\/\/www.notnuke.com\/blog\/wp-json\/wp\/v2\/media?parent=42"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.notnuke.com\/blog\/wp-json\/wp\/v2\/categories?post=42"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.notnuke.com\/blog\/wp-json\/wp\/v2\/tags?post=42"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}