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.