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?


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


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.



-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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.