Thread overview
Serbest Fonksiyon Dusmanligi
Aug 09, 2017
kerdemdemir
Aug 18, 2017
Salih Dinçer
August 10, 2017

Merhabalar ,

Bir cok projede gordugum bir tavir var. Birazda bence havali olmadiklarindan dolayi basit,guzel serbest fonksiyonlar yerine siniflar olusturulup sinif methodlari olusturuluyor. Sonrada bu sinif singleton hale getiriliyor. Boylece "cool" olmayan serbest fonksiyon yerine "cool" olan singleton tasarim patterni kullanilmis oluyor.

D dilinde ve d dili disinda su anda serbest fonksiyonlara bakis acisi nedir. Peki sizlerin bakis acisi nedir?

Erdemdem

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 10, 2017

"Herşey bir nesnedir" düşüncesine bağlı olan Bjarne Stroustrup'un C++'ı ile büyümüş birisi olarak ben de bir zamanlar NYP'ciydim. Deneyim kazandıkça bunun hem zorlama olduğunu hem de yetersiz olduğunu gördüm.

NYP yetersiz çünkü tek nesne üzerinden sanallık sağlıyor. "Sanallık olacaksa tek nesne sanallığı bunun özel bir durumu olmamalıdır" düşüncesinde olan insanlar var. (Galiba geçende C++'çı Jean Louis Leroy'un yazdığı Open Multi-methods D kütüphanesinden bahsetmiştik.)

"Herşey nesnedir" düşüncesi yanlış olduğunun bildik bir örneği, Borsa (Monopoly) oyunudur: Hangi sorumluğunun hangi sınıfa verileceği hiç açık değildir.

Şablonların getirdiği "derleme zamanı çokşekilliliği"nin çekiciliği de NYP'yi azaltmaktadır.

Kendi adıma, öncelikle serbest işlev düşünüyorum. Korunması gereken bir değişmezlik (invariant) varsa struct düşünüyorum ve ancak sanallık gerekiyorsa NYP düşünüyorum.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 19, 2017

Belki konuya makina dili açısından bakmalı. Çok da CPU opcode'larına karışmadan assembly subgroutine'leri bile bazen çok kalabalık olabiliyor. Yaptığı iş ise belki sıradan bir adresteki iki değeri toplayıp başka bir sıradan adresi vermek!

Biliyorsunuz her assembly komutu belli çevrim (cycle) zamanlarında işletilmektedir. Kimisi 1 birim zamanda olabileceği gibi 5 ve daha fazla büyüklükteki işlem güçleri mevcut. Tabii ki işlemcideki çekirdek sayıları ve bunların hızları artık dudak uçuklatacak cinsten ama hala masaüstü bilgisayarlarda CISC (yani komut ile veri farklı zamanlarda işlemciye giren) mimari kullanılmakta. Dolayısıyla sağ elimiz ile sol kulağımızı tutmaktansa kolay olandan yanayım ben...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]