Чому у файлах Objective-C використовується розширення .m?


204

З того часу, як я почав вивчати Objective-C та Cocoa, мені було цікаво, чому вони обрали розширення .m для файлів реалізації - це мало щось означати, чи це була просто випадкова літера?


12
Це для ем зації.
dreamlax

2
Я думаю, це турбувало когось іншого, тому вони трохи дослідили, виявивши суперечливі докази щодо значення розширення .m. Зрештою, це означає, що повідомлення. Для повного читання: pempek.net/blog/2013/11/30/objective-c-file-extension/…
Джон Різельвато

.mФайли - це файли реалізації, як ви вже говорили. Знаючи, що Apple любить префіксувати все i, легко зрозуміти, що я втілення стає без змінi . Тоді вони просто використовували першу букву mplementation для розширення файлу: m.
Даніель

Відповіді:


465

Сьогодні більшість людей називають їх "файлами методів", але

"Розширення .m спочатку означало " m essages ", коли Objective-C було вперше введено, посилаючись на центральну особливість Objective-C [...]"

(із книги " Learn Objective-C на Mac " Марка Далрімпла та Скотта Кнастера, стор. 9)

EDIT: Щоб задовольнити свербіж, я надіслав електронною поштою Бреду Коксу , винахіднику Objective-C, про це питання, і він відповів цим єдиним рядком:

"Тому що .o і .c були взяті. Просто так".

Ось електронний лист як наочний доказ:

Візуальне підтвердження


115
Ви покладаєте клопотання на адресу Бреда Кокса, щоб дізнатися це! Ти дивовижна, дивовижна людина.
Chironex

15
Здається, він жартував. Якщо брали o і c, то чому m, а не будь-який інший доступний лист? Хоча я думаю, що це смішна відповідь, мені також важко повірити, що його просто зняли з капелюха, і він не використовував жодної логіки при виборі м.
прототипний

2
Я згоден, він, швидше за все, жартував, але, швидше за все, язиком у щоці. .m, ймовірно, був для методу чи обміну повідомленнями, але також використовувався лише тому, що .o та .c вже використовувалися.
bigtunacan

10
Я б хотів, щоб Бред насправді відповів на це питання, а не просто пояснював, чому .o і .c не використовуються. Принаймні, він проливає трохи світла на один аспект відповіді, хоча ...
still_dreaming_1

1
@INTPnerd Він відповів на це більш-менш. Мені здається , що «.m» був обраний перший з необхідності що - то інше , ніж «.o» або «.c» , і другий , тому що це може бути прийнято для позначення будь-якої / все м ethods, м essages, я м плекання.
Сліпп Д. Томпсон

8

Воно означає «методи». З FAQ : comp.lang.objective-C :

Організація джерела Objective-C, як правило, подібна до вихідного коду C або C ++: декларації та інтерфейси об'єктів переходять у файли заголовків, що мають назву розширення. для методів ) розширення.


5

.m файли містять (m) етоди. Можлива причина?


4
m файли можуть містити також (m) високість коментарів! іди фігура :)
NeverStopLearning

-3

Дика здогадка: 1983 рік був представлений ObjectC разом із першим комп'ютером Macintosh .... Отже, це може бути m, як у macintosh, або m як у методах чи навіть обох.


4
Objective-C спочатку не мав нічого спільного з Macintosh. Крім того, правильна відповідь була опублікована років тому.
Йохан Галін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.