Mengapa file Objective-C menggunakan ekstensi .m?

204

Sejak saya mulai belajar Objective-C dan Cocoa, saya bertanya-tanya mengapa mereka memilih ekstensi .m untuk file implementasi - apakah itu seharusnya berarti sesuatu, atau apakah itu hanya huruf acak?

Kuba Suder
sumber
12
Ini untuk em plementation.
dreamlax
2
Saya kira ini mengganggu orang lain, jadi mereka melakukan sedikit riset menemukan bukti yang bertentangan tentang makna di balik ekstensi .m. Pada akhirnya itu adalah pesan. Untuk selengkapnya, baca: pempek.net/blog/2013/11/30/objective-c-file-extension/…
John Riselvato
.mfile adalah file implementasi seperti yang Anda katakan. Mengetahui Apple suka untuk mengawali semuanya dengan imudah untuk melihat bahwa saya mplementation menjadi mplementation tanpa berkata i. Kemudian mereka hanya menggunakan huruf pertama dari mplementation untuk ekstensi file: m.
Daniel

Jawaban:

465

Saat ini kebanyakan orang akan menyebutnya sebagai "file metode", tetapi

"Ekstensi .m awalnya merupakan" m esages "ketika Objective-C pertama kali diperkenalkan, merujuk pada fitur utama dari Objective-C [...]"

(dari buku " Learn Objective-C on the Mac " oleh Mark Dalrymple dan Scott Knaster, halaman 9)

EDIT: Untuk memuaskan rasa gatal, saya mengirim email ke Brad Cox , penemu Objective-C, tentang pertanyaan itu dan dia menjawab dengan satu baris ini:

"Karena .o dan .c diambil. Sesederhana itu."

Inilah email sebagai bukti visual:

Bukti Visual

percikan
sumber
115
Anda repot-repot mengirim email ke Brad Cox untuk mencari tahu! Anda orang yang luar biasa.
Chironex
15
Sepertinya dia sedang membuat lelucon. Jika o dan c diambil, mengapa m dan tidak ada surat lain yang tersedia? Meskipun saya pikir itu jawaban yang lucu, saya juga merasa sulit untuk percaya itu hanya ditarik dari topi dan dia tidak menggunakan logika apa pun dalam memilih m.
prototipe
2
Saya setuju dia mungkin bercanda, tetapi agak lidah di pipi. .m mungkin untuk metode atau pesan, tetapi juga hanya digunakan karena .o dan .c sudah digunakan.
bigtunacan
10
Saya berharap Brad benar-benar menjawab pertanyaan alih-alih hanya menjelaskan mengapa .o dan .c tidak digunakan. Setidaknya itu memberikan sedikit cahaya pada satu aspek dari jawabannya ...
still_dreaming_1
1
@ INTPnerd Dia menjawabnya, kurang lebih. Sepertinya saya bahwa “m” dipilih keluar pertama kebutuhan untuk sesuatu selain “.o” atau “c” dan kedua karena bisa diartikan setiap / semua m ethods, m essages, saya m plementation.
Slipp D. Thompson
8

Itu singkatan dari "metode". Dari FAQ comp.lang.objective-C :

Organisasi sumber Objective-C biasanya mirip dengan kode sumber C atau C ++, dengan deklarasi dan antarmuka objek yang masuk ke file header bernama dengan ekstensi. untuk metode ) ekstensi.

Adam Rosenfield
sumber
5

File .m berisi (m) ethods. Kemungkinan alasannya?

baker1990
sumber
4
file m mungkin mengandung (m) ultitude komentar juga! go figure :)
NeverStopLearning
-3

Tebakan liar: 1983 adalah ObjectC diperkenalkan bersama dengan komputer Macintosh pertama .... Jadi mungkin m seperti di macintosh atau m seperti dalam metode atau bahkan keduanya.

Martin Kersten
sumber
4
Objective-C awalnya tidak ada hubungannya dengan Macintosh. Selain itu, jawaban yang benar telah diposting tahun yang lalu.
Johan Halin