views:

250

answers:

5

A former co-worker left us with thousands of lines of code looking like this. This is more a curiosity, since I rewrote everything he did in less obscure languages :-)

Nevertheless I'm curious. Is this meta-code or an actual language?

  DATA DIVISION.

   WORKING-STORAGE SECTION.

   78  dialog-system               VALUE "DIV".

   01 Display-Error.
      03 Display-Error-No             PIC 9(4) comp-5.
      03 Display-Details-1            PIC 9(4) comp-5.
      03 Display-Details-2            PIC 9(4) comp-5.
          05 Display-Details-3            PIC 9(4) comp-5.


   COPY "DS-CNTRL.MF".
   COPY "ThisApp.txt".


   PROCEDURE DIVISION.

  *---------------------------------------------------------------*

   Main-Process SECTION.
      PERFORM Program-Initialize
      PERFORM Program-Body UNTIL EXIT-FLAG-TRUE
      PERFORM Program-Terminate
      .

  *---------------------------------------------------------------*

   Program-Initialize SECTION.

      INITIALIZE Ds-Control-Block
      INITIALIZE Data-block
      MOVE Data-block-version-no
                               TO Ds-Data-Block-Version-No
      MOVE Version-no TO Ds-Version-No

      MOVE Ds-New-Set TO Ds-Control
      MOVE "MyApp" TO Ds-Set-Name

      .

  *---------------------------------------------------------------*

   Program-Body SECTION.

      PERFORM Call-Dialog-System
      .

  *---------------------------------------------------------------*

   Program-Terminate SECTION.

      STOP RUN
      .

  *---------------------------------------------------------------*

   Call-Dialog-System SECTION.

      CALL dialog-system USING Ds-Control-Block,
                               Data-Block
      IF NOT Ds-No-Error
          MOVE Ds-System-Error TO Display-error
          DISPLAY "DS ERROR NO:   "  Display-error-no
          DISPLAY "Error Details(1) :   "  Display-Details-1
          DISPLAY "Error Details(2) :   "  Display-Details-2
          DISPLAY "Error Details(3) :   "  Display-Details-3
          PERFORM Program-Terminate
      END-IF
+15  A: 

That's COBOL! http://en.wikipedia.org/wiki/Cobol

dwo
I thought COBOL was supposed to be readable?
skaffman
I think this is as readable as a programming language can get. More than "MOVE x TO Y" isn't possible.
dwo
+3  A: 

That's Cobol Keyword list at this site helped to identify it.

NeilInglis
+2  A: 

I can't be completely certain, but it looks like COBOL.

Jeff Hornby
+5  A: 

Definitely COBOL. Not really obscure as such just something that you hadn't seen before.

Also you have my sympathies for having to have read it.

Richard Harrison
Thank you for the sympathies :-)
Thrawn
+4  A: 

Sadly I knew it was COBOL instantly, thanks to the useless college courses I took on it in 2001. Even more sadly this is literally the first time I used those skills.

thekaido
+1, except it was 1985 when I had the useless college course, and I think this is the second time I've used those skills (the 1st was for an assignment for another college course).
GreenMatt