#1 AI – LISP PROGRAMLAMA

Selamlar dostlar. Bu yazı henüz LISP için ilk içerik. Biraz nedir ne değildir ondan bahsedelim bakalım.

Lisp , 1958 yılında John McCarty tarafından geliştirilmiş en eski,ikinci üst seviye programlama dilidir. ListProcessing ‘in (Liste İşleme) kısaltılmış ifadesidir. Başlıktan AI (Yapay Zeka) anlaşılacağı üzere çoğu yapay zeka uygulamalarında kullanılır. Çünkü bir çok probleme efektif çözümler üreten modüler bir programlama dilidir.

Diğer dillerden çok eksik kalır bir yanı yoktur. Hemen hemen tüm diğer dillerin sunduğu özelliklere sahiptir (structures, çok boyutlu diziler, nesneler, karakter katarları vs.)

LISP, adından anlaşılacağı üzere List Processing ‘in (Liste İşleme) kısaltılmış ifadesidir. Yani değişkenleri liste olarak kabul eder. Dinamiktir; kullandığınız veri tiplerinden fonksiyonlara kadar bütün girdiler( entry) her yönüyle değişebilmektedir. Esneklik sağlar. Değişken tipi tanımlamaya gerek yoktur. Programın çalışır hale gelmesi için kendisi belirler değişken tipini, biz buna implicit tanımlama deriz.

Hata bildirimi ve hata eleme için güçlü araçlar sunar yani güvenlidir. Bütün olayları kontrol altında tutar, beklenmedik bellek hatalarına ve çakışmalara izin vermez. En az sınırlayıcı syntax’a sahip olması en önemli avantajlarındandır. Case sensitive değildir, yani istediğiniz şekilde büyük ve küçük harf ayrımında özgürsünüz. LISP Context free gramerdir. Ne demek bu!? İçerikten bağımsız bir dil demek. (Ancak bunu ne demek olduğunu açıklamak için başka bir yazı yazmam gerekiyor, öyle kısa bir konu değil.)

Geliştirişmiş hata tutma sistemine sahiptir. LispteGarbage-Collection vardır ve bununla daha emniyetli daha kesin ve doğru hafıza yönetimi sağlarsınız. Diğer modern diller gibi sınırlayıcı, birsürü yazım biçimini zorlayıcı da değildir.Basit ve esnek bir yazımı vardır. LİSP ; C ,C++‟ta run time anında yapılması gereken bir çok şeyi compiler anında yapmaya izin verir. Bu da ayrı bir avantaj.

Bu kadar teorik bilgi yeter, pratik bir şeyler öğrenelim. LISP’de aklınıza gelebilecek her şey parantezden oluşur. Her şey parantezle başlar ve parantezle biter.

Parantezsiz bir LISP, klavyesiz bir bilgisayara benzer.

Ayrıca LISP’de rekürsif mantık sürekli var olan bir şeydir. Yazılınca çalışacağına inanamayacağınız kodlar söz konusu. Rekürsif düşünmeye zorlar bizi. Rekürsif düşünmek ve yazabilmek ne kadar zeki olduğumuzun bir ölçütü olabilir.

Lisp dünyasında bir implimantasyon seçimi ile başlanır. Lisp C# veya Java gibi al bu dil kuralları bunlarda geçerli IDE ve editörler denebilecek bir dil değildir. Tarihsel gelişimi çok uzun olduğundan dolayı farklı lisp yürütücüleri vardır. MCL, SMCL, CUMUCL, Alegro CL en bilinenleridir. Aslında tüm olay bunca farklı lisp yorumlayıcısına rağmen ortak bir Lisp dili kümesi olan Common Lisp in ANSI standartı ile kurala bağlanmasıdır. Yukarda saydığım Lisp implimantasyonlarından biri seçilebilir. Editör noktasında Notpad dahil her editör kullanılabilir.

Eclipse lisp eklentisi de mevcut. Eklentinin kurulumu ve güzel bir başlangıç http://www.ibm.com/developerworks/opensource/library/os-eclipse-lispcusp/  adresinde mevcut.

İkinci LISP dersinde, basit bir lisp implimantasyon seçerek ilk kodları yazmaya başlayacağız, iyi çalışmalar.

Kullandığım kaynakçalar https://tr.scribd.com/document/68388202/Lisp-Notlar%C4%B1 https://tr.scribd.com/document/25135642/l%C4%B0sp-Programlama-d%C4%B0l%C4%B0

2 Comments on “#1 AI – LISP PROGRAMLAMA”

  1. I’m really impressed along with your writing skills as well as with the structure in your blog.
    Is this a paid subject matter or did you customize it your self?
    Anyway stay up the excellent quality writing, it’s rare to see
    a nice blog like this one nowadays..

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir