Lattice C

Lattice C

The Lattice C Compiler, released in June 1982 by Lifeboat Associates, was the first commercially available C language compiler for the IBM Personal Computer. Emerging at a time when C was gaining prominence beyond its UNIX origins, Lattice C played a foundational role in bringing the language to early microcomputer environments. Owing to its portability, performance and broad platform support, it became a key development tool throughout the 1980s and influenced the evolution of several later commercial C compilers.

Origins and Early Distribution

Lattice C debuted during the formative years of the IBM PC ecosystem. Priced at approximately $500, the compiler operated on PC DOS and MS-DOS—operating systems that were functionally identical despite different trademark associations. The initial hardware requirements were modest for the time, calling for 96 KB of RAM and one floppy disk drive, with later distributions recommending two drives for improved usability.
A defining strength of Lattice C was its portability. Beyond IBM PCs, the compiler was adapted to a wide variety of systems including MVS mainframes, OpenVMS, UNIX workstations, OS/2, Amiga, Atari ST and Sinclair QL. This broad reach positioned Lattice C as one of the earliest cross-platform development environments available to commercial programmers.

Microsoft Repackaging and Subsequent Developments

Through a distribution agreement, Microsoft repackaged Lattice C as “Microsoft C 2.0,” making it the company’s first C compiler offering. Although Microsoft soon developed its own fully independent compiler—released in 1985 as Microsoft C 3.0—the early reliance on Lattice C demonstrates its influence in shaping the PC software development landscape.
In 1987, Lattice Inc. was acquired by SAS Institute and the compiler was rebranded as SAS/C. Under SAS, support gradually narrowed to IBM mainframe environments. Although versions continued to exist for other platforms, these evolved into cross-compilers that generated mainframe-compatible output rather than native binaries. Ultimately, SAS/C survived primarily as a mainframe development product, while its original microcomputer legacy diminished as other compilers gained prominence.

Role in Early PC Software Development

Because Lattice C provided one of the earliest robust C development environments for the IBM PC, it became an important tool for porting software originally written for CP/M. Notable early 1980s productivity applications—such as Perfect Writer, PerfectCalc, PerfectSpeller and PerfectFiler—were originally developed in BDS C, a CP/M-subset C compiler, and later ported to MS-DOS using Lattice C. These titles were bundled with machines including the Seequa Chameleon and Columbia Data Products systems, highlighting the compiler’s importance in early commercial PC software distribution.
Development tools often accompanying Lattice C included LMK (a make utility), LSE (a screen editor) and TMN (a set of text-management tools), helping establish a more UNIX-like development workflow on DOS machines.

Reception and Critical Assessment

Upon release, Lattice C was widely regarded as one of the most capable and professional C compilers for the IBM PC.
A 1983 review in BYTE compared five contemporary C compilers and identified Lattice C as superior in overall quality, though costly and better suited to experienced programmers. The review highlighted several advantages:

  • fast compilation and execution performance
  • small incremental code size
  • comprehensive and well-organised documentation
  • consistent reliability in both compilation and runtime behaviour

PC Magazine similarly praised the compiler, noting that its documentation, performance and feature set surpassed those of competing products such as CIC86 and C Systems C. These reviews reflect the compiler’s strong professional orientation and its role in defining early standards for PC-based C development.

Legacy and Later Status

By the late 1980s and 1990s, as vendor-specific and industry-standard compilers matured, Lattice C’s influence declined outside mainframe environments. Under SAS, the SAS/C compiler continued to serve enterprise customers, especially those working with IBM z/OS and MVS systems. Although versions remained available that could run on non-mainframe platforms, they functioned strictly as cross-compilers targeting mainframe architectures.
The domain historically associated with Lattice (lattice.com) has since been repurposed by an unrelated modern company, leaving no active public-facing successor organisation tied directly to the compiler’s original lineage.

Originally written on October 11, 2016 and last modified on December 2, 2025.

Leave a Reply

Your email address will not be published. Required fields are marked *