News for hackers. Stuff that matters.
Re:Chrome browser for businesses by qwertyuiop924 on Thursday December 29, 2016 @11:16AM (#13278105)
>That has never been true.

Some software does actually reach a "done" state, where there is nothing left to do, assuming no major platform changes.

wc will probably work as intended until UNIX itself shambles off the coil at this point.

Re:Chrome browser for businesses by fanf2 on Friday December 30, 2016 @09:07AM (#13284393)
Re:Chrome browser for businesses by qwertyuiop924 on Friday December 30, 2016 @11:16AM (#13285071)
BSD wc hasn't been touched in a year. GNU wc's recent patches were either the addition of features, or bugfixes for what seem to be relatively new features. Or optimization.

But you could pull in wc from V7 on modern computers, and it would still work. (assuming GCC can still compile K&R C).

Re:Chrome browser for businesses by groovy2shoes on Sunday January 01, 2017 @12:28AM (#13294794)
Yup. Likewise, the version of `wc` from Kernighan & Plaugher's «Software Tools in Pascal» still compiles and runs with any ol' ISO Pascal compiler, and still does exactly what the manpage says it does.

As an aside, I'm pretty sure K&R C is a subset of ANSI C, so any ANSI C compiler should be able to compile K&R C.

Re:Chrome browser for businesses by qwertyuiop924 on Sunday January 01, 2017 @08:34AM (#13295675)
>pretty sure K&R C is a subset of ANSI C,

Not so, AFAICT. For one thing, K&R function declarations looked like this:

  int main(argc, argv)
  int argc, char **argv
  {
  ...
  }
Ever wonder where 1TBS came from?

Also, in K&R, function prototypes didn't list args.

Re:Chrome browser for businesses by groovy2shoes on Sunday January 01, 2017 @11:52AM (#13296255)
Yes, function declarations did look like that. And GCC accepts it totally silently in pedantic ANSI C mode, not even warnings:

    11:44:57 cory@tizona /home/cory/Workspace/test
    $ cat knr.c
    #include <stdio.h>
    
    main(argc, argv)
            int argc;
            char **argv;
    {
            int z = foo(3, 4);
            printf("foo is %d\n", z);
    }
    
    foo(x, y)
    {
            return x + y;
    }
    
    
    11:44:59 cory@tizona /home/cory/Workspace/test
    $ gcc -std=c89 -pedantic -o knr knr.c
    
    11:45:07 cory@tizona /home/cory/Workspace/test
    $ ./knr
    foo is 7
    
    11:45:11 cory@tizona /home/cory/Workspace/test
    $ gcc -v
    Reading specs from /usr/lib64/gcc/x86_64-slackware-linux/5.3.0/specs
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-slackware-linux/5.3.0/lto-wrapper
    Target: x86_64-slackware-linux
    Configured with: ../gcc-5.3.0/configure [...]
    Thread model: posix
    gcc version 5.3.0 (GCC) 
I seem to recall the compatibility was deliberate on the part of the ANSI C WG, for hopefully obvious reasons.
Re:Chrome browser for businesses by qwertyuiop924 on Monday January 02, 2017 @09:11AM (#13301204)
Huh. Didn't know that. Okay...