• ilk object oriented, programcinin hayatina "class" kelimesini sokan programlama dili.
  • (bkz: oop)
  • palo alto şehrinde geliştirildi
  • oop kavramina onculuk eden programlama dillerinden biri.
  • bu dilde hersey objecttir, ve felfesi objectlere mesaj yollamaya dayalidir. sayilar*, boolean'lar falan da objecttir. ornegin 1 + 2 islemi, 1 objesine `+mesajini yollamak ve bunun daparametresinin2` olmasidir. ya da yeni bir object yaratmak icin yapilmasi gereken sey bir class'a, ki o da bir objecttir, new mesajini yollamakla olur. herseyin object oriented olmasi gerektigini savundugundan imperative programmingtarzi if-else statementlari, while-for looplari falan yoktur. if-else olayini da bir booleana mesaj yollayarak halledersiniz. ayrica dynamic typing ve dynamic dispatch vardir. temel olarak dilin syntax ve semantics'i cok basittir. yarim saatte ogrenilebilir. ancak libraryleri ogrenmek vakit alir ki smalltalk'un en buyuk gucu library'lerinin zenginligindedir. cesitli dialectleri mevcuttur: (bkz: visualworks) (bkz: squeak) (bkz: dolphin). ayrica alakali olarak (bkz: ruby)
  • (bkz: small talk)
  • pure object model'inin çok çirkin bir kusuru var. şöyle ki, her şey object ve her object'in de bir class'ı var. her şey object olduğu için class'lar da birer object ve her object'in bir class'ı olduğu için onların da class'ları var. o zaman class'ın class'ının class'ı gibi sonsuzluğa giden bir hiyerarşi oluşuyor. çözümü de kendisi kadar çirkin olan, oo dillerin çoğunda çıkan bu sorunu aşmanın yolu class'ları tümden dilin dışına itmek ve object-class farkını ortadan kaldırmak. bu yönde atılmış en radikal adım, smalltalk'un varisi olarak 80'lerin sonlarına doğru xerox parc'ta ortaya çıkan ve geliştiren takım sun microsystems'a geçince orda geliştirilmeye devam edilen self. sadece class'lardan prototype'lara geçiş açısından değil, daha pek çok açıdan oop'nin geldiği en saf ve aşırı uçtu self.
  • cicekler do: [ :each | self balal: each ]
hesabın var mı? giriş yap