Land Of Lisp Çıktı

0
okanakyuz
İleri seviye sitesindeki lisperati (Tılsımlı Programlama) (http://ileriseviye.org/Makale/lisperati-tr/) metninin orjinalinin yazarı Conrad Barski en sonunda bir lisp kitabı çıkarttı. Kitap Lisp diline bir türlü alışamayan meraklılar ile yeni başlayan kullanıcılara hitap ediyor. Ayrıca lisp dilini komik hikayeler ve karikatürler ile anlatmakta. http://landoflisp.com/ sitesinden kitabın 8nci bölümünü okumak da mümkün.

Web sitesinden de öğrenilebileceği gibi ünlü lisp programcısı ve Hackers & Printers adlı Türkçe'ye de çevrilmiş kitabın yazarı Paul Graham'in "Turns out the border between genius and insanity is a pretty cheery place" şeklindeki yorumuna mazhar olan kitap aynı zamanda lisp dünyasının gezegeni olan Planet Lisp (http://planet.lisp.org/) sitesinde de adından söz ettirmekte.

Her ne kadar kitap Common Lisp üzerine yazılmış olsa da CLOS (Common lisp için meta objects. Nesne tabanlı programlamada kullanılmaktadır.) gibi birkaç kilit konuya değinmek yerine kendisine fonksiyonel programlama yolunu tercih etmiş. Kitapda birbirinden farklı metin tabanlı oyunlar yazılarak Lisp dili sevdirilmek istenmiş. Hatta SVG, PNG gibi dosyalar oluşturulmuş ve bir HTTP server uygulaması bile yazılmış.

Kitap kimi özellikleri ile Peter Seibel'in Practical Common Lisp isimli internetten de okunabilen kitabının (http://gigamonkeys.com/book/) gerisinde kalsa da örnek çeşitliliği, anlaşılabilirlik ve eğlence yönünden göz doldurmakta.

Görüşler

0
auselen
http://landoflisp.com/comic_20x_32.png

Merakimdan soruyorum, Lisp ile sorunlu (bugli) program yazmak imkansiz mi? Yani Lisp'in tek olayi bu mu?
0
bmeric
Bug dilden bağımsız bir kavram. Lisp ve genel olarak fonksiyonel dillerin yaygın hatalarda fazla isminin geçmemesi o yaygın hatalara yol açan dillerden ayrı bir dünyada olmasından kaynaklanıyor. Misal integer overflow c ve benzer diller ile gayet basitken(tamsayı vs. tamsayı mod 2^birşeyler) fonksiyonel dillerin çoğunda becerebilmek için rami bitirmek gerektiğinden haliyle bu türden yaygın hatalarda ismi geçmiyor. Tabi her yönelimin kendine has problemleri oluyor.(misal bir çok insana göre dynamic typing başlı başına bug :) )

Sanırım fonksiyonel diller hakkında "yahu çok güzel bugsız programlar yazıyor insanlar bununla" inanışını körükleyen asıl neden Python Paradoxu'nda bahsedilen durumla alakalı.
0
okanakyuz
ayrıca bahsettiğimiz bu kitapta Team-Read Eval RPTL diye bir kısım var. Nasıl lisp ile hata yapabileceğinizi de anlatıyor. Crackera acık kapı oluyor.
0
FZ
Hayir tabii ki. Lisp'in ne gibi 'olaylari' olduguna dair bilgi edinmek için mesela güncel bir habere bakilabilir: Google AI Yarışması Birincisi: Gábor Melis (ve Common Lisp). Ve hayir, tabii ki adamin birinci olmasinin tek sebebi (hatta ikinci, ücüncü sebebi bile) Common Lisp kullanmasi degil. Ama birinci oldu ve uzunca süredir tercih ettigi dil Lisp. Lisp'le ilgili cizgi-roman gibi olmayan bir giris için Lisp tutorial'a bakilabilir. Yahut Successful Lisp kitabina. Ya da "Structure and Interpretation of Computer Programs"a.
0
auselen
Lispcileri giderek "Yehova'nın Şahitleri"ne benzetiyorum.

Kapiya geliyorlar, gitmelerini bekliyorsun...

:)
0
FZ
Enteresan bir yorum olmuş. Yoruma yol açan verdiğim kitap isimleri ve bağlantıları mı oldu kestiremedim. Yoksa Google AI yarışmasında birinci olan çözümün Lisp ile hazırlanmış olmasını vurgulamam mı, onu da bilemedim (özgün haberde geçen çizgi roman tarzı şeyleri açıkçası pek tasvip etmiyorum, ne bileyim bu biraz da 'Logicomix: An Epic Search for Truth' kitabından hazzetmemek gibi bir şey, 'bug çıkması imkansız mı bununla yazınca' gibi haklı ve saçmalığa işaret eden yorumlara yol açtığı için). Kast edilen 'evangelism' gibi bir durum ise o konuda Lisp muhabbetlerinin yapıldığı ortamların için belki ona benzer şeyler olur da, diğer teknolojilere kıyasla Lisp ile ilgili çok daha 'evangelism' yapıldığını düşünüyorum (Perl, Java, C#, vs. ile kıyasladığımda).
0
auselen
(yoğun günler)

Sürekli kitaplardan ya da mucizelerden örnek vererek övülen bir konuya yapılan benzetme benimkisi. Kapı ile anlatmak istediğim ise karşılarındakilerin dinliyor olması olayın boyutunu/ciddiyetini/ciddiyetsizliğini değiştirmiyor, sadece nezaketen yaşanan bir durum.

(son cümleni tam anlayamadım)

Lisp'i beğenmiyor değilim, seninde anladığın üzere daha çok oradaki karikatüreydi tepkim.

Hepimizin ezberlediği gibi bilgisayar bilimleri çok geniş bir alan. Lisp'in de yeri var, C'nin de, Java'nın da, Ruby'nin de... Elindeki soruna göre dili seçmek gerektiğini de herkes biliyor. Gel gelelim 'flame wars forever'.

Endüstri biraz daha farklı tabi, politik kararlara kadar bir çok etken var belirli dillerin daha yaygın olmasına. Üstelik herhangi bir yeni (script diyelim mesela) dil ile arkasına milyon dolarlık insan gücü yığılmış dil aynı olamıyor. Endüstriyel güç ile kağıt üzerindeki spesifikasyonun(?) yarışması hayli zor. Bunun en güzel örneği C herhalde.
0
FZ
Google Sussman'ın gitmesini beklemiş midir kapıdan bilmiyorum ama madem Lisp'ten açıldı laf, şunu da not edelim: Adventures in Advanced Symbolic Programming Gerald Jay Sussman @ Google: "Advanced Symbolic Programming lectures given by Gerald Jay Sussman in Google. Concepts and techniques for the design and implementation of large software systems that can be adapted to uses not anticipated by the designer. Applications include compilers, computer-algebra systems, deductive systems, and some artificial intelligence applications. Means for decoupling goals from strategy. Mechanisms for implementing additive data-directed invocation. Working with partially-specified entities. Managing multiple viewpoints. Topics include combinators, generic operations, pattern matching, pattern-directed invocation, rule systems, backtracking, dependencies, indeterminacy, memoization, constraint propagation, and incremental refinement."
0
cubic-meter
Hackers & Printers değil, Hackers & Painters olacak sanırım.
0
okanakyuz
Aynen .. painters :)
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Kor Bilişimden Common Lisp Tabanlı JavaScript Üreteci

