[TUHS] Perkin-Elmer Sort/Merge II vs Unix sort(1)

Diomidis Spinellis dds at aueb.gr
Sat Jan 18 03:23:51 AEST 2025


I chanced upon a brochure describing the Perkin-Elmer Series 3200 / 
(previously Interdata, later Concurrent Computer Corporation) Sort/Merge 
II utility [1].  It is instructive to compare its design against that of 
the contemporary Unix sort(1) program [2].

- Sort/Merge II appears to be marketed as a separate product (P/N 
S90-408), whereas sort(1) was/is an integral part of the Unix used 
throughout the system.

- Sort/Merge II provides interactive and batch command input modes; 
sort(1) relies on the shell to support both usages.

- Sort/Merge II appears to be able to also sort binary files; sort(1) 
can only handle text.

- Sort/Merge II can recover from run-time errors by interactively 
prompting for user corrections and additional files.  In Unix this is 
delegated to shell scripts.

- Sort/Merge II has built-in support for tape handling and blocking; 
sort(1) relies on pipes from/to dd(1) for this.

- Sort/Merge II supports user-coded decision subroutines written in 
FORTRAN, COBOL, or CAL.  Sort(1) doesn't have such support to this day. 
One could construct a synthetic key with awk(1) if needed.

- Sort/Merge II can automatically "allocate" its temporary file.  For 
sort(1) file allocation is handled by the Unix kernel.

To me this list is a real-life demonstration of the differences between 
the, prevalent at the time, thoughtless agglomeration of features into a 
monolith approach against Unix's careful separation of concerns and 
modularization via small tools.  The same contrast appears in a more 
contrived setting in J. Bentley's CACM Programming Pearl's column where 
Doug McIlroy critiques a unique word counting literate program written 
by Don Knuth [3].  (I slightly suspect that the initial program 
specification was a trap set up for Knuth.)

I also think that the design of Perkin-Elmer's Sort/Merge II shows the 
influence of salespeople forcing developers to tack-on whatever features 
were required by important customers.  Maybe the clean design of Unix 
owes a lot to AT&T's operation under the 1956 consent decree that 
prevented it from entering the computer market.  This may have shielded 
the system's design from unhealthy market pressures during its critical 
gestation years.


[1] 
https://bitsavers.computerhistory.org/pdf/interdata/32bit/brochures/Sort_Merge_II.pdf
[2] https://s3.amazonaws.com/plan9-bell-labs/7thEdMan/v7vol1.pdf#page=166
[3] https://doi.org/10.1145/5948.315654

Diomidis - https://www.spinellis.gr


More information about the TUHS mailing list