Int9.net skriv om filnamn, og filetternamn. Han stiller konkret spørsmål om kvifor ein nyttar seg av filetternavn:
En fil heter “README.TXTâ€. Dette er jo litt forvirrende – navnet pÃ¥ filen burde jo vært “READMEâ€. Slutten pÃ¥ filnavnet angir hvilken type fil dette er. “.TXT†forteller oss at dette er en tekstfil. Men vi kaller altsÃ¥ hele navnet (“README.TXT) for filnavnet. Er ikke det rart?
Etter mi meining er dette god oppsummering av poenget has. Int9 blander sammen semantikk og tekniske løsninger. Problemet med å referere til fila som README vil vere at ein ofte har det i forskjellige format, gjerne README.html
og README.txt
. Korleis skal ein skilje mellom desse filene? Og kva med programvaredistribusjoner der ein har eit program for windows, og eit for Unix? Tradisjonelt har løysinga vore filendinger. Windows er avhengig av det – unix er ikkje. PÃ¥ program har ikkje Unix filetternavn stortsett, fordi den gÃ¥r etter magic numbers…
Men like fullt er filetternamn/extensions eit nyttig verkty om ein vil ha filer med ulike namn, men som er relaterte. Eit kjapt eksempel er README.html vs. README.txt vs. README.doc. Eit anna eksempel er programkode. Gitt at ein har FooBar.c vil det kanskje kompilere til FooBar.o, og kreve headerfila FooBar.h. Om brukaren då skal redigere headerfila, istadenfor C-fila, er jo filetternavn ein enkel måte å gjer det på. Den er enkel, den fungerer, og er velkjent.
Kva oppnÃ¥r ein ved Ã¥ flytte dette ut i metainfoen? At eg mÃ¥ kjøre emacs FooBar header? DÃ¥ er faktisk filetternamn enklare IMHO, og det er eit innarbeidd system. Ein annan faktor er at det er mange ulike løysinger for metadata, og sÃ¥ vidt eg har fÃ¥tt med meg er det fÃ¥ av desse som er støtta av arkivsystem som zip eller tar, sÃ¥ dÃ¥ ender ein opp med at metainfoen forsvinner ved kopiering mellom systemer. Om ein i tillegg skal kopiere mellom ulike plattformer har ein endÃ¥ større utfordring… Filetternamn er derimot støtta av sÃ¥ og sei alle filsystem…
Og kva oppnÃ¥r ein ved Ã¥ flytte info frÃ¥ filending til eige metadatafelt (filending er vel forøvrig metadata – data om data)? At det vert vanskelegare Ã¥ fÃ¥ tilgang til denne infoen, at ein mÃ¥ ha eit eige API for Ã¥ handtere dette, og at ein mÃ¥ ta omsyn til Ã¥ fÃ¥ med metadata nÃ¥r ein transporterer filer mellom system. Ellers risikerer ein usynleg datatap, fordi metadata ikkje kjem med, og usynleg datatap er ekstremt synd, ettersom det kan føre til at ein tilsynelatande OK backup blir rimelig nær ubrukelig t.d.
SÃ¥ mi meining er klar – behold filetternavn, men det hadde vore nyttig Ã¥ oppbevare mime-type i metadata, slik at ein enkelt hadde tilgang til mime-type.
Summerer ganske godt opp det som gikk gjennom hodet mitt da jeg leste om saken på diverse IT-fora/-sider.
Næh, tull. Du ser vel ogsÃ¥ at det du kaller “filetternavn” opprinnelig var nettopp metadata om en fil. DOS og tidligere OS skiller mellom navn og type, og filtypen hadde en funksjon. Slik er det i mindre grad i dag og filtypen har av en eller annen grunn blitt en del av filnavnet og det er tvetydighet knyttet til hvilken type en fil egentlig har.