Bir işlevi 'çağırma' fikri nereden geldi?


17

Neden her zaman , örneğin, yerine getirmek yerine bir işlevi çağırdığını merak ettim .

Bir Google arama function call etymologyve benzeri terimleri dönüşler yararlı hiçbir şey yukarı, Vikipedi söz etmez, çevrimiçi sözlükler ya sahip hiç bir kayıt yoktur veya yok etimoloji bölümü .

Bir işlevi 'çağırma' fikri nereden geldi?


Muhtemelen argümanları ele almak için farklı semantiklerden gelir - değere göre çağrı, referans ile çağrı, ada göre çağrı, vb. . Matematikte işlevleri bağımsız değişkenlerine uygularsınız ve işlevler dediğimiz şey neredeyse her zaman yordam / alt yordamdır (çünkü matematiksel işlevlerin yan etkileri yoktur).
Doval

@Doval: Evet, ama neden farklı bir fiil yerine "yordam çağrısında" çok "çağrısı" kullanalım?
SinirliWithFormsDesigner

2
@FrustratedWithFormsDesigner Hiçbir ipucu yok, ancak tarihsel olarak mantıklı olmayan "işlev çağrısı" ndan "alt rutin çağrı" veya "prosedür çağrısı" nın kökenlerini bulmaya çalışırken daha iyi şansları olacağını düşündüm. Yorumun soruyu cevaplamadığını anlıyorum, ama tam da bu yüzden bir cevap değil, bir yorum yaptım.
Doval

2
Lambda hesabında bir işlev uygularsınız (ve lambda operatörü soyutlamalar yapar ). Bazı diller çağrılmaktan değil, bir işlevden bahsediyor .
Basile Starynkevitch

2
Montaj dilinin bazı lehçelerinde (x86 montajı gibi) opodlar adlandırılır callve retveya bunların bazı varyantları. Programlama dillerinin terminolojiyi temeldeki donanımdan miras alması mümkündür, ancak bu yine de donanım tasarımcılarının bu isimleri işlemler için neden seçtiğini soracaktır.
David Conrad

Yanıtlar:


15

Kelime çağrı Fortran ilk yaygın olarak kullanılan programlama dili en az gider. Fortranda, CALLolan bir alt yordam kontrol geçer bir anahtar kelime . John Backus'un neden bu kelimeyi altyordamları çağırmak için seçtiği belli değil - bunu keşfetmek için Backus'un bir veya daha fazla biyografisini okumanız gerekebilir - ancak Fortran'da kullanımın bugünkü çağrıyı kullanmamızın nedeni olması muhtemel görünüyor. işlevler, yöntemler vb.

İşlevler ve diğer alt rutinlere göre çağrı kullanımının da birkaç İngilizce dili ile iyi uyduğunu unutmayın. tanımları çağrısı :

  • kısa bir ziyaret yapmak
  • bir şey talep etmek
  • uykudan uyandırmak
  • davet etmek

3
OP neden öncelikle ÇAĞRI bilmek istiyor.
Tulains Córdova

5
David Wheeler'in 1952 ACM kağıt programlarında alt rutinleri kullanımı kavramını açıklar ve ben o zaman ve görüntülenmesi arasındaki gelişti dönem "çağrısı" kullanımını bahis ediyorum CALLve RETURN1958 yılında II FORTRAN, kullanıldığı olmasaydı kağıdın kendisinde. (
Öğrenmek

2
@Timo Terimin kökenine işaret edemesem de, bu cevapla hedefim sizi o noktaya yaklaştırmaktı. CALLBu bağlamda Fortran'da ortaya çıktığını bilmek (1954'te yaratıldı), kökeni araştırmayı önemli ölçüde daraltmalıdır. Blrfl'in yukarıdaki yorumu erken tarafta iyi bir sınır gibi görünüyor, bu yüzden birlikte terimin birkaç yıl boyunca kullanıldığı zaman süresini daralttık.
Caleb

2
@Caleb: CALLFORTRAN'ın ilk versiyonunun bir parçası değildi. IBM Fortran II Başvuru Kılavuzu'nun 1. sayfasına bakın .
Blrfl

2
@Blrfl Gazeteyi gözden kaçırdım, terimi callveya başka bir terimi kullanmıyor, çoğunlukla use ofalt rutinlerden bahsediyor .
Lars Viklund
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.