util  Diff

Differences From Artifact [882c831cca]:

To Artifact [72db4cf5a1]:


18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 * scripts. so far so good.
 *
 * except unix  has two distinctly different  concepts of
 * IO. there's POSIX IO, and then there's libc IO.
 *
 * POSIX IO  uses the  shit in <fcntl.h>  and <unistd.h>;
 * syscalls  like read(2),  write(2), and  pipe(2) -  the
 * good, simple  shit God made  unix for. this  is really
 * bare-metal; these are basically C wrappers over kernel
 * syscalls.  POSIX  IO  uses  plain  old  ints  as  file
 * descriptors, and it doesn't  fuck around. when you say
 * "write," god dammit, it WRITES.
 *
 * libc  is a  very different  beast. libc  has opinions.
 * libc has abstractions. libc has its own entire goddamn
 * DSL  by  which  to  specify  format  strings,  because
 * apparently  someone felt  called  to reinvent  FORTRAN
 * except worse.  printf(), you know, the  first function
 * they  ever teach  you  in  C 101?  (more  like CS  403







|
|
|
|
|







18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 * scripts. so far so good.
 *
 * except unix  has two distinctly different  concepts of
 * IO. there's POSIX IO, and then there's libc IO.
 *
 * POSIX IO  uses the  shit in <fcntl.h>  and <unistd.h>;
 * syscalls  like read(2),  write(2), and  pipe(2) -  the
 * good,  simple shit the Gods gave us unix for.  this is
 * really bare-metal; these are basically C wrappers over
 * kernel syscalls.  POSIX IO  uses  plain  old  ints  as
 * file descriptors, and it doesn't fuck around. when you
 * say "write," goddammit, it WRITES.
 *
 * libc  is a  very different  beast. libc  has opinions.
 * libc has abstractions. libc has its own entire goddamn
 * DSL  by  which  to  specify  format  strings,  because
 * apparently  someone felt  called  to reinvent  FORTRAN
 * except worse.  printf(), you know, the  first function
 * they  ever teach  you  in  C 101?  (more  like CS  403