back

by jeffreyrogers·12y ago·view on hn ↗
I don't really see an argument in favor of longer extensions except in rare cases (such as with html where you only need one extra letter). `mp4` tells me just as much about a file as `mpeg4` does and is equally easy to remember, plus it saves a few keystrokes.

The same logic applies to most programming languages. I have no problem remembering `.js` is javascript or `.rs` is rust. And I think the vast majority of programmers would agree with me.

Further, filenames don't play a large role in most (nontechnical) users lives. The tools they use (e.g. Word or Excel) append the filename for them, so they don't worry about it at all. The only people who routinely write filenames by hand are coders and they're familiar enough with the extensions that shortcuts work fine.

2 comments
mp4 actually tells you more about a file than mpeg4 does, because mp4 is only one thing, the file. mpeg4 is another thing, but that thing is not a file. So, calling files mpeg4 actually confuses things rather than clarifies them. If you work with these concepts, it's nice to be able to say to your coworker, "hey, send me the mp4". if you say "send me the mpeg4", you'll get back "how do you want me to send it?"

This works for many similar concepts. The idea of not overloading words that already have meanings with other meanings was one of the sensible underpinnings of the Hungarian Naming Convention. Let's not rehash the Hungarian debate, you don't need to like Hungarian to realize the sensibleness of this particular concept.

oldmanyellsatcloud.gif

But seriously, it's a silly limitation from a bygone era. Why should we adhere to it?

Why should we have to remember these things? Some of them are easy to remember, but even less technical users change their workflows from time to time.

Sketch uses ".sketch" as its extension. Should they have gone with something ".skc" as their extension, just because that's *the way things are done?", even though the application only runs on the latest version of an operating system without that primitive limitation?

Even with Markdown, most people use ".md", but Gruber has expressed ".markdown" as his preference because the limitation doesn't really exist.

Why should we even have extensions in the first place?

Ideally the filetype should be determined from metadata or scanning the header.

(Speaking as someone who's had to fix image file processing bugs because the original coder trusted file extensions to be correct.)

And this is how the Mac has worked for a long time.