Why do Objective C files use the .m extension?

2019-01-12 16:58发布

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? Does anyone know? I couldn't find such information anywhere on Google...

4条回答
太酷不给撩
2楼-- · 2019-01-12 17:29

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

查看更多
Animai°情兽
3楼-- · 2019-01-12 17:41

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.

查看更多
时光不老,我们不散
4楼-- · 2019-01-12 17:41

Wild guess: 1983 was ObjectC introduced along with the first Macintosh computer... . So it might be m as in macintosh or m as in methods or even both.

查看更多
Evening l夕情丶
5楼-- · 2019-01-12 17:47

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

查看更多
登录 后发表回答