245

Since I started learning Objective-C and Cocoa, I've been wondering why they have chosen the extension .m for the implementation files - was it supposed to mean something, or was it just a random letter?

3
  • 18
    It's for the emplementation. Commented Mar 16, 2009 at 21:36
  • 2
    I guess this was bothering someone else, so they did a bit of research finding contradicting evidence on the meaning behind .m extension. Ultimately it stands for messages. For the full read: pempek.net/blog/2013/11/30/objective-c-file-extension/… Commented Dec 6, 2013 at 16:17
  • .m files are implementation files as you said. Knowing Apple likes to prefix everything with i it is easy to see that implementation becomes mplementation without said i. Then they just used the first letter of mplementation for the file extension: m. Commented Oct 25, 2019 at 13:57

3 Answers 3

544

Today most people would refer to them as "method files", but

"The .m extension originally stood for "messages" when Objective-C was first introduced, referring to a central feature of Objective-C [...]"

(from the book "Learn Objective-C on the Mac" by Mark Dalrymple and Scott Knaster, page 9)

EDIT: To satisfy an itch I emailed Brad Cox, the inventor of Objective-C, about the question and he answered with this single line:

"Because .o and .c were taken. Simple as that."

Here's the email as visual proof:

Visual Proof

Sign up to request clarification or add additional context in comments.

3 Comments

What about .oc? Surely it doesn't have to be a single letter, right?
Seems it's also taken.
9

It stands for "methods". From the comp.lang.objective-C FAQ:

The organisation of Objective-C source is typically similar to that of C or C++ source code, with declarations and object interfaces going into header files named with a .h extension, and definitions and object implementations going in files named with a .m (short for methods) extension.

Comments

5

.m files contain the (m)ethods. Possible reason?

1 Comment

m files might contain (m)ultitude of comments as well! go figure:)

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.