Cusp: Eclipse için Common Lisp Eklentisi

0
zekzekus
Lisp ile uğraşan ama Emacs editörüne alışamamış benim gibi kullanıcıların yardımına Eclipse IDE ortamı için hazırlanmış Cusp eklentisi yetişiyor.
Henüz 0.7.0 versiyonunda bulunan eklentinin sağladığı özelliklerin başlıcaları şunlar:

- SBCL derleyicisi eklenti ile birlikte geliyor.
- Swank kullanıyor.
- Oldukça iyi durumda kod tamamlama.
- Geliştirme ortamına entegre edilmiş REPL.
- Bütün dosyayı ya da belirli bir expression derleme.
- Tooltips ile sembol tanımı, macro-expansion vs.
- Windows, GNU/Linux ve Mac için hazırlanmış paketler.
- vb.


Özellikle günümüzde sık kullanılan geliştirme ortamlarına alışmış olan kullanıcılar için takip edilesi bir proje.

Görüşler

0
FZ
Halihazırda Eclipse gibi büyük bir IDE ortamını kurup Java, vb. diller için kullanmakta olanlar arasında Lisp'e heves edenler için anlamlı olabilir, öteki türlü sırf bu eklenti için gidip Eclipse indirip kurmak çok anlamlı görünmüyor.

Ayrıca sanki Emacs ve SLIME'a, SBCL yükleme mevzusuna biraz haksızlık yapılmış gibi. Debian ya da Gentoo gibi kaliteli GNU/Linux yazılımlarını kullanan kişiler için SBCL, SLIME, EMACS vs. kurmak misal bir apt-get komutuna bakar. Birkaç dakika sonra sistem emrinize amadedir. Yok eğer MS Windows kullanıyorsanız onun için LispBox, LispWorks, AllegroCL gibi her keseye ve zihniyete uygun anahtar teslim çözümler var.

Ekran görüntüleri, yani Eclipse seven sevebilir, belli bir IDE mantalitesi ve tutarlılık sağlıyor elbette öte yandan Lisp kodlarken bir fonksiyon ismi yazmışken onun tamamlamak ya da açıklama amaçlı karşıma kocaman sarı pop-up pencerelerin çıkması "büyük rahatlık" değil.

Bir konuda hak veriyorum, maalesef SLIME dokümantasyonu SLIME'ın güçlü ve çok kestirmeden iş güç yapmayı sağlayan özelliklerini tamamen yansıtmıyor, bundan şikayet edenler var haklı olarak. Mesela meşhur birkaç SLIME videosuna gelen "a-aa bu özellik de mi varmış, hiç bilmiyordum" tepkileri örnek gösterilebilir. Bu bakımdan rekabet iyi, belki SLIME geliştiricileri bu eklentiye bakıp eğer varsa daha güçlü yönlerinden feyz alabilirler.
0
zekzekus
""Halihazırda Eclipse gibi büyük bir IDE ortamını kurup Java, vb. diller için kullanmakta olanlar arasında Lisp'e heves edenler için anlamlı olabilir, öteki türlü sırf bu eklenti için gidip Eclipse indirip kurmak çok anlamlı görünmüyor.""
Kesinlikle katılıyorum. Eclipse'i zaten kullanlar için çok ama çok tanıdık bir ortam. Cusp sitesinde eklentinin avantajlarından biri olarak Eclipse içindeki proje yönetimi gösteriliyor. Emacs+Slime kombinasyonunda bu olanak ne kadar var bilemiyorum.
""Ayrıca sanki Emacs ve SLIME'a, SBCL yükleme mevzusuna biraz haksızlık yapılmış gibi. Debian ya da Gentoo gibi kaliteli GNU/Linux yazılımlarını kullanan kişiler için SBCL, SLIME, EMACS vs. kurmak misal bir apt-get komutuna bakar. Birkaç dakika sonra sistem emrinize amadedir. Yok eğer MS Windows kullanıyorsanız onun için LispBox, LispWorks, AllegroCL gibi her keseye ve zihniyete uygun anahtar teslim çözümler var.""
Artık windows içinde sorun değil bence. Ben win XP işletim sisteminde SBCL+Emacs+slime kurup çalışır hale getirmek Lispbox olmadanda son derece rahat yapılan bir işlem. Hatta emacs'in şaşırtıcı(benim için) modlarını da kurup genelde sorunsuz kullanmak mümkün.
Kod tamamlama ve tooltips ise neden bilmem (tembellik??) geliştirme ortamları için vazgeçilmesi güç bir özellik gibi geliyor bana.(Bu konuda emacs'de gayet başarılı gerçi.)
Sonuçta Common Lisp ile ilgilenmeye başladığımda ilk iş güzel bir ide aramıştım. Lispworks ve Allegro CL'yi inceledim ama bunların "Express" sürümler olması kimi kısıtlamalarının bulunması ayrıca büyük ihtimalle gerçekten lisanslarını hiç almayacak olmam başka çözümler aramaya itmişti. Bu ortamlardan hemen sonra Eclipse (Java ve Python için kullanıyordum zaten) için bir Lisp eklentisi aramış ama tatmin edici bir şey bulamamıştım.
Belki de tam emacs ile Lisp kodlamaya, gnus ile maillerime bakmaya, ERC ile IRC serverlarına bağlanmaya, sql-mode ile Oracle veritabanına bağlanmaya alışmışken bunu bulmak iyi olmadı ama alışkanlıklardanda kolay vazgeçilemediğini de anlamış oldum.
0
FZ
Belki de tam emacs ile Lisp kodlamaya, gnus ile maillerime bakmaya, ERC ile IRC serverlarına bağlanmaya, sql-mode ile Oracle veritabanına bağlanmaya alışmışken bunu bulmak iyi olmadı ama alışkanlıklardanda kolay vazgeçilemediğini de anlamış oldum.

Gücü hissetmeye başlamışsınız :) Peki ya hiç CEDET, SpeedBar gibi şeylere baktınız mı?

