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

Dama Oynayan LISP kodu - Altüst (Minimax) Algoritması

malkocoglu


Bilgisayarlar bir problemi yapay zeka kullanarak çözerken, kullandıkları teknikler; Karar ağacı, akıllı tahmin yeteneği ve o ana kadar geçilen yolu hatırlamaktır.
Bir rakibe karsi oyun oynayabilen bir yapay zeka algoritmasi bu tekniği bir ileri götürerek, rakibin hareketlerini de çözüm alanına almaya çalışır. Altüst (Minimax) algoritmasi, oyun zekası alanında bilinen bir algoritma; Yapay Zeka dersi için yazılmış ve altüst kulanan LISP Dama kodlarını sitemizden paylaşıyoruz.
Yapay Zeka ve Müsabaka - Altüst Algoritması

Meta-programlama sanatı

tongucyumruk

IBM DeveloperWorks'te yayınlanan makalesinde Jonathan Barnett meta-programlama ve makro işleme konularını incelemiş. Yazının içinde CPP ve M4 gibi çeşitli makro dillerinden örnekler ve son olarakta Scheme ile yazılmış makrolardan bahsediliyor. Özellikle diğer dillerdeki makrolar ile Lisp ailesindeki dillerin makroları arasındaki farkı anlayabilmek için okunması gereken bir makale.

R6RS Yayınlandı

tongucyumruk

1970'lerin sonunda özellikle eğitim alanında rahatça kullanılması ve o dönemde Lisp ailesindeki (daha sonra Common Lisp olarak standartlaşan) benzer dillerin karmaşıklığından uzak durması planlanarak tasarlanan Scheme dilinin yeni standardı R6RS resmileşti. 1998 yılında duyurulan R5RS'in ardından birçok güncelleme geçiren dil standardı buna karşılık temel tasarım hedeflerini aynen koruyor.

Hepimize hayırlı, uğurlu olsun.

Not: Slashdot'tan, Google News'ten, hatta Schemers.org'dan önce fazlamesaide!

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.

Video: 5 dakikadan kısa sürede TCP/IP network ve multithreaded programlama

FZ

Daha önceden Rebel With A Cause ve A Day At The Beach makaleleri ile tanıdığımız tehlikeli programcılardan Sven Van Caekenberghe gene yapacağını yapmış.