8

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. – Ross Ridge Jun 10 '17 at 1:22
  • @RossRidge Thank you; that covers DOS and CP/M systems, what about others? – Leo B. Jun 10 '17 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 Jun 10 '17 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 Jun 10 '17 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. Jun 10 '17 at 4:18
9

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. Jun 12 '17 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 Jun 12 '17 at 8:40
  • @john_e Thank you, the contents of that directory are quite interesting. – Leo B. Jun 12 '17 at 20:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.