Path: utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!wuarchive!mit-eddie!rutgers!cbmvax!snark!eric From: eric@snark.thyrsus.com (Eric S. Raymond) Newsgroups: comp.unix.internals Subject: A UNIX weenie confesses... Message-ID: <1Yst7y#1yY2sB8TrJ2w0Gc4SK4BkdGO=eric@snark.thyrsus.com> Date: 22 Dec 90 18:31:11 GMT Followup-To: poster Lines: 58 Ten Things I Hate About UNIX (by a UNIX weenie who has (at least for the duration of this message) Seen the Light...) 1. The @!$#! file system is so stupid that it has to masturbate for three to five minutes before it's sure it's retained enough of its vitality to let me boot up. 2. X. Don't get me started about X. Only in X could you need to write three pages of Old Sanskrit to do "Hello, world!". Yes, X, the window system so hoglike and slow that it brings even RISC machines to their knees. And the X documentation? Don't make me laugh... 3. Kitchen-sink kernels that enshrine every incompatible special-purpose hack in the last ten years. Fer cripes' sake, who *needs* cruft like the Indian Hill IPC package or ioctl handlers for every I/O device more recent than a @#!$% stone tablet to be resident all the time? 4. Four different (and, of course, mutually incompatible) wild-carding notations. Was that `.' or `?', sir? Do you want `*' or `.*', sir? Can I use `+' here? or `|' here? Sheesh... 5. The `editor' vi. Oh, this is a good one. Don't you just *love* insert vs, command mode? Doesn't it make your day to press an arrow key and get `[[B' munged into your text? 6. The $#@&!!# default octal escapes in all the tools, which we're stuck with forever because Ritchie thought it was more important to support hand-hacking three-bit PDP11 opcode fields than to be able to actually read data dumps on a byte-addressable machine. 7. The pcc compiler, perpetually about three to five years behind the times and the *only* major implementation not to support the bloody ANSI standard (not that X3J11 doesn't have its own share of brain- damage). 8. Data dependencies in all those nice clean `filters' UNIXoids like to rave about. Did you ever try passing nulls for a graphics escape through nroff or the print spooler? Or typing high-half graphics characters to cat(1) through the shell's `cooked' line discipline? Yeah, you'll find out about `cooked' all right... 9. Text-processing tools that `silently truncate' long lines. Better than that: fixed-length buffers as far as the eye can see in tools with no input-length checks, so you can garbage static data, smash your stack or worse (``worse'' as in the RTM worm). 10. And there's no !@#$@ legal *source* any more for less than the approximate yearly GNP of a small third-world nation, so I can't *fix* things. *That* is the most unkindest cut of all. -- Eric S. Raymond = eric@snark.thyrsus.com (mad mastermind of TMN-Netnews) P.S.: Serious replies to this will be flushed.