Bir de tabii o Cusp, Eclipse IDE ortamına Emacs metin işleme özelliklerini yani SLIME'dan filan bağımsız, doğal olarak s-exp tabanlı metin işleme özelliklerini de getiriyor mu bilmiyorum.
0
zekzekus
"Gücü hissetmeye başlamışsınız" :)
Evet :)
"Bir de tabii o Cusp, Eclipse IDE ortamına Emacs metin işleme özelliklerini yani SLIME'dan filan bağımsız, doğal olarak s-exp tabanlı metin işleme özelliklerini de getiriyor mu bilmiyorum."

Zannetmiyorum açıkçası biraz kurcalama fırsatım oldu kendisini ama emacs'e mi alıştım bilmeden yoksa daha proje çok mu başlarında, umduğum kadar rahat edemedim. Lisp ile ilgili bir kitapta "Lisp takıntı yapar kendinizi kaptırırsanız öyle gider" (tam olarak böyle değildi cümle) mealinde bir şeyler vardı. Sanırım böyle bir hastalık :) bulaştı banada. Bu Lisp insanı emacs'e de bulaştırıyo sanırım. İşyerimde sql*plus gerektiren işler için emacs+sql-oracle modunu açtığımda şaşıran çok oldu.;)
0
FZ
Zannetmiyorum açıkçası biraz kurcalama fırsatım oldu kendisini ama emacs'e mi alıştım bilmeden yoksa daha proje çok mu başlarında, umduğum kadar rahat edemedim. Lisp ile ilgili bir kitapta "Lisp takıntı yapar

Projenin başlarında olmaları ile ilgisi yok. Çünkü siz SLIME kullandığınızda sadece SLIME ile gelen özellikleri kullanmıyorsunuz, aynı zamanda Emacs'a içkin olan yani hiç SLIME filan olmasa dahi Emacs ile birlikte gelen ve Common Lisp, Scheme, vs. kaynak kodunu düzenlemeyi çok kıvrak hale getiren metin düzenleme özelliklerini kullanıyorsunuz. Cusp geliştiricileri bunu hedefleyeceklerse zaten bir nevi Emacs metin düzenleme işlevselliğini Eclipse IDE metin editörüne katmak gibi iddialı bir şeyi hedefliyor olacaklardır.

kendinizi kaptırırsanız öyle gider" (tam olarak böyle değildi cümle) mealinde bir şeyler vardı. Sanırım böyle bir hastalık :) bulaştı banada. Bu Lisp insanı emacs'e de bulaştırıyo sanırım. İşyerimde sql*plus gerektiren işler için emacs+sql-oracle modunu açtığımda şaşıran çok oldu.;)

