Hacker News new | past | comments | ask | show | jobs | submit login

Well, what about new features that don't break compat? Have they optimized grep the way GNU did?

And the fact is, when there's a piece of core that nobody uses, and has since been replaced by superior tooling, The Right Thing to do is to rip it out, and link to said superior tooling if it has a compat mode. I mean, it's not like Solaris still has ptrace or /dev/poll.




And the fact is, when there's a piece of core that nobody uses, and has since been replaced by superior tooling, The Right Thing to do is to rip it out,

...The only way that could ever work without breaking existing software running in the wild would be for that superior tooling to be backwards compatible. SunOS (illumos) does this all of the time. For example, GNU options like -C have been added to SVR4 tar(1) on illumos, thereby enhancing, but not breaking existing functionality.

Otherwise, how would you determine whether someone isn't using something, and that on every Solaris / illumos system on the planet?

Have they optimized grep the way GNU did?

I don't know about grep(1) in particular, we have fgrep(1) on illumos for that, which comes all the way from AT&T's SVR4. We also have egrep(1) in addition to grep(1). HP-UX for example, being a SVR4 system, has fgrep(1) and egrep(1) in addition to grep(1) as well. I use fgrep(1) every day; only when I need to use regular expressions do I use grep(1).

I know cat(1)'s been optimised. If you're curious enough, you can check out Solaris's grep(1) code here:

https://github.com/illumos/illumos-gate/tree/master/usr/src/...

Lupus in fabula: you can also see that the -H option has been added to grep(1), which illustrates my point that illumos does this all of the time[1].

I mean, it's not like Solaris still has ptrace or /dev/poll.

?

  % ls -l /dev/poll
  lrwxrwxrwx   1 root     root          29 Jul 24  2013 /dev/poll -> ../devices/pseudo/poll@0:poll
  % man ptrace
  Standard C Library Functions                           ptrace(3C)

  NAME
       ptrace - allows a parent process to control the execution of
       a child process

  SYNOPSIS
       #include <unistd.h>
       #include <sys/types.h>

       int ptrace(int request, pid_t pid, int addr, int data);
  ...
  ...
  ...
  % uname -srpmi
  SunOS 5.10 i86pc i386 i86pc
...so I'm baffled by your statement. Did you mean to write the opposite? What were you actually trying to say?

[1] https://github.com/illumos/illumos-gate/commit/41599e9fdccb4...


Huh. Yeah, no, they're still there. Okay. I have no idea what I meant. Could have sworn somebody axed ptrace, though.

My main point was that if you have a superior utility that doesn't break compatability, like less, than why ship the original? Less is better than more, and it doesn't break compatability in any way I know. That's why setting it as $PAGER works.

The fact is, a lot of superior tooling is backwards compatible. PCRE (although superior is up for debate) is fairly compatible with extended regex, GNU tar is compatible with posix tar, both syntactically, and semantically with the aid of -H. Heck, it's compatible with the v7 archive format.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: