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

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.

ECLM '08 ve ELS '08'in Ardından

FZ

ECLM 2008 (European Common Lisp Meeting) ve ELS 2008 (European Lisp Symposium) tamamlandı. ECLM 2008'deki konuşmalardan birkaç örnek vermek gerekirse:
  • Marc Battyani, Lisp-based supercomputing
  • Juan José García-Ripoll, ECL - more than an Embeddable Common Lisp
  • Jeremy Jones, InspireData - how it was written in Lisp
  • Kristoffer Kvello, House Designer - using Knowledge Based Engineering and Lisp to automatically design buildings
  • Nicolas Neuss, Femlisp - solving partial differential equations with Common Lisp
  • Stefan Richter, Using Common Lisp for large Internet systems
  • Kilian Sprotte, PWGL - an environment for sound synthesis and computer aided composition

Samantha Kleinberg ile CL-GODB, Common Lisp ve Biyoinformatik Üstüne

FZ

New York Üniversitesi'nden Samantha Kleinberg 2005 yılında Google'ın "Summer of Code" etkinliğine katılmış başarılı yazılımcılardan biri. Kendisi Common Lisp programlama dilini kullanarak CL-GODB projesini geliştirdi. Google ünlülerinden biri oluşu ve Common Lisp kullanmış olması dikkatimizi cezbetti ve her türlü engelip aşıp kendisine detaylı sorularımızı yönelttik. O da bizi kırmadı ve gayet net, konuya dair cevaplar verdi. Yayındayız...

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:

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