Onları şaşırtmaya devam edeceğinizden şüphem yok. Bu arada bir noktaya daha dikkat çekeyim: Emacs ortamında Lisp kodlarken mesela editöre dair ya da SLIME'a dair bir değişiklik yapmak, bir özellik eklemek isterseniz yine bir tür Lisp olan Emacs Lisp ile Emacs'a müdahale edeceksiniz, dolayısı ile benzer zihniyet. Öte yandan Cusp'a katkıda bulunmak isterseniz, Eclipse'e müdahale etmek için yani sanırım Java kullanmanız gerekecek (yanılıyorsam düzeltin), bu da iki zihniyet arasında geçiş yapmak demek, bu bir dezavantaj.
0
FZ
Cusp geliştiricisi gördüğüm kadarı ile Paragent çalışanı. Böyle bir şeyle uğraştığına göre acaba çalışanı olduğu yazılım firması da bazı projeler için CL kullanıyor mudur diye düşündüm bir an. Kullanıyor olsalar da söylerler mi o da ayrı bir konu ;-)
0
tongucyumruk
Sitelerindeki ürün demosuna bakılırsa Uncommon Web kullanıyorlar.
0
FZ
Bilgi için çok teşekkürler, baktım o demoya. Güzel ve rahat kullanılan bir web uygulamasına benziyor. Common Lisp ve UCW bir kez daha birilerine rekabet avantajı sağlıyor gibi...
0
hb
Debian testing uzerinde kurulu Eclipse 3.2'de denedim. Nedense defpackage ile baslayan ifadeleri `eval` etmeye kalkinca, repl yanit vermeyi birakiyor. Cok kurcalayamadim bu yuzden.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

newLISP

bk

Bu kadar Lispçinin gözünden kaçmış olabilir mi bilemiyorum ama ben bulamadım: newLISP for BSDs, GNU/LINUX, MacOS X, Solaris, Win32.

newLISP, yapay zekâ ve istatistik gerektiren alanlarda web uygulamaları ve diğer türden yazılımlar için geliştirilmiş genel amaçlı bir betik dilidir. FAQ belgesi ve Common Lisp ile Scheme'den farklılıkları daha detaylı bilgi vermektedir.

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

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.

Lisp ile TILSIMLI ve Renkli Programlama: Lisperati

FZ

Tüm zamanların en renkli Common Lisp programlama kılavuzlarından Lisperati artık anadilimizde.

Söz konusu belge İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü öğrencisi Seda Çelebican tarafından Türk diline çevrildi. Belgenin Türk kültürüne uyarlanmasında ve genel editörlük işlemlerinde İstanbul Bilgi Üniversitesi eMBA Yazılım Geliştirme ekibinden Emre Sevinç emek harcadı. Bu süreçte çok titiz eleştirileri, geri beslemeleri ile bize yardımcı olan Bilkent Bilgisayar Mühendisliği bölümü öğrencilerinden Hayrettin Gürkök'e ve Lisp konusunda yardımcı olan Bülent Murtezaoğlu'na teşekkürü bir borç biliriz. Belgedeki hatalardan çevirmen ve editör sorumludur. Orjinal belgenin yazarı Dr. Conrad Barski hiçbir maddi hatadan ötürü sorumlu tutulamaz. Belgeyle ilgili tartışma ve her türlü soru için bu haberin altına yorum yazabilir, iletişim kurabilirsiniz.

Lisperati belgesindeki kodları denemek için hiçbir şey kurmanıza gerek yok. Belgede anlatıldığı gibi uzaktaki bir telnet servisine kolayca bağlanıp kodları hemen derleyebilirsiniz ancak bu konularla daha ciddi ilgileniyor ve kendi Lisp ortamınızı kurmak istiyorsanız daha önce FM'de yayınlanan Common Lisp Geliştirme Ortamı Kurulumu kılavuzundan faydalanabilirsiniz.

Güncelleme (2/5/2005): Kılavuzu PDF olarak hazırlayıp Ayhan Barış'a çok teşekkür ederiz.

Lisp Çalışma Grubu Etkinliklerine Başladı

FZ

İstanbul Bilgi Üniversitesi'nden Bilgisayar Bilimleri bölümü asistanlarının inisiyatifi ile kurulan ve tüm ciddi heveslilere açık olan (İstanbul Bilgi Üniversitesi Lisp Çalışma Grubu) bundan kısa bir süre önce kuruldu ve faaliyetlerine başladı.