işlevlerin aşırı yüklenmesi ne demek?

“Aşırı yükleme” bir çeviri hatası sonucu ne yazık ki terminolojimize yerleşti. Programlama ile ilgili kitaplarda, yazılarda, görsellerde bu terimi sık sık görür, duyar olduk.
Bu ucube terim ingilizce “overloading” sözcüğünün karşılığı olarak kullanılıyor.

Aşırı, genel olarak olumsuz durumları niteleyen bir sıfat. Alışılandan, olağandan, gereğinden ya da dayanılabilen dereceden çok, pek fazla anlamına geliyor: Asansörü aşırı yüklerseniz halatın kopmasına neden olabilirsiniz. Birine “seni çok seviyorum” demeniz yoğun sevginizi ifade ederken “seni aşırı seviyorum” demeniz hastalıklı ruh halinizi açığa vuruyor olabilir. Arada içmenize ses çıkarmayan eşinizi aşırıya kaçarsanız üzebilirsiniz. Aşırı harcamalardan kaçınmazsanız ileride zor durumlara düşebilirsiniz. Aşırı uyku üretkenliğinizi azaltabilir. Aşırı vitamin alımı bağışıklık sisteminiz üzerinde kötü etkiler yapabilir. Daha güzel görüneyim diye aşırı makyaj yaparsanız komik duruma düşebilirsiniz. Aşırı stres sizi yatağa düşürebilir.

“Function overloading” aynı bilinirlik alanı içinde aynı isimli fakat farklı imzaya sahip işlevlerin
bir arada bulunması durumu. Her şeyden önce kod yazmanızı ve okumanızı kolaylaştıran, faydalı bir araçtan söz ediyoruz. Aşırı yükleme teriminin dilin en sık kullanılan, en faydalı araçlarından biri için kullanılması şüphesiz yanlış.  Özellikle programlama dillerini yeni öğrenenler bu terimi ilk kez gördüklerinde ya da duyduklarında, olumsuz bir durumdan hatta bir hata durumundan söz edildiğini sanıyorlar.

Şimdi şöyle bir durumu düşünelim: Projede birlikte çalıştığınız bir arkadaşınız size sunduğu bir arayüzde gereksiz yere aynı isimli 10 işlev bildirmiş. Ona şöyle mi diyeceksiniz? Aşırı, aşırı yükleme yapmışsın…

Aşırı yükleme demeyelim de ne diyelim? Ben yalnızca “yüklemek” fiilinin kullanılmasını öneriyorum:
C++17’de standart kütüphanenin sort algoritması 4 farkı imzayla yüklenmiş.
func işlevini int türü için de yüklemeliyiz.

Çeviride bir sorun daha var. overload ingilizce de bir fiil olduğu gibi aynı zaman da bir isim olarak da kullanılıyor: abs işlevinin 4 ayrı overload‘u var. Peki bu anlamda hangi sözcüğü kullanalım? Ben türkçede de bu anlamda yine “yükleme ” sözcüğünün bir isim olarak kullanılabileceğini düşünüyorum.

 

 

Necati Ergin

C ve Sistem Programcıları Derneğinde eğitmen olarak çalışıyor.

Bunlar da ilginizi çekebilir

işlevlerin aşırı yüklenmesi ne demek?” için bir yorum

  1. Cok haklisiniz.
    Ben de bu zamana kadar hep mecbur kalimadikca uygulanmamasi gereken bir yontem olarak algiladim 🙂
    Ben bazi bilgisayar terimlerinin oldugu gibi birakilmasindan yanayim ‘overload’ da bunlardan biri olmali.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kod Eklemek İçin Okuyun