Lisp Programlama

LISP
Programlama dillerinin çeşitlemesinde önceleri işlemsel dillere agirlik verilmiştir. Işlemsel dillerde programlama, ayrintili olarak komut tabaninda gerçekleştirilir. Bu yaklaşimli dillerin her alanda kullanilmasinin zorlugunu görenler yeni ufuklara açilan programlama dillerinin yaratilmasi üzerinde çalişmaya başlamişlardir. LISP, bunlardan ilkidir ve programlama dillerinin siniflandirilmasinda uygulamali dil olarak kendine yer bulmuştur.
LISP, MIT'de (Massachuesetts Institute of Technology) John McCarthy başkanligindaki bir grup tarafindan 1960 yilinda tasarlanip gerçekleştirilmiştir.
LISP'in özelliklerinden dolayı özellikle oyunlar, teorem kanıtlama, robotlar ve doğal dil anlama gibi alanlar üzerine araştırmalarda kullanılması 60'ların ortalarından sonra hız kazanmıştır.
Önemli bir bellek yönetimi tekniği olan garbage collection ilkkez LISP'de kullanılmıştır. LISP, her seferinde kendisine yenilikler ekleyen değişikliklere uğramıştır.
LISP (List Processing - Liste İşleme) dili çoğu yönüyle diğer dillerden farklıdır :
. LISP'de program ve veri eşdeger biçimlerde tutulur. Veri yapilari, program olarak çaliştirilabilir; programlarin üzerinde, veriye uygulanircasina degişiklikler yapilabilir.
. LISP, döngüler yerine özyineleme ile denetim yapısını kurar
. Temel veri yapısı olarak liste kullanılır. Dil, listeler üzerindeki genel işlemlerin tamamını destekler.
Bir LISP programında ardışık işlev altprogram tanımları ile bu işlevlerin uygun parametreler ile çağrıldığı çağrı bölümü vardır. Her işlev altprogramı bağımsız tanımlanır. LISP'de blok yapısı yoktur. İşlevler arasındaki iletişim, işletim sırasındaki çağrılarla sağlanır.
LISP işlevleri ifadeler olarak tanimlanir. Her işleç deger döndüren bir işlevdir.
LISP'in veri türlerine atomlar ve sayılar girer. Bağlı listeler temel veri yapısıdır. LISP, bağlı listeler üzerine yaratma, silme, değişiklik yapma gibi bir çok ilkel işleci bulundurur. Temel aritmetik işlevleri de sağlanmıştır. İşletim zamanında programı yorumlama ve işletme LISP'de bulunur. Böylece devingen olarak programlar oluşturulup çalıştırılabilir.
Denetim yapıları yönünden LISP basitlik gösterir. Cambridge Polish biçimi denilen bir şekilde ifadeler yazılır.
Altprogram parametreleri, değer ya da ad ile geçirilebilir. LISP genellikle yorumlayıcıyla kullanılan bir dildir. Çoğu uygulamada bir de LISP derleyicisi vardır. Bu derleyici istenilen altprogram tanımlarını makine koduna çevirir. Ancak LISP, yapısından dolayı derlemeye uygun değildir çünkü çoğu zaman bağlamalar işletim zamanında yapılır.
LISP'in en önemli sorunlarından biri parantezlerdir. LISP programı yazarken yanlış yere konulacak bir parantezin yol açtığı hata kolay kolay bulunamaz.
LISP programları kolay okunur programlar değildir. Bu yönleriyle programcı gruplarının LISP ile çalışırken sıkca yazım standartlarına uymaları gerekmektedir.
LISP'de sadece sıradan kütüklerin işlenmesi desteklenmiştir. Daha gelişmiş kütük yapıları için belli standartlar oluşturulmamıştır.
Bir yorumlayıcıyla çalışan LISP programları için en öenmli kısıtlamlardan biri hızdır. Bu engel, derlenmiş işlevlerle aşılmaya çalışılmaktadır.

 

0 yorum: