- Dalam pemrograman, ungkapan "memanggil fungsi" berasal dari konsep yang mirip dengan "meminta" atau "memanggil" buku di perpustakaan
- Pada komputasi awal, pendekatan yang dominan adalah memanggil, menghadirkan subrutin dari library
- Ketika Fortran II memperkenalkan instruksi
CALL, ungkapan "memanggil fungsi" cepat menjadi populer
- Setelah itu, bahasa seperti Algol dan JOVIAL juga mengadopsinya dan mulai menggunakan kata benda "call"
- Makna "call" lalu meluas dan mengakar mencakup sebelum, selama, dan sesudah kontrol runtime
Mengapa programmer mengatakan mereka "memanggil(call)" fungsi?
- Di StackExchange ada pertanyaan tentang asal-usul ungkapan "memanggil(call) fungsi"
- Ada banyak analogi, tetapi pada dasarnya istilah ini berasal dari makna "call" sebagai memanggil atau menghadirkan(summon)
- Seperti "meminta" buku di perpustakaan, awalnya ini berangkat dari penggunaan subrutin dengan cara "memintanya"
- "call number" adalah penanda yang menunjukkan lokasi buku di perpustakaan
Sejarah "call" dalam istilah perpustakaan
- Menurut OED, Melvil Dewey pertama kali menggunakan "call number" sebagai istilah ilmu perpustakaan pada 1876
- "call number" adalah penandaan yang digunakan untuk lokasi buku atau permintaan pengambilan
- Dalam Library Journal tahun 1888, istilah seperti "call blank", "call slip", dan "call number" juga dipakai secara umum
- Menurut penjelasan Joudrey & Taylor, nama "call number" berasal dari tindakan memanggil bahan pustaka dari rak tertutup
- Sistem seperti Cutter number diperkenalkan untuk keperluan klasifikasi
Penggunaan awal "call" dalam ilmu komputer
- Dalam makalah John W. Mauchly tahun 1947, ada contoh penggunaan subrutin dengan cara "called in" dari library subrutin
- Dalam konteks merujuk dan menggunakannya dengan cepat melalui nomor yang tercatat
- Rutin assembly MANIAC II (1956) juga menerapkan konsep pemberian "call number" pada tiap subrutin agar bisa dipanggil saat diperlukan
- Dalam bahasa assembly yang sebenarnya, ini disebut sebagai "transfer control"
- Pada masa ini, yang ditekankan bukanlah "pemanggilan" saat runtime, melainkan konsep memuat potongan kode pada saat kompilasi atau linking
Munculnya instruksi "CALL" dalam bahasa pemrograman
- Fortran II (1958) memperkenalkan instruksi
CALL dan RETURN
- Sebagai tindakan "call for", kontrol eksekusi diserahkan ke subrutin
- Instruksi
CALL benar-benar menunjuk pada tindakan sintaksis "memanggil"
- Secara bertahap, "transfer control" pada runtime dan tindakan "pemanggilan" pada tahap link/assembly mulai bercampur secara samar
Perluasan dan pemantapan makna "call" pada 1960-an
- Dalam kamus Sarbacher (1959), "call in" didefinisikan sebagai perpindahan kontrol dari rutin utama ke subrutin
- "call number" dan "call word" juga dijelaskan sebagai identifikator dan bahkan kode pemanggilan
- Di JOVIAL (1960), "procedure call" dan "calls" secara resmi digunakan sebagai kata benda
- Setelah itu istilah ini dipakai bersama makna berlapis seperti call site, argumen, parameter, dan lain-lain
- Algol (1959~1960) juga mengekspresikan waktu pemanggilan dengan beragam bentuk seperti "procedure call", "called procedure", dan "during the call"
- Dalam laporan Algol 60 oleh Peter Naur, juga muncul pembedaan makna temporal antara "call for" dan "during the call"
- Dalam Burroughs Algebraic Compiler (1961), bentuk verba "to call" muncul dengan jelas untuk pertama kalinya
- Sejak Corbató dkk. (1963), penggunaan modern seperti "to call a subroutine" menjadi umum
Kesimpulan
- Instruksi "CALL X" di Fortran II membuat ungkapan "call" menetap untuk pemanggilan fungsi/subrutin
- Berangkat dari konsep perpustakaan sebelumnya (memanggil berdasarkan nomor), tetapi berkembang menjadi makna baru dalam bahasa pemrograman
- Setelah itu, berbagai bahasa seperti Algol dan JOVIAL menerima istilah seperti "call" dan "call site"
- Sejak sekitar 1961, ungkapan "to call X" mulai mapan dalam dokumentasi program resmi dan komunitas
- Kini, pemanggilan fungsi merujuk pada seluruh rangkaian kerja yang untuk sementara menyerahkan kontrol, menerima hasil, lalu kembali, dan "call" menjadi istilah standarnya
1 komentar
Komentar Hacker News