tipos - ¿Por qué crear una llamada al sistema se llama creat?
syscall linux (4)
Desde LSP (página 28):
Sí, al nombre de esta función le falta una e. Ken Thompson, el creador de Unix, una vez bromeó diciendo que la letra que faltaba era su mayor pesar en el diseño de Unix.
¿Por qué crear una llamada al sistema se llama creat
?
Además, ¿por qué una definición para un tamaño de búfer se llama BUFSIZ
y no BUFSIZE
?
¿Hay otros ejemplos similares?
Relacionados: (tomado de los comentarios)
¿Qué quiso decir Ken Thompson cuando dijo: "Yo deletrear crear con una ''e''".
En el momento de pdp-11
, había una codificación llamada radix50
, que radix50
tres caracteres (de un conjunto limitado) en una palabra de 16 bits. Eso introdujo la limitación de 6 letras para nombre de archivo y 3 para extensión, 6 letras para identificador, etc.
Dicho esto, no explica creat
de ninguna manera.
Hay que recordar que la memoria era muy valiosa en los viejos tiempos. Era común que los compiladores tuvieran longitudes de nombre de variable máximas muy cortas. Trabajé en sistemas con longitudes máximas de 3. Muchos de los primeros compiladores de C limitaron los nombres de las variables a 6 caracteres.
Mi ejemplo favorito de la locura por el nombre corto en los sistemas unixoid es el comando umount (consulte el tema " ¿Por qué ''umount'' no se escribe ''desmonta''? " En unix.stackexchange.org para obtener una explicación, una vez más, un seis -límite-boletín). Sería muy interesante comparar el tiempo ahorrado al tener una letra menos que escribir con el tiempo invertido para leer las páginas de manual y la información de consulta de todos los miles de usuarios de Unix a lo largo de los años ...