Perché i file Objective-C usano l'estensione .m?


204

Da quando ho iniziato a studiare Objective-C e Cocoa, mi chiedevo perché abbiano scelto l'estensione .m per i file di implementazione - avrebbe dovuto significare qualcosa o era solo una lettera casuale?


12
È per la loro integrazione.
dreamlax,

2
Immagino che questo abbia disturbato qualcun altro, quindi hanno fatto un po 'di ricerca per trovare prove contraddittorie sul significato dietro l'estensione .m. Alla fine rappresenta i messaggi. Per la lettura completa: pempek.net/blog/2013/11/30/objective-c-file-extension/…
John Riselvato,

.mi file sono file di implementazione come hai detto. Conoscendo Apple ama prefisso tutto con iesso è facile vedere che i ATTUAZIONE diventa ATTUAZIONE senza detto i. Poi hanno usato solo la prima lettera del ATTUAZIONE per l'estensione del file: m.
Daniel,

Risposte:


465

Oggi la maggior parte delle persone si riferisce a loro come "file di metodo", ma

"L'estensione .m originariamente significava" m essages "quando fu introdotto per la prima volta Objective-C, riferendosi a una caratteristica centrale di Objective-C [...]"

(dal libro " Learn Objective-C su Mac " di Mark Dalrymple e Scott Knaster, pagina 9)

EDIT: Per soddisfare un prurito ho inviato un'e- mail a Brad Cox , l'inventore di Objective-C, sulla domanda e ha risposto con questa singola riga:

"Perché sono stati presi .o e .c. Semplice come quello."

Ecco l'e-mail come prova visiva:

Prova visiva


115
Ti sei preoccupato di mandare una mail a Brad Cox per scoprirlo! Sei una persona fantastica.
Chironex,

15
Sembra che stesse scherzando. Se sono state prese o e, perché me nessuna altra lettera disponibile? Mentre penso che sia una risposta divertente, trovo anche difficile credere che sia stato semplicemente estratto da un cappello e non ha usato alcuna logica nella scelta di m.
prototipo del

2
Sono d'accordo che probabilmente stava scherzando, ma probabilmente un po 'di lingua sulla guancia. .m probabilmente era per metodo o messaggistica, ma anche usato solo perché .o e .c erano già usati.
bigtunacan,

10
Vorrei che Brad avesse effettivamente risposto alla domanda invece di spiegare semplicemente perché .o e .c non venivano usati. Almeno fa un po 'di luce su un aspetto della risposta, però ...
still_dreaming_1

1
@INTPnerd Ha risposto più o meno. Mi sembra che “.m” è stato scelto innanzitutto il bisogno di qualcosa di diverso da “.o” o “.c” e in secondo luogo perché potrebbe essere interpretata nel senso uno / tutti m etodi, m essaggi, i m plementation.
Slipp D. Thompson,

8

Sta per "metodi". Dalle domande frequenti su comp.lang.objective-C :

L'organizzazione della sorgente Objective-C è in genere simile a quella del codice sorgente C o C ++, con dichiarazioni e interfacce di oggetti che vanno in file header con estensione .h e definizioni e implementazioni di oggetti che vanno in file denominati con .m (short per i metodi ) estensione.


5

I file .m contengono gli (m) metodi. Possibile motivo?


4
I file m possono contenere anche (m) moltitudine di commenti! vai a capire :)
NeverStopLearning

-3

Immaginazione selvaggia: 1983 è stato introdotto ObjectC insieme al primo computer Macintosh .... Quindi potrebbe essere m come in macintosh o m come nei metodi o persino in entrambi.


4
In origine Objective-C non aveva nulla a che fare con il Macintosh. Inoltre, la risposta corretta è già stata pubblicata anni fa.
Johan Halin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.