Microsoft ve Lisp: Ya da .NET CLR Garbage Collector Hangi Dilde Yazıldı?

0
FZ
USENET comp.lang.lisp forumundaki eğlenceli bir mesaj dikkatimi çekti paylaşmak istedim.

Meğer meşhur .NET platformunun ana bileşenlerinden biri olan CLR (Common Language Runtime) sisteminin çöp toplayıcısı (garbage collector) Lisp ile yazılmış.

Sağlam Lisp "hacker"larından olan ve bir süredir MS için çalışan, CLR'nin baş mimarlığını yapan Patrick Dussud'un yazdığı Lisp kodu daha sonra bir Lisp'ten C'ye dönüştürücü ile C'ye dönüştürülmüş ve bu kod da MS'deki bir stajyer programcı tarafından "temizlenip" derlenip piyasaya sürülmüş.

Lisp ve .NET konusu açılmışken: Her iki dünyadan da vazgeçmek istemeyenler için enteresan projeler çıkmaya başladı: L Sharp .NET (C#'tan çok daha eğlenceli ;-), RDNZL ve FOIL.

Görüşler

0
bm
Bu sasirtici degil, Dussud evvelki mesajlardan birinde bahsettigim RPG'nin Lucid sirketinde calismis. (Lucid'in hikayesi RPG'nin acik itabinda var http://www.dreamsongs.com/NewFiles/PatternsOfSoftware.pdf ) O zamanlar en ilginc islerin yapildigi yerler arasinda Lisp sirketleri oldugu icin, zeki ve uretken insanlari cekebiliyorlardi. Java'nin arkasindaki kisilerden[2] Guy Steele de en bilinen Lispcilerdendir (iki tane referans eseri vardir CLtL va ClTL2). Kendisine java icin 'bu yaptigin is midir?' diyenlere:

"We were not out to win over the Lisp programmers; we were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp. Aren't you happy?"[1]

Yani:

Lisp programcilarini safimiza cekmeye calismiyorduk; C++ programcilarinin pesindeydik. Bir cogunu Lispe dogru yari yola kadar cekmeyi basardik. Memnun degil misiniz? (yani memnun olun bana kizacaginiza diyor. bm)

[1] http://people.csail.mit.edu/people/gregs/ll1-discuss-archive-html/msg04045.html

[2] Java'nin babasi Gosling de RMS'in aklina GPL'in gelmesini saglayan kavgadaki ikinci isim.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Lisp'sel aydınlanma!

sundance

Fani dert ve tasaların yokolup, herşeyin sırrının çözüldüğü söylenen o an vardır ya...

İşte o mertebeye ulaşan bir Lisp programcısının gözünün önünde evrenin sırlarının çözülmesi ve Evrensel Programlama Dili (gerçekten!!!)

Kesmediyse bir de bu var.

Maximus Decimus Meridius der ki "Unleash hellll!!!!"(Salın cehennemi!)

Common Lisp ile Oyun Programlama

FZ

Frank Buss, Common Lisp kullanarak Aqueaduct isimli bir mantık bulmaca oyunu (puzzle) geliştirmiş.

Bir grafik kullanıcı arayüzü de olan oyun MS Windows, GNU/Linux ve Mac OS X ortamlarında (kodda bir değişiklik gerektirmeden) çalışabiliyor. Kaynak kodu meraklısı için öğretici olabilir.

Microsoft VisualLisp#'i Mi Duyuracak?

FZ

Bill Clementson, blog'undaki son girdide şöyle yazmış:

Don Box, XOM, XML ve SOAP üzerine yaptığı çalışmalardan ötürü Microsoft'a geçmeden önce de bir hayli tanınan bir isimdi. Epey akıllı bir adamdır ve blogunu düzenli olarak takip ederim. Ancak son yazılarından birinde "Lisp/Scheme Jobs" başlıklı bir şey görünce şok geçirdim:

More Lisp—For Free ve Birkaç Lisp Makalesi

FZ

O'Reilly her ne kadar Lisp kitabı basmak istemese de O'Reilly yazarları Lisp'ten daha sık bahsetmeye başladı. En son Christopher Roach, More Lisp—For Free başlıklı bir yazı yazmış.

Lisp ile ilgili bir başka makale: Generating HTML with Lisp - a tutorial for new programmers. Gene Michael Stover'ın diğer Lisp makaleleri de okunmaya değer.

Common Lisp ve Bir Optimizasyon Tekniği: Memoization

FZ

"Memoization" tabiri bilgisayar bilimlerinde ilk kez Donald Michie'nin 1968 yılında Nature dergisinde yayımlanan Memo functions and machine learning (Memo fonksiyonları ve makina öğrenimi) makalesi ile gündeme gelmiştir.

Memoization tekniği bir fonksiyonu hesaplarken önceden hesaplanmış değerleri hesaplamadan kullanmak, dolayısı ile işlemi hızlandırmak olarak tarif edilebilir. Sözcük olarak "memorization"ı yani "ezberleme" eylemini çağrıştırmakla birlikte daha genel bir anlamı kapsamaktadır.

Programlama dilinden bağımsız olmakla birlikte, bu yazıda "memoization" tekniğinin Common Lisp'te nasıl kullanılacağına bakacağız. Bunun için Peter Norvig'in PAIP kitabı ana eksenimizi oluşturacak.