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

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ış.

Diyelim Ki Elimizde Nesneye Yönelimli Bir Dil Yok - Alice Nesneler Diyarında

FZ

Elinizdeki programlama dilinde nesneye yönelimli (OO - Object Oriented) programlama imkanı olmasa idi ne yapardınız? İki seçenekten biri gelirdi aklınıza herhalde:
  1. OO desteği veren bir dil kullanmaya başlamak.
  2. Elinizdeki dile OO desteği katmak için uğraşmak.
Bu kısa yazıda Peter Norvig'in PAIP (Paradigms of Artificial Intelligence Programming Case Studies in Common Lisp) kitabının 13. bölümündeki birkaç kısa örnekten yola çıkarak "eğer Common Lisp dilinde CLOS (Common Lisp Object System) gibi bir şey olmasaydı bunu nasıl gerçekleştirebilirdik?" sorusunun cevabının ilk bölümüne göz atacağız.

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.

UnCommon Web ile “Merhaba Dünya”

FZ

Ne zamandır fırsat bulamadığım UnCommon Web geliştirme çatısı ile bir kaç deneme yapabildim sonunda. Kurcalamaya başlamak için önce UCW’yi kurmam gerekti doğal olarak. Oldukça fazla sayıda olan bağımlı olduğu paketleri tek tek kurmak yerine şu adresten UCW-boxset paketini indirdim. Windows sistemimde çeşitli hatalar aldığımdan sanal makine üzerindeki Debian sistemime kurdum. Kurdum derken ev klasörümde arşiv dosyasını açtım sadece. Gerisi UCW-boxset klasöründeki “start.lisp” dosyasını Lisp sistemine yüklemekten ibaret zaten. Veritabanı erişimi için (malum web programlama veritabanı olmadan olmaz) clsql paketini kullandım...

Zekeriya Koç'un Common Lisp ile geliştirilmiş UnCommon Web uygulama çatısına güzel ve örneklerle dolu bir giriş niteliği taşıyan yazısının devamını buradan okuyabilirsiniz.

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.