DCL, or Digital Control Language, is the native scripting language of HP's OpenVMS operating system. It serves the same purpose as perl, c, tcl, etc... on *nix systems, although in a much more clumsy manner. While technically a Turing-complete programming language, DCL is terribly antiquated and cumbersome to use. It offers very little by way of features and has an irritating syntax.

Control structures are limited to IF THEN ELSE and GOTO. That's right, in 2005, a simple while loop has to be implemented with the GOTO statement. IF statements may exist on one line in the following format:

IF <condition> THEN <do this>

If-then-else statements look like this:

IF <condition>
THEN
  <do this>
ELSE
  <do that>
ENDIF

The GOTO statement must point to a LABEL. In order to declare a label, you simply type a string (no spaces) followed by a colon (i.e., THIS_IS_A_LABEL: ).

Each line in a DCL program must begin with a $. Comments are C++ style comments, in that they stretch from the comment indicator to the end of the line. A comment begins with a ! symbol (unless the ! is inside quotes, then it's part of the string). Any line that does not start with a $ is considered to be a data line, and can be handy when DCL programs are running in batch mode.

And without any further ado, Hello, World! in DCL because every programming language needs a Hello, World.

$!----------------------------------
$! 'Hello, World!', by jclast
$!
$   WRITE SYS$OUTPUT "Hello, World!"
$   EXIT
$!----------------------------------