Tonguç Yumruk'un Weblog'u
Anlık olaylar, fikirler, gudik ismail vs...

Sun, 23 Oct 2005

Bahadır Kandemir günlüğünde GoogleFight yardımıyla bir popülerlik karşılaştırması yapmış. Cevap vermek te bana düştü... Gerçi yazdıklarına yorum olarak yolladım ama anonim olarak yollamışım, haliyle tekrar yazayım dedim.

Karşılaştırmada "LISP'in sözdiziminin berbatlığından" bahsedilmiş. Sanıyorum berbatlıktan kasıt s-expressionlar ve ön ek (prefix) tarzı yazım. Öncelikle s-expression meselesine değinelim. s-expression denen şey Lisp'in temel yazım tarzıdır. Bu yazım tarzının en büyük avantajı dilin en temel veri tipi olan listeler ile (LISP = LISt Processing) kod yazmakta kullanılan ifadelerin aynı şekilde yazılmasıdır. Bu sayede Lisp dünyasnda veri/kod ayrımı yapılmaz. Veri kod gibi çalıştırılabileceği gibi Lisp kodunun kendisi de herhangi bir liste gibi işlenebilir.

Bence Lisp'in s-expressionlarının en büyük avantajı veri/kod ayrımı meselesi değildir. Bu yazım tarzının en güzel yanı saf sözdizimi ağaçları (raw syntax tree) yazıyor olmamızdır. Bu sayede Lisp kullanırken operatör önceliği gibi konularda endişe etmemize gerek kalmaz, zira Lisp şu ana kadar gördüğüm sözdizimeri arasında yanlış anlamalara en kapalı olan sözdizimine sahiptir. Özellikle benim gibi hangi dilde yazarsa yazsın her türlü aritmetik/mantık ifadesini daima parantezler içine alan insanlar için Lisp bir cennet sayılabilir.

İronik bir şekilde ön ek sisteminden en son olarak bahsetmek istiyorum. Aslındabana Lisp'in kullandığı ön ek sistemi sadece yukarıda saydığım özelliklerin sağlanabilmesi için ortaya çıkmış faydalı bir yan etki gibi gözüküyor. Ön ek tarzı yazımın şu ana kadar görebildiğim en büyük faydası ise operasyondan bağımsız olarak (yani fonksiyon çağrısı, aritmetik/mantık işlemi gibi şeyleri ayırd etmeden) sınırsız parametre listelerine izin vermesi. Bu sayede 1 + 2 + 3 + 4 yerine kısaca (+ 1 2 3 4) yazabiliyorsunuz. Evet çok büyük birşey değil, ama birşey...

Not: Bir büyüğümüz güzel söylemiş: Too much syntactic sugar, causes the cancer of semicolon

Not2: Bunları yazınca Python'u sevmediğim düşünülmesin. Python'u seviyor ve günlük olarak kullanıyorum, fakat açıkçası Lisp'in yazım tarzı daha çok hoşuma gidiyor.

[12:56] | [/kod] | # | G! |
Elektrikli Posta
Uptime
1 yıl, 26 gün, 4 saat, 31 dakika
Çocuklara Bilgisayar
Kategoriler
/ (201)
  dev/ (13)
  kod/ (28)
  life/ (2)
  linux/ (38)
    freedays/ (2)
    senlik/ (0)
      2006/ (15)
  misc/ (58)
  mobil/ (3)
  musiki/ (18)
  net/ (10)
  tech/ (9)
  web/ (5)
Zaman Makinesi
< October 2005 >
SuMoTuWeThFrSa
       1
2 3 4 5 6 7 8
9101112131415
16171819202122
23242526272829
3031     
Kapı Komşuları
Güzel Siteler
Ivır zıvır
XML Feed

FSF Associate Member: 2040

Powered by PyBlosxom

Valid XHTML 1.0!