aycanirican

Web uygulamaları konusunda araştırma ve geliştirme yapan Kor Bilişim, Core Server ile beraber kullanabileceğiniz tamamen yeni ve özgün bir JavaScript üreteci geliştirdi.

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ı

MatzLisp: Yeni bir Lisp lehçesi ;-)

anonim

Ruby'nin yaratıcısı Matz yaptığı açıklamayla Ruby'nin kökeninde Lisp olduğunu bu yüzden dilin bundan böyle MatzLisp olarak adlandırılması gerektiğini söyledi.

Kaynak: http://ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/179642

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

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.

Avrupa Common Lisp Buluşması: Sunumlar ve Videolar

FZ

Bu sene 24 Nisan tarihinde, Amsterdam'da, 19 ülkeden 80'i aşkın katılımcıyla gerçekleşen ECLM2005 (European Common Lisp Meeting) pek çok ilginç sunuma ve konuşmaya ev sahipliği yaptı.

Daha önce burada sık sık adı geçen Practical Common Lisp kitabının yazarı Seibel'in "Lispçi olmayanlara Lisp'i nasıl anlatırsınız" başlıklı eğlenceli konuşmasından tutun António Menezes Leitão'nun "Lispçiler için Java" sunumuna dek pek çok videoya Weitz'in sitesinden veya İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri bölümü yansısından erişmeniz mümkün.