Dlaczego pliki Objective-C używają rozszerzenia .m?

204

Odkąd zacząłem uczyć się Objective-C i Cocoa, zastanawiałem się, dlaczego wybrali rozszerzenie .m dla plików implementacyjnych - czy to miało coś znaczyć, czy tylko losowy list?

Kuba Suder
źródło
12
To dla em żania.
dreamlax
2
Myślę, że to przeszkadzało komuś innemu, więc przeprowadzili trochę badań, aby znaleźć sprzeczne dowody na temat znaczenia rozszerzenia .m. Ostatecznie oznacza wiadomości. Pełny tekst
John Riselvato,
.mpliki są plikami implementacyjnymi, jak powiedziałeś. Wiedząc Jabłko lubi wszystko z przedrostkiem ito łatwo zauważyć, że I PROWADZENIE staje PROWADZENIE bez tego i. Wtedy po prostu wykorzystał pierwszą literę PROWADZENIE dla rozszerzenia pliku: m.
Daniel

Odpowiedzi:

465

Dzisiaj większość ludzi nazywa je „plikami metod”, ale

„Rozszerzenie .m pierwotnie stał na” m essages „Kiedy Objective-C wprowadzono po raz pierwszy, odnosząc się do centralnego cechą Objective-C [...]”

(z książki „ Learn Objective-C on the Mac ” Mark Dalrymple i Scott Knaster, strona 9)

EDYCJA: Aby zaspokoić swędzenie, wysłałem e-maila do Brada Coxa , wynalazcy Objective-C, na pytanie, a on odpowiedział w jednym wierszu:

„Ponieważ wzięto pliki .o i .c. To takie proste.”

Oto wiadomość e-mail jako dowód wizualny:

Dowód wizualny

splattne
źródło
115
Próbowałeś wysłać wiadomość e-mail do Brada Coxa, aby się dowiedzieć! Jesteś niesamowitą, wspaniałą osobą.
Chironex,
15
Wygląda na to, że żartował. Jeśli wzięto o ic, dlaczego m, a nie jakikolwiek inny dostępny list? Chociaż myślę, że to zabawna odpowiedź, trudno mi też uwierzyć, że została po prostu wyciągnięta z kapelusza i nie użył żadnej logiki przy wyborze m.
prototypowy
2
Zgadzam się, że prawdopodobnie żartował, ale pewnie trochę zdziwiony. .m prawdopodobnie był używany do metody lub przesyłania wiadomości, ale był także używany tylko dlatego, że .o i .c były już używane.
bigtunacan
10
Chciałbym, żeby Brad faktycznie odpowiedział na pytanie, zamiast wyjaśniać, dlaczego .o i .c nie zostały użyte. Przynajmniej rzuca odrobinę światła na jeden aspekt odpowiedzi ...
still_dreaming_1
1
@INTPnerd On odpowiedział mniej więcej na to. Wydaje mi się, że „.m” został wybrany pierwszy z potrzeby czegoś innego niż „.o” lub „.c” i drugi, ponieważ może to być rozumiany dowolny / wszystkie m ethods, m essages, ja jestem plementacja.
Slipp D. Thompson
8

Oznacza „metody”. Z comp.lang.objective-C FAQ :

Organizacja źródła Objective-C jest zwykle podobna do kodu źródłowego C lub C ++, z deklaracjami i interfejsami obiektowymi przechodzącymi do plików nagłówkowych o nazwach z rozszerzeniem .h, a definicje i implementacje obiektowe do plików o nazwach .m (krótkie dla metod ) rozszerzenie.

Adam Rosenfield
źródło
5

Pliki .m zawierają metody (m). Możliwa przyczyna?

piekarz1990
źródło
4
Pliki m mogą także zawierać (m) ogrom komentarzy! idź rysunek :)
NeverStopLearning
-3

Dzikie przypuszczenie: w 1983 r. Wprowadzono ObjectC wraz z pierwszym komputerem Macintosh ... Może to być m jak w systemie Macintosh lub m jak w metodach, a nawet w obu.

Martin Kersten
źródło
4
Cel C początkowo nie miał nic wspólnego z komputerem Macintosh. Poza tym poprawna odpowiedź została już opublikowana wiele lat temu.
Johan Halin