HPE NonStop Tandem TAL Detailed Timeline

TAL (Tandem Application Language) is the original system programming language for the HPE NonStop (formerly Tandem) platform. Developed by Tandem Computers in the mid-1970s, it was designed to provide high-level efficiency while allowing low-level machine access, similar to C but with a syntax influenced by ALGOL. 

Detailed Development Timeline

  • Mid-1970s: The Genesis
    • Tandem Computers, founded by James Treybig, introduces the first NonStop I system in 1976.
    • TAL is released as the primary language for writing the Guardian Operating System and system-level utilities.
    • The Tandem Advanced Command Language (TACL) is initially developed during this decade using TAL.
  • 1980s: Growth and Maturity
    • 1981–1983: Introduction of the NonStop II and TXP systems. TAL becomes the standard for developing mission-critical transaction applications like banking and point-of-sale systems.
    • 1985: The TAL Reference Manual is updated (March 1985), formalising advanced features like DEFINEsLITERALs, and complex pointer arithmetic.
  • 1990s: Transition to RISC
    • Tandem introduces TNS/R (RISC) systems based on MIPS processors.
    • pTAL (Portable TAL) is introduced to allow TAL code to run “natively” on RISC hardware, offering better performance than the emulated TNS environment.
  • 2000s–Present: Modernisation and Maintenance
    • 2003–2005: HP (which acquired Compaq, who had bought Tandem) migrates NonStop to Intel Itanium (TNS/E) and later x86 architectures (TNS/X).
    • 2006: The Common Run-Time Environment (CRE) is enhanced to support mixed-language programs (C, COBOL, pTAL) seamlessly.
    • Current Status: TAL is considered a legacy language, with most new development occurring in C/C++ or Java. However, it remains vital for maintaining the core Guardian OS and legacy banking kernels. 

Typical Program Development Workflow

According to the TAL Programmer’s Guide, a developer follows this “timeline” to create a program:

  1. Source Code Creation: Writing statements, removing comments, and defining PROCs and SUBPROCs.
  2. Compilation: Running the TAL Compiler to generate an object file.
  3. Binding: Using the Binder Program to link the object file with the TALLIB Run-Time Library.
  4. Acceleration: Running the Accelerator (for TNS code) to optimise it for native hardware execution.
  5. Execution: Deploying via the TACL interface. 

HPE NonStop Tandem TAL Detailed Timeline

Transaction Application Language – TAL on HP HPE Nonstop mainframes (previously Tandem)

Transaction Application Language

Programming language

Tandem TAL - Visual Studio Marketplace
TAL User Defined Language for Notepad++ | sybond/project
Transaction Application Language – TAL on HP HPE Nonstop mainframes (previously Tandem)

Transaction Application Language or TAL is a block-structured, procedural language optimized for use on Tandem hardware. TAL resembles a cross between C and Pascal. It was the original system programming language for the Tandem Computers CISC machines, which had no assembler.

Source: Wikipedia

Transaction Application Language or TAL (originally “Tandem Application Language”) is a block-structured,[1] procedural language optimized for use on Tandem (and later HP NonStop) hardware. TAL resembles a cross between C and Pascal. It was the original system programming language for the Tandem Computers CISC machines, which had no assembler.[2]

Transaction Programming Language (TAL)
ParadigmBlock-structured procedural language
DeveloperHewlett-Packard Enterprise (originally Tandem Computers)
First appearedmid 1970s
PlatformMIPS, Itanium, x86-64
OSNonStop OS
LicenseProprietary commercial software
File formatsunstructured, Enscribe, NonStop SQL/MP, NonStop SQL/MX
Dialects
TAL, pTAL, epTAL
Influenced by
ALGOL, Pascal, C

The design concept of TAL, an evolution of Hewlett-Packard‘s SPL, was intimately associated and optimized with a microprogrammed CISC instruction set. Each TAL statement could easily compile into a sequence of instructions that manipulated data on a transient floating register stack. The register stack itself floated at the crest of the program’s memory allocation and call stack.

The language itself has the appearance of ALGOL or Pascal, with BEGIN and END statements. However, its semantics are far more like C. It does not permit indefinite levels of procedure nesting, it does not pass complex structured arguments by value, and it does not strictly type most variable references. Programming techniques are much like C using pointers to structures, occasional overlays, deliberate string handling and casts when appropriate.

Available datatypes include 8-bit, 16-bit, 32-bit and (introduced later) 64-bit integers.[3] Microcode level support was available for null terminated character strings. However, this is not commonly used.

Originally the Tandem NonStop operating system was written in TAL. Much of it has since been rewritten in C and TAL has been deprecated for new development.

In the migration from CISC to RISC, TAL was updated/replaced with pTAL – compilers allowed TAL to be re-compiled into Native RISC Applications. Later, the epTAL compiler was introduced for Itanium processors.