3 ms·
Your comment reminded me of the classic Ken Thompson quote: >Ken Thompson was once asked what he would do differently if he were redesigning the UNIX system. H
by simias 6y ago
Your comment reminded me of the classic Ken Thompson quote:
>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."
There was definitely a mentality at this time that symbols should be short. Probably partly because of the low resolution terminals of the time, and especially teletypes but also maybe because of different practices and a different ecosystem. That's how we ended up with /usr instead of /user and /mnt instead of /mount.
- ScouterRich 6y agousr stands for UNIX system resources
- iso947 6y agoBackronym. Home directories were originally stored in /usr, as are another user programs “ In particular, in our own version of the system, there is a directory "/usr" which contains all user's directories, and which is stored on a relatively large, but slow moving head disk, while the othe files are on the fast but small fixed-head disk. “
- NelsonMinar 6y ago"Referer" stands for "referrer".
- mindslight 6y agoAre we sure he didn't mean "cret" ?
- emmelaich 6y agoI believe its more that the original <something> only had 5 char max ids. So we get fcntl and ioctl -- two different shortenings of `control` !
- int_19h 6y agoOne of the original limits was 6 significant initial characters for extern C identifiers - even in 1980s, this was still prevalent enough that ISO C90 codified it. The easiest way to conform is to ensure that you don't have any function names longer than that. I believe this is why there are so many names like "strcpy" and "tmpnam" in the C standard library. Later additions are often not quite so laconic - e.g. it's "tmpfile", not "tmpfil". And then many Unix shell utilities are themselves counterparts of the corresponding C APIs - e.g. "chown". It stands to reason that they'd have identical names; but in doing so, they would also set a precedent for that kind of shortening in general. So if you already have "chown", then why not "chgrp"? And if you have "chgrp", then you'd probably want "newgrp" rather than "newgroup".
- benatkin 6y agocreat makes me think of creatine, and given the topic, brogrammers.
- emmelaich 6y agoA footnote in Rochkind's Advanced UNIX Programming is that they could add `lseek` in addition to `seek` because they'd saved a character in `creat`