>>>>> "ES" == Emre Sevinc <[EMAIL PROTECTED]> writes:
[...]
    ES> - Encapsulation yok mu yani simdi bu CLOS'ta? Java yazarken
    ES> bir dosya aciyor icine class yaziyoruz, her bir sey, metodlar
    ES> filan da dahil olmak üzere o dosyanin icine yazilan class'in
    ES> icine yaziliyor. 

Ecapsulation'in senin soyledigin manasinin yaninda bir de ic duzeni 
saklamak filan gibi bir manasi var.  Ikisini de dusunelim biraz simdi:

-- Multimethod imkani olan bir dilde, hangi metod hangi dosyaya 
girecek?  

-- Eger saklama arzusu mevzu bahis ise, bunu yapmak kabil bir dereceye
kadar.  Paket sistemi kullanilabilir.  Sistemin bunu zorlamasini
saglamak ise diger alisilagelmis dillere gore daha zor.  Belirlenen
protokolun disina cikmayi sistem engellemiyor, kapsulun duvari 
akilla cekiyorsun sistem cekmiyor.  Bir de komiklik geceyim CLL'in 
eskilerinden Erik Naggum'dan:

  "... it's just that in C++ and the like, you don't trust _anybody_,
   and in CLOS you basically trust everybody.  the practical result is
   that thieves and bums use C++ and nice people use CLOS."  

CLL'de bol bol konusulur bu, ilgiliysen bir google'la.

    ES> CLOS'ta sanki böyle class'lar bir yerde,
    ES> metodlar baska bir yerde, daginik ve pek-encapsulated-degil
    ES> gibi.

Daginik olmasi mumkun ile daginik olmasi gerekli arasinda buyuk bir 
yelpaze var.  Dier taraftan dosya duzeni programcinin elinde, sistemin 
dayatmasi yok.  

    ES> - OOP'nin tarihi hakikaten o kadar geriye gidiyor mu

O kadar ne kadar?  Kafadan soyluyorum ilk Simula 60larin basi olsa 
gerek.

    ES> - Metaobject protocol baglaminda: Yani simdi ortada bir sürü
    ES> nesne varken ben gidip bunlarin siniflarini degistirebilir,
    ES> bambaska bir sey yapabilir, misal 2 slot varken bir tanesini
    ES> iptal edebilir miyim? 

Evet.

    ES> O zaman o siniftan üretilmis o nesneler
    ES> sacmalamaz mi? Veri kaybi olmaz mi? Bir koruma ve uyari
    ES> mekanizmasi yok mu?

Sisteme bagli olarak bazi durumlarda uyari olabilir ama engelleme yok.  
Slotlar kaybolabilir, bir koruma yok.  REPL'de bu dene bunu. 

    ES> - Shared slot, Java'daki static class variable gibi bir sey
    ES> mi, tüm nesnelerin paylastigi degisken filan?

Evet.  O slot'a atamayi instance'lar ustunden yapiyorsun (initform 
varsa instance uzerinden calisiyor).  Instance olmadan atama yapmak 
icin MOP kullanman lazim.  Yani Java'daki gibi class-ismi.static-slot-ismi 
diye ulasamiyorsun ortada instance yoksa.  (Benim Java bildigimi varsayma
yanlis soyluyor olabilirim).

    ES> - Continuation'lari Java'da uygulamak mümkün mü? (Bu CBC
    ES> tarafindan sorulmustu, tam olarak ne ile ilgili sorulmustu
    ES> simdi hatirlamiyorum).

Bilmiyorum bunu.  Continuation'i dikkatli tarif etmek lazim.  'Full'
continuation uretmek CL'de de zor.  Bir suru komplikasyon cikiyor.  
Manasi da belli olmuyor: unwind-protect'in korudugu bir bolumun dinamik 
olarak altinda kalan (dynamic contour'unda) bir yerde continuation kapip 
saklarsan ne oluyor mesela? (bu klasik ornektir).  Diger taraftan iyice 
sulandirirsan C'deki setjmp/longjmp da continuation olarak dusunulebilir.  

Google'a "upward continuation", "downward continuation" filan yedir 
istersen.

Graham'in On Lisp'inde CL'de kisitli bir call/cc ornegi olmasi lazim.
Bu konuya iyice hakim olmanin bir yolu Scheme ile o tarzda bol bol
program yazmak veya en azindan okumak.  SICP'de yok bu yanlis
hatirlamiyorsam.  Hangi kitap iyi anlatiyor da bilmiyorum.  Ciddi
schemeciler balki bir kaynak verirler?

    ES> - Neden first, second, third, ..., tenth var da eleventh,
    ES> twelfth yok? Neden bu kadar cok (ya da az) var? Yani nth ya da
    ES> elt gibi genel olarak erismemizi saglayan bir seyler varken
    ES> seventh, ninth filan neden koymuslar, bir mantigi var mi? 
    ES> (Bunun kücük sayilar yasasi ile bir ilgisi olabilir mi? [1])[...]

Bunu KMP'ye yahut CLL'e sormak lazim.  Bir de eskilerin bunlari
kullanma konusunda 'iyi ornek olayim' diye bazen kivirttiklarini
dusunuyorum ben.  Insanlar 'efendim cons cell olarak dusununce
car/cdr, liste gibi dusununce first/rest kullaniriz' filan da diyorlar
ama ben pek inanmiyorum:

http://groups.google.com/group/comp.lang.lisp/browse_frm/thread/45c9ada03f2fbc3c/e7caa0cce9b4f52d#e7caa0cce9b4f52d
  

BM



_______________________________________________
cs-lisp mailing list
[email protected]
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

Cevap