Hacker News new | past | comments | ask | show | jobs | submit login
The history of grep (medium.com/rualthanzauva)
72 points by danso on Jan 9, 2015 | hide | past | favorite | 14 comments



"One guy McIlroy" was Doug McIlroy, head of computing research at Bell Labs at the time, the inventor of pipes, diff, etc., and an eminent guy.

Before Thompson published his construction for matching regular expressions in the late '60s, Kleene's re work was pretty much purely theoretical. That's really the interesting story, solving an extremely difficult implementation problem on the machines of the era.


GNU grep was written my Mike Haertel, not Haerkal as written in the article.

Super smart guy.


His email about why GNU grep is fast contains one of my favorite quotes about programming. Don't know if he coined it.

> The key to making programs fast is to make them do practically nothing. ;-)


A favorite here as well.


> GNU grep was written my Mike Haertel, not Haerkal as written in the article.

It's a typo, which is odd, because the author could just have copied-and-pasted it from a terminal session, which they obviously know enough to do.

    % grep -V
    <snip>
    Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.


Article raises a 21st century grammar question. If a sentence starts with the name of a computer command, and the invocation of the command is all lowercase, do you still capitalize the command name? Apparently the author thinks you don't, the man pages thinks you do, and Ken Thompson doesn't believe in capitalization at all.


No, it should be in lower case and in a different font. This is, I feel, an error in the Bell documentation.

When doing the documentation for COHNERENT and Mark Williams C for the Atari ST followed this convention. See page 517 of http://www.nesssoftware.com/home/mwc/doc/coherent/manual/pdf... (pdf) for an example in the second paragraph of the 'date' command. (The entire manual is available at http://www.nesssoftware.com/home/mwc/manual.php in small pdf sections)

Slightly off topic: The manuals for COHERENT and the compiler products were, rather split into 'man' pages like Unix, were organized in a Lexicon. This enabled having one alpabetically-organized manual without separate sections. Thus, for the letter 'C', you can see 'c' as a command, followed by 'C language' as an overview, 'C Preprocessor -- overview', and further on 'calling conventions -- Definition'. This enabled adding much supporting material without exploding the page count.


The consensus seems to be that things like iPhone and eBay get to keep their lower case letter even at the start of a sentence. I'd say grep deserves the same treatment.


Besides, G/re/p doesn't seem to make sense as an ed command...


I don't capitalize command names as a matter of habit, no matter where in a block of text they occur, partly because:

    root@thaumaturgy:/home/rob# Iptables
    bash: Iptables: command not found
But, I agree that it can look a bit awkward. The usual fix is to use a different font and sometimes a different size or weight for text that's a command or programming idiom, and that's worked out pretty well for me too so far.


I don't, if the question is forced. I tend to rewrite to avoid the question, though.


Ah neural nets though the representation of term rewrite in form of a recursion theory of finite automata with respect to constraint based back-propagation to derive an inductive history rewrite mechanism in retrospect to N v NP depending on the terminal nodes. s/ex/&pression/


First of all this question isn't all that relevant to the article. Second, it's a question of capitalization methods, not grammar, and more of a style decision than a language rule. Do what you feel is right.


It's an odd new case in English: a proper noun which canonically stays lower-case at all times, not upper-case.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: