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

Bağlı Listeler, C, Lisp, Scheme...

FZ

Bağlı listeler programcıların kullanabilecekleri soyutlama araçları arasında önemli yer işgal ederler. Bu veri yapılarını kullanarak veri işleme süreçlerini kolayca yönetmek mümkündür.

Jonathan Bartlett, IBM developerWorks sitesindeki Techniques for using linked lists in C and -- smarter still -- Scheme makalesinde bağlı listelere dair önce C programlama örnekleri vermekte ve daha sonra liste yapısını dilin doğal parçası olarak ele alan Lisp benzeri Scheme dilinde benzer işlerin nasıl daha kolayca ve soyut seviyede yapılabileceğini göstermektedir.

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ı

eXtreme Programming ve Bir Başarı Öyküsü

FZ

Bill Clementson son blog girdilerinden birinde birkaç gün önce gerçekleştirdikleri etkinlikte sunum yapan ve bir başarı öyküsü aktaran Ken Dickey'e yer vermiş.

Avustralya kökenli başarılı bir start-up olan Memetrics'in öyküsünü çarpıcı bir dille anlatan Dickey, eXtreme Programming metodolojisi ve Common Lisp'ten faydalanarak geliştirdikleri sistemi anlatan güzel bir sunum hazırlamış.

Keskin rekabetten ve gizli silahların gücünden hoşlananlar için incelenesi bir örnek. Afiyet olsun.

Neden Arc Özellikle Nesne Yönelimli Değil?

FZ

Paul Graham'ın Why Arc Isn't Especially Object-Oriented makalesi yazılım dünyasında bazı çok tekrarlanan ve düşünmeden kabul edegeldiğimiz kalıpları sorgulamamız için kısa ve etkili makalelerden biri.

Daha önce Common Lisp ile Internet Programlamaya Giriş Kılavuzu makalesi ile tanıdığımız İstanbul Bilgi Üniversitesi, Bilgisayar Bilimleri bölümü öğrencilerinden Haldun Bayhantopçu'nun çevirisi ile bu makaleyi FM'de de yayınlıyoruz. Çevirinin daha güzel bir hale gelmesinde emeği geçen Türkiye Lisp Çalışma Grubu üyelerine teşekkürler.

Ruhan İkeda ile Müzik ve Lisp Üstüne

FZ

Bir sonraki Lisp toplantısının konuşmacısı Bilgi Üniversitesi'nde Müzik ve Linux dersini veren Ruhan İkeda.

Ruhan İkeda, gerçekleştirdiği müzik araştırmalarından ve bunlarla bağlantılı olarak kullandığı Common Lisp tabanlı araçlardan bahsedecek.

Düzeltme: Etkinlik 14 Ekim'de değil, 14 Kasım'da gerçekleşecek.