On May 13 03:19, Bulent Murtezaoglu wrote:
> >>>>> "VY" == Volkan YAZICI <[EMAIL PROTECTED]> writes:
> [...]
>     VY> İnsanların CPAN kadar büyük ve kullanımı her türlü araç ile
>     VY> for-dummies zihniyetine kadar indirgenmiş bir kütüphaneden
>     VY> çok, CPAN'ın onda biri bir hacme ama en önemlisi en az onun
>     VY> kadar kararlı bir kütüphaneye ihtiyaçları var. (En azından ilk
>     VY> adım olarak.)
> 
> Bunu cok duyuyoruz -- genelde kullanan insanlardan degil de bir sekilde
> kullanmaya deger mi diye dusunenlerden.

Açıkcası ben sonraki katagoriye giriyorum. Kendi ev bilgisayarımda
Scheme ile ufak tefek yatay atış hareketlerinde bulunuyor olsam da,
birine karşı sorumlu olduğum işlerde Scheme'den yana tercihte
bulunamıyorum. Bunun nedeni de kullanmaya değer mi sorusundan çok,
ekibin içinde tek Scheme taraftarı ben olmamdan kaynaklanıyor.

> Mesela eksikligini cektiginiz
> veya cekeceginizi dusundugunuz kutuphaneler nelerdir? Bunu eziyet olsun 
> diye degil de, bilgi acisindan soruyorum.

Bu konuda çok derinlemesine bir araştırmam yok, ama şirkette yazdığım
kodları hep evde "Scheme ile yazsam nasıl olurdu?" fikrinden yola
çıkarak olsa güzel olurdu şeklinde düşündüğüm paketler şu:

 - Caching özelliği olan işlevsel bir templating engine. Kendim bu
   konuda ClearSilver (C, Python için) ya da (söz konusu dil PHP
   olursa) Smarty paketlerini kullanıyorum. Bildiğim kadarı ile, Lisp
   tarafında bu olay UCW ile sınırlı gibi; ya da en azından UCW kadar
   geniş özelliklere sahip olan başka yok. Ve yine yanlış bilmiyorsam
   UCW'nin caching özelliği yok ve template'lar için kullandığı söz
   dizimi yapısı bana biraz kullanışsız geldi.
 
 - PostgreSQL için adam akıllı bir API'nin olmaması.

 - Veritabanları konusunda connection pooling, load balancing[1]
   alanları için bildiğim elle tutulur bir alternatif henüz mevcut
   değil.
 
[1] Bu konunun çok hassas ve bir o kadar da karmaşık olduğunu kabul
    ediyorum. Hatta öyle ki, her RDBMS için ayrı implementasyon
    gerekebilir. Ama en azından bunun için örnek gösterilebilecek tek
    bir proje olabilirdi.

Bunlar şu an bir çırpıda aklıma gelen fikirler. Aslında dışarıdan
bakıldığında bunların çoğu çok kısa zaman zarflarında aşılabilir
problemler. Fakat çoğu programcı sırf bunların varlığını bile aşılmaz
birer engel olarak görüyor. Ne yazık ki tanıdığım bir çok yurttaşım da,
"Hadi abi, madem o özellik yok, biz ekleyelim!"den çok "Yok
mu o özellik ya? Neyse o zaman, başka bir şey kullanalım." zihniyeti
hakim.

> Bir de bedava lisplerde standart GUI yok sikayeti var, o da dogru.

Programlama GUI'leri bana uzak, Allah'a yakın olsun.

>     VY> Peki bu devasa zaman diliminin arkasını dolduracak [insanların
>     VY> özgür olarak ulaşabileceği] 50 senelik kod arşivi de mevcut
>     VY> mu? 
> 
> Yok!  Common lisp zaten nispeten yeni.  ANSI oncesi (CltL1, ve 2) 
> Common Lisp ile yazilmis orneklerle dolu bir arsiv vardi, ama su 
> anda guncellenmiyor.  Common-lisp.net filan'dan eski tabii (cliki 
> filani da saymiyorum).  Adresi vereyim belki bir isinize yarar:
> 
> http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/0.html

Tamam Bülent Hocam, dövmenize gerek yok. Ben sadece dummie'ler için
(misal ben) kaynakların çok dağınık olduğunu vurgulamak istedim. En
basitinden, yukarıdaki adresi ben ilk defa sizden duyuyorum. Böyle bir
arşivin konu ile ilgilenenler için bu şekilde keşfedilmesi biraz
enteresan değil mi?

> [...]
>     VY>   - sem_get() nedir?  - sem_get hangi başlık dosyaları ve
>     VY> kütüphane ile gelir?  - Semaphore'lar hakkında ayrıntılı bilgi
>     VY> i???in su sayfaya bakabileceğiniz gibi, şu şu şu fonksiyonların
>     VY> manual sayfaları da ilginizi çekebilir.
> 
> Hyperspec gibi mi?  
> 
> http://www.lispworks.com/documentation/HyperSpec/

