Na verdade, ele provavelmente não quis dizer o que disse: ele provavelmente quis dizer que soletraria creatcom dois 'e's - afinal, um já está presente. Obviamente, a mensagem implícita é que o UNIX acabou do jeito que deveria ser, sem alterações substanciais, exigindo apenas a correção desse [um] erro de digitação.
Dietmar Kühl 06/02
Respostas:
56
É uma chamada de sistema Unix que cria um arquivo: Em um prompt de shell Unix, digite man 2 creatpara saber mais.
As páginas de manual também estão disponíveis online atualmente:
Ele não apenas se refere à man 2 creatchamada do sistema. Ele também se refere às tendências obsoletas de economizar em todos os personagens minúsculos, sempre que possível, às vezes isso é apenas confuso, especialmente agora, ao digitar e armazenar outro personagem raramente é um obstáculo.
Eu acho que no contexto da pergunta ele estava apenas se referindo a creat (). O que ele estava dizendo era que não havia nada sobre o Unix que ele teria feito de maneira diferente, exceto por esse pequeno erro de ortografia na chamada do sistema para criar um arquivo.
15
@ jmucchiello, não é um erro de ortografia. É uma abreviação deliberada (embora não padrão). Enquadra-se com a utilização pesada de abreviaturas como fcntl, ls, mv, etc., em geral.
Matthew Flaschen
6
Concordo, mas eu adoro esses abbrvtns mesmo quando temos TBs para armazenar :)
tgkprog
2
As teclas de teletipo são difíceis de pressionar. Foi benéfico guardar algumas cartas. Os primeiros que poderiam ser eliminados foram vogais e consoantes redundantes.
Erkin Alp Güney
24
Refere-se à chamada do sistema UNIX para criar novos arquivos. Os vinculadores em algumas máquinas estavam limitados a identificadores de no máximo 6 caracteres. Aparentemente, Ken teve que trabalhar com esse vinculador e, portanto, a chamada do sistema de criação foi reduzida para criar para corresponder a essa limitação. A ironia é que criar também.
O limite de 6 caracteres foi convertido para 5, pois o compilador (para evitar que os símbolos do usuário colidissem com os gerados pelo compilador) '_'precedeu um nome de variável / função antes do usuário e teve o cuidado de não usar '_'ao gerar símbolos.
vonbrand
3
@ vonbrand: Isso não parece explicar como unlinkou umountpoderia existir, no entanto, com o qual eu acho que é contemporâneo creat.
Dolda2000
@ Dolda2000 Bem, é bem possível que o vinculador tenha essa limitação, enquanto o compilador não. Então, umountentrariam em conflito com o que umounquer que umounxfosse, mas o nome seria permitido. Mas isso é pura especulação :)
Luaan
23
Estou seis anos atrasado para responder, mas acredito que todas as respostas existentes não atendem ao ponto da citação de Thompson.
Eu soletraria creat com um 'e'.
Ken Thompson não está lamentando o nome da função usada para abrir e possivelmente criar um arquivo. Em vez disso, ele está expressando que o Unix foi feito corretamente, ou seja, não há nada importante que deva ter sido feito de maneira diferente.
O ponto sutil é que a arquitetura do Unix é sólida e as implementações são boas. É preciso andar de bicicleta para encontrar algo para melhorar no Unix. Assim, o óbvio óbvio sobre o nome de uma chamada de sistema comum.
Certo, ele quer nos dizer, que a arquitetura UNIX pode ser aprimorada em aspectos muito pequenos. Mas basicamente o UNIX fez o certo. Entre. creaté uma chamada do sistema, não um comando da CLI.
creat
com dois 'e's - afinal, um já está presente. Obviamente, a mensagem implícita é que o UNIX acabou do jeito que deveria ser, sem alterações substanciais, exigindo apenas a correção desse [um] erro de digitação.Respostas:
É uma chamada de sistema Unix que cria um arquivo: Em um prompt de shell Unix, digite
man 2 creat
para saber mais.As páginas de manual também estão disponíveis online atualmente:
creat(2)
creat(3p)
.fonte
Ele não apenas se refere à
man 2 creat
chamada do sistema. Ele também se refere às tendências obsoletas de economizar em todos os personagens minúsculos, sempre que possível, às vezes isso é apenas confuso, especialmente agora, ao digitar e armazenar outro personagem raramente é um obstáculo.fonte
fcntl
,ls
,mv
, etc., em geral.Refere-se à chamada do sistema UNIX para criar novos arquivos. Os vinculadores em algumas máquinas estavam limitados a identificadores de no máximo 6 caracteres. Aparentemente, Ken teve que trabalhar com esse vinculador e, portanto, a chamada do sistema de criação foi reduzida para criar para corresponder a essa limitação. A ironia é que criar também.
Veja também: O que o nono mandamento significa?
fonte
'_'
precedeu um nome de variável / função antes do usuário e teve o cuidado de não usar'_'
ao gerar símbolos.unlink
ouumount
poderia existir, no entanto, com o qual eu acho que é contemporâneocreat
.umount
entrariam em conflito com o queumoun
quer queumounx
fosse, mas o nome seria permitido. Mas isso é pura especulação :)Estou seis anos atrasado para responder, mas acredito que todas as respostas existentes não atendem ao ponto da citação de Thompson.
Ken Thompson não está lamentando o nome da função usada para abrir e possivelmente criar um arquivo. Em vez disso, ele está expressando que o Unix foi feito corretamente, ou seja, não há nada importante que deva ter sido feito de maneira diferente.
O ponto sutil é que a arquitetura do Unix é sólida e as implementações são boas. É preciso andar de bicicleta para encontrar algo para melhorar no Unix. Assim, o óbvio óbvio sobre o nome de uma chamada de sistema comum.
fonte
creat
é uma chamada do sistema, não um comando da CLI.