On Fri, 11 May 2018 10:46:20 -0400, Hobart Spitz <[email protected]> wrote:
>Second to that are the deficient string and file models: > > - There are separate techniques for processing text, on one hand, and > binary data on the other. (z/OS, z/VM have no such requirement.) > - Using the wrong technique can break data structures badly, as can > inadvertent/erroneous embedding of binary data in text strings/files. > (z/OS, z/VM have not such problem.) > - One of *nix's most powerful features, piping, is crippled because most > filters are text oriented and cannot process binary data. Dispatching is > mostly at the discretion of the operating system. (Dispatching generally > deterministic, ands streams can be split and rejoined, because record > movement is generally defined.) > - When processing text strings or files, having to scan for the string > terminator or CR/LF, results in performance-killing working-set/cache > flooding. (Pipelines processes records not characters, and unneeded > pages/cache-lines never have to be staged in.) > >The *nix string and file models were great for slow PDP-11s and the like, >but make no sense on modern hardware. This reflects a lack of understanding of Unix programming. There are no "separate techniques for processing text ... and binary data", any more so than there are on MVS. A Unix file is a stream of bytes, period. Many programs interpret that stream as a sequence of textual lines, delimited by newlines; this uniform representation makes possible the rich array of text-processing tools available in Unix, and enables files written on one platform to be usefully consumed on another platform. The notion that Unix pipelines are "crippled" by their text orientation reflects a lack of familiarity with Unix. If you WANT to process binary data, it's easy to write programs that treat files as containing a sequence of records, either fixed length (think FB) or variable (think VB) with explicit record lengths. Every program, on any platform, places restrictions on its inputs and outputs. z/OS programs are no different. In fact, the standard z/OS access methods very tightly couple programs to very specific dataset organizations and record formats. Unix System Services has brought all of the powerful text processsing tools of Unix to z/OS. I can't see how that can be considered a bad thing. -- Jerry ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
