On UNIX, the progression of the most widespread data compression programs was as follows:

  • (AFAIR: Pre System V) compact (suffix .C), dynamic Huffman coding
  • (AFAIR: introduced in System V) pack (suffix .z), static Huffman coding (could not work with streamed data)
  • (AFAIR: appeared in a BSD distribution) compress (suffix .Z), Lempel–Ziv–Welch algorithm
  • (appeared everywhere) gzip, DEFLATE algorithm from PKZIP
  • ... and the rest is modern history

What is the story of data compression tools - with or without archiving capabilities - on personal computers, before System Enhancement Associates and PKWARE, Inc. programs appeared in 1985/1986?

Update: Ignoring as trivial those that were only capable of run-length encoding.

  • 1
    I think before ARC there was SQ and before that nothing, at least not in common use.
    – user722
    Commented Jun 10, 2017 at 1:22
  • @RossRidge Thank you; that covers DOS and CP/M systems, what about others?
    – Leo B.
    Commented Jun 10, 2017 at 1:27
  • 2
    Is your questions more specifically "history of data compression algorithms"? Otherwise, with all the various self-extracting archive and executable formats on several platforms, the question might be too broad...
    – Brian H
    Commented Jun 10, 2017 at 3:54
  • 1
    Ok. So you are saying the timeframe is most important to your question... As in, tools and algorithms used on personal computers before about 1986?
    – Brian H
    Commented Jun 10, 2017 at 4:16
  • 1
    Yes; effectively before data compression became the "mainstream". And ignoring run-length encoding (I've just updated the question) as not interesting.
    – Leo B.
    Commented Jun 10, 2017 at 4:18

1 Answer 1


The story is told in this 1988 usenet post by Paul Homchick:

Some time went by and it was a CP/M world, and diskettes were bigger. In 1981 Richard Greenlaw released SQ and USQ, based on Huffman encoding and written in BDS C. This was the first popular compression technique. Greenlaw gave away the binaries and source code. <...> By 1983 it was getting hard to ignore the IBM PC as programs which weren't written in BASIC started appearing. SQ/USQ was ported by Chuck Forsberg from unix C-source code. LU was ported to the PC by Tom Jennings, from a unix implementation named "lar" (for Library ARchive). Jennings and Forsberg gave these programs away. <...> The next advance came in 1985 when Thom Henderson of System Enhancements Associates (SEA), released his ARC.EXE program.

Indeed, the CP/M source code for SQ is time-stamped 1983.

  • 1
    I was secretly hoping that a tool existed that used some kind of a "naive" non-LZ dictionary-based algorithm, akin to the one proposed in the 1978 book "Etudes for Programmers" by Charles Wetherell, but it looks that there were none.
    – Leo B.
    Commented Jun 12, 2017 at 4:39
  • 1
    That post omits one widely-used utility -- Crunch under CP/M was a standalone LZW compressor, using the same container format as SQ. classiccmp.org/cpmarchives/cpm/mirrors/oak.oakland.edu/pub/cpm/… gives an overview .
    – john_e
    Commented Jun 12, 2017 at 8:40
  • @john_e Thank you, the contents of that directory are quite interesting.
    – Leo B.
    Commented Jun 12, 2017 at 20:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .