13

Was it just to save typing one letter?

I don't think C function names were limited to five characters at the time, as strcmp and unlink are probably just as old.

I'm hoping someone who was involved said something on the record about this, but I haven't been able to find it.

This is not the same as asking 'What did Ken Thompson mean when he said, “I'd spell create with an 'e'.' because it is a different question with a different answer.

  • 4
    From Wikiquote: Ken Thompson was once asked what he would do differently if he were redesigning the UNIX system. His reply: "I'd spell creat with an e." http://en.wikiquote.org/wiki/Kenneth_Thompson – Barmar May 09 '14 at 18:11
  • 3
    It doesn't answer the question. It says he regrets the decision, it doesn't explain why he made the decision in the first place. – Barmar May 09 '14 at 18:16
  • No, we can link only the duplicates of U & L questions. Not other stack overflow questions. So, the U & L question has the same answer that the other Stack overflow answer also has. So, no issues . – Ramesh May 09 '14 at 18:26
  • Oops, didn't even notice that it was the other site. – Barmar May 09 '14 at 19:22

2 Answers2

4

From LSP (page 28):

Yes, this function’s name is missing an "e". Ken Thompson, the creator of Unix, once joked that the missing letter was his largest regret in the design of Unix.

You should probably look into this question.

AdminBee
  • 22,803
Ramesh
  • 39,297
  • 2
    This might imply that he doesn't think the reason was very good. It doesn't explain what the reason was, though. – Samuel Edwin Ward May 09 '14 at 18:33
  • 2
    Why are you obsessing over such a minor detail? I think this kind of reaction might have been part of his point in telling that joke. – Bratchley May 09 '14 at 19:39
0

You've probably already seen this, and it's not a full answer to your question, but here's a bit from man 3 creat:

RATIONALE
       The creat() function is redundant. Its services are also provided by the open() func‐
       tion. It has been included primarily for  historical  purposes  since  many  existing
       applications  depend on it. It is best considered a part of the C binding rather than
       a function that should be provided in other languages.
jayhendren
  • 8,384
  • 2
  • 33
  • 58