Hayır, beni burada yanlış anladınız. Asıl vurgulamak istediğim nokta,
bu kadar ayrıntılı bir bilginin internet bağlantısı dahi gerektirmeden
bu kadar çabuk bir sürede ulaşılabilmesiydi.

>     VY> Ve ben bu satırları okurken, sem_get()'in gerçekten onlarca
>     VY> yıl içinde muazzam bir kararlılığa ve nispeten taşınabilirliğe
>     VY> sahip olduğunu biliyorum.
> 
> Baska devirden bahsediyoruz (50 sene var ya akilda).  Common Lisp
> platform bagimli degil (olamazdi da zaten),

Bir önceki mesajı yazarken aklıma bir çok yanlış anlaşılabilecek nokta
gelmişti fakat aceleden (çıkmam gerekiyordu) onları öyle bırakıverdim.
Biri de yukarıdaki C'nin sem_get'iydi. Neyse, afiyet olsun.

> siz sem_get'i dil
> baglaminda kutuphane ozelligi olarak soyleyince benim aklima Windows
> SYS-V semaphorelarini mi destekliyormus filan gibi seyler de geliyor.
> 2006 ve Linux perspektifinden belki dediginiz dogru, ama bu cok yeni
> bir olusum aslinda.

Hastalıklı bir oluşum da aynı zamanda. Bkz. PostgreSQL -hackers
listesinde 3-4 haftadır düzeltilmeye çalışılan Microsoft platformunda
çalış(maya çalış)an *nix'ten port edilmiş semaphore kodu.

> *NIX lerle kisitli olsa bile C koduna bakarsaniz
> cesitli POSIX standartlarina ragmen bir suru CPP cambazligi
> goreceksiniz.  Autoconf'un ortaya cikmasi icin bir sebep vardi
> elbette.

Dediğim gibi, ben sadece işlevsel bilginin bu kadar kolay
ulaşılabilmesini vugulamak istemiştim.

>     VY> Ufak bir anektod daha yapayım. Python'un Tutorial'ine şöyle
>     VY> bir göz gezdirirken, gözüme şu başlık takıldı: 10.12 Batteries
>     VY> Included: Python has a "Batteries Included"
>     VY> philosophy. Adamlar arkalarında 50 yıllık bir birikim
>     VY> olmadığının farkındalar. Ama bunu, "Tamam, o halde kendi 50
>     VY> yıllık birikimimizi biz kendimiz oluştururuz!" zihniyeti ile
>     VY> çözüm yoluna gitmişler; ki bence bu konuda da oldukça
>     VY> başarılılar.
> 
> Bunu Eran Gatt/(ve simdiki ismiyle)Ron Garrett de soyleyip duruyor.  
> Kullanici tabaninin buyukluguyle alakali birsey var bunda.

Python ilk çıktığında gerçekten bu kadar büyük bir kullanıcı grubu var
mıydı? Ama bildiğim kadarı ile modüller (tamam şimdiki kadar çok olmasa
da) o zaman da vardı.

Peki Bülent Hocam, sizin bir Lisp kütüphanesine ihtiyacınız olduğunda
(biliyorum bunu muhtemelen kendiniz yazarsınız, ama hani olur ya...) ilk
olarak baktığınız adresler neresi? Ya da benzer şekilde bir kütüphane
fonksiyonunun dökümantasyonuna ihtiyaç duyduğunuzda, ilk nerelere
göz atıyorsunuz?

> Aman n'olur kimse sinmesin, bakin birsey olmadi yazdiniz diye.

Tartışmanın havasından hafif algıladığım kadarı ile dialoglaşma biraz şu
şekilde oldu:

  VY> Lisp'te bu yok, bak bunda var, bir de bunda var.
  BM> Tabi canım, Lisp yeni bir dil zaten.

Yanlış anlaşılmasını istemem; ben de Lisp (yalan söylüyorum aslında
Scheme) taraftarıyım. Sadece bu olaya nispeten yeni girişen biri olarak
zamanında karşılaştığım (bence) güçlüklerin altını çizmek istedim. He
belki ben çoğu yerde, durduk yere kendi kendime bir engel oluşturdum, o
ayrı konu.

> Hmm, o zaman insan 'pekiyi nasil oldu?' diye merak ediyor.

İlk açıldığıda (konudan Emre Bey'in günlüğünden haberdar oldum), liste
yazışmaları çok durgun gelmişti. Sonra, sonra biraz daha ilgimi çekmeye
başladı. (Bu arada comp.lang.lisp'i takip eden biri için, sizin
isminizin de güzel bir reklam olduğunu inkar edemem.)


İyi çalışmalar.

_______________________________________________
cs-lisp mailing list
cs-lisp@cs.bilgi.edu.tr
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

Cevap