Warum heißt create system call creat? [closed]

Lesezeit: 3 Minuten

Benutzer-Avatar
Roman Byschko

Warum create system call aufgerufen wird creat?

Auch, warum ein Define für eine Puffergröße aufgerufen wird BUFSIZ und nicht BUFSIZE?

Gibt es weitere solche Beispiele?

Verwandte: (entnommen aus Kommentaren)
Was meinte Ken Thompson, als er sagte: „Ich würde erstellen mit einem ‚e‘ buchstabieren.“

  • Als Ken Thompson gefragt wurde, ob er UNIX umgestalten würde, was er anders machen würde, sagte er, dass er buchstabieren würde creat mit einem e. Quelle.

    – Noufal Ibrahim

    5. Dezember 2011 um 19:54 Uhr

  • Siehe hier: unix.stackexchange.com/questions/10893/… Speziell die Antwort von Bromfiets.

    – Stuart Golodetz

    5. Dezember 2011 um 19:56 Uhr

  • @NoufalIbrahim Irgendeine Idee von BUFSIZ?

    – Roman Byschko

    5. Dezember 2011 um 19:56 Uhr

  • @NoufalIbrahim Scheint sich auch an die 6er-Regel zu halten.

    – Roman Byschko

    5. Dezember 2011 um 20:01 Uhr

Von LSP (Seite 28):

Ja, dem Namen dieser Funktion fehlt ein e. Ken Thompson, der Schöpfer von Unix, scherzte einmal, dass der fehlende Buchstabe sein größtes Bedauern beim Design von Unix sei.

  • Was meinst du mit LSP?

    – Roman Byschko

    5. Dezember 2011 um 19:56 Uhr

  • @Linux-Systemprogrammierung für Anfänger. Ich habe das Buch in meiner Antwort verlinkt

    – Cnicutar

    5. Dezember 2011 um 19:57 Uhr


  • @Beginner Ich habe es vor einiger Zeit gelesen. Als ich Ihre Frage sah, suchte ich nach “Ken Thompshon” und voilà.

    – Cnicutar

    5. Dezember 2011 um 20:00 Uhr


Benutzer-Avatar
Michael Krelin – Hacker

Zurück in die Zeit von pdp-11gab es eine Codierung namens radix50, wobei drei Zeichen (aus einer begrenzten Menge) in ein 16-Bit-Wort gepackt werden. Dadurch wurde die Beschränkung auf 6 Buchstaben für den Dateinamen und 3 für die Erweiterung, 6 Buchstaben für die Kennung usw. eingeführt.

Das erklärt es aber nicht creat auf keinen Fall.

  • Ist das passiert umountobwohl?

    – DanielH

    16. Juni 2015 um 13:02 Uhr

  • @DanielH, keine Ahnung, aber kalt der Fall sein. Vielleicht auch indirekt – das erklärt, woher die Tradition kommt, innerhalb der 6-Buchstaben-Grenze zu bleiben.

    – Michael Krelin – Hacker

    17. Juni 2015 um 12:21 Uhr

  • Mein erster Gedanke, als ich oben „radix50“ sah, war „50? Dann wurde mir klar, wie sehr DEC Oktal mag.

    – Superkatze

    28. Juni 2016 um 16:42 Uhr

  • @supercat, nicht nur DEC — en.wikipedia.org/wiki/Octal#Usage 🙂

    – Michael Krelin – Hacker

    28. Juni 2016 um 20:22 Uhr

  • @MichaelKrelin-hacker: Aber es heißt nicht radix050, trotz der Konvention, dass Oktalzahlen anderswo auf drei oder sechs Ziffern (für 8 oder 16 Bit) aufzufüllen scheinen und/oder führende Nullen haben. Binär-zu-Zeichen-Codierungsformate scheinen Dezimalzahlen in ihren Namen zu bevorzugen, z. B. base64 oder base85, anstatt base100 oder base125, daher erscheint es merkwürdig, dass ein Radix-Code dies nicht tun würde.

    – Superkatze

    28. Juni 2016 um 20:30 Uhr

Benutzer-Avatar
jstarek

Mein Lieblingsbeispiel für den Kurznamen-Wahnsinn auf Unixoid-Systemen ist der umount-Befehl (siehe „Warum wird ‘umount’ nicht ‘unmount’ geschrieben?” Thread auf unix.stackexchange.org für eine Erklärung, wieder einmal ein Sechs-Buchstaben-Limit). Es wäre sehr interessant, die Zeitersparnis durch einen Buchstaben weniger zum Tippen mit der Zeit zu vergleichen, die für das Lesen von Manpages und Beratung aufgewendet wird info, über all die Tausenden von Unix-Benutzern im Laufe der Jahre …

  • Aber die Namensgebung diente nicht der Zeitersparnis, sondern war eine feste Begrenzung der Länge des Namens.

    – drdwilcox

    5. Dezember 2011 um 20:26 Uhr

Sie müssen sich daran erinnern, dass die Erinnerung in den alten Tagen sehr wertvoll war. Es war üblich, dass Compiler sehr kurze maximale Variablennamenslängen hatten. Ich habe auf Systemen mit einer maximalen Länge von 3 gearbeitet. Viele der frühen C-Compiler beschränkten Variablennamen auf 6 Zeichen.

1371620cookie-checkWarum heißt create system call creat? [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy