reddit.com Lisp'ten Python'a geçti

0
innaw
Lisp kullanılarak yazılan reddit.com, python ile yeniden kodlandı. Reddit blogundaki kısa açıklamada artık python ile yeni özelliklerin daha kolay ekleneceği belirtilirken, Lispçiler için de bu altyapı değişikliğini açıklayan ayrıntılı bir yazının yakında yayınlanacağı belirtilmiş. Hayırlısı.. :)

Görüşler

0
librid
Bu haberi okumanın ilginç bir yan etkisi reddit.com'daki şu linke rastlamak oldu: http://randomhacks.net/articles/2005/12/03/why-ruby-is-an-acceptable-lisp
Görünüşe göre bazı Lisp hacker'ları da yükselen Ruby güneşinden gözlerini kaçıramaz oldular artık (umarım bu metafor eski emperyal Japonya'nın kullandığı birşey değildir :-) herneyse...)
Python'cular Norvig'in fi tarihinde büyük ihtimalle Ruby'den habersiz bir şekilde yazdığı Python Lisp karşılaşmasını okumakla kendilerini kandırmasınlar boşuna. Lisp'in veliahtı olmaya en yakın aday şu an için Ruby gibi görünüyor. Derlenmiş dil hızı isteyenlere ise hak yememek adına OCaml'ı işaret etmek gerekiyor..
0
FZ
Norvig o yazıyı yazdığında Ruby diye bir şey var mıydı ortalıkta? Ya da ne kadar vardı?

OCaml ile yazıldığını ve pratik olarak epey işe yaradığını bildiğim bir tek eMule var sanırım. Bu aralar Lisp haricinde bakacağım bir alternatif bir dil olsaydı, bu herhalde Ruby ya da OCaml değil, Haskell ve Smalltalk olurdu ;-)
0
librid
> Norvig o yazıyı yazdığında Ruby diye bir şey var mıydı ortalıkta? Ya da ne kadar vardı?

Vardı tabii, 1993'ten beri var ancak Norvig'in dikkatini çekmemiş. Yorumda verilen linkten ve Paul Graham'ın yazısından çıkardığımız kadarı ile 2005 yılında insanlar daha bilinçli bu konuda :-)

OCaml'a gelince değerinin 2005 yılında bile tam anlaşılamadığı ortaya çıkıyor :-) Haskell'a Smalltalk'a lafım olmaz özellikle Haskell hardcore FP programlamak istiyorsanız ilk seçeneğiniz olur zaten ismini Haskell Curry'den almış olması yeterince şey ifade ediyor (bu yoruma daha fazla smiley koymak istemiyorum). Ancak yazdığınız programlardan performans beklentiniz varsa başka bir fonksiyonel programlama diline ihtiyaç duymaya başlayacaksınız işte OCaml'dır. OCaml'ın en önemli özelliği fonksiyonel programlamayı C++ hızına taşımış olması. Ayrıca strong typing başka dillerin yapamaığı ölçüde kullanımı zevkli hale getiren bir dil. Ayrıca Lisp macroları kadar güçlü bir şey istiyorsanız bu OCaml'da mevcut (camlp4 diye aratın). OCaml Fonsiyonel programlama yaparken profiling yapıp sonra da gerekli kısımları yine OCaml dili içerisinde kalarak değiştirirek C++ performansında kullanabileceğiniz bir dil. Peki neden mldonkey bu denli yavaş sorusu güzel bir soru. 2.70 versiyonu artık eskisi gibi yavaş değil cevabı da uygun bir cevap. Sonuçta her dilde yavaş program yazılabilir bu programcının dikkatine ve önceliklerine bağlı.
OCaml sadece Fonksiyonel programlama yapılan bir dil değil, multi paradigm dillerin belki en gelişmişi denebilir. Söyle ki C gibi de kullanabilirsiniz, OOP için de kullanabilirsiniz, FP için de. Pek çok bilgisayar mühendisliği bölümünde lisans eğitimnde kullanılıyor (çok zor olamaz yani). Şu sayfada bazı başarı hikayeleri var: http://caml.inria.fr/about/successes.en.html . Aynı sitede yeterli döküman var ayrıca dil açık kaynaklı, yaygın platform desteği var ve geniş bir kütüphanesi ve kullanıcı tabanı mevcut.
0
FZ
Norvig o yazıyı ilk ne zaman yazmış? O yazıyı yazdığı esnada Ruby ne kadar kaale alınabilir durumda imiş, buna bir bakmak lazım Norvig'e laf etmeden önce.

OCaml diline gelince, elbette ki sırf MLDonkey gibi bir uygulamadan ötürü bile dikkate şayan bir dil. Öte yandan Haskell söz konusu olunca, mesela darcs kaynak kod kontrol sistemi var ki, pek çok Lispçinin son zamanlarda bununla yazılım idare ettiğini ve dağıttığını söylesem abartmış olmam herhalde.

Verdiğiniz linkteki örnekler fena değil, MLDonkey'yi zaten cümle alem biliyordu ancak ASTRÉE Static Analyzer, SLAM ve FFTW etkileyici örnekler. SLAM'e baktığımızda, Microsoft ArGe'sinin her türlü modern fikirden faydalandığını tekrar görebiliyoruz.

Yine de herhalde insanların büyük kısmı "multi paradigm", C++ kadar hızlı, en güçlü makro desteğine sahip dil olarak Common Lisp'i tercih etmeye devam edeceklerdir bir süre diye düşünüyorum.
0
librid
archive.org'un arşivine 2000 yılında girmiş Norvig'in yazısı.

Common Lisp'le OCaml FP açısından karşılaştırılamaz. FP yapmak istiyorsanız ve hız istiyorsanız OCaml ilk seçiminiz olacaktır. Ayrıca CL'le OCaml'ın başka bir önemli farkı eğitim için kullanması dolayısıyla OCaml bilen genç yeteneklerin her yıl okullarından mezun oluyor olması ki azımsanacak bir avantaj değil gibi geliyor bana.
0
darkhunter
:-@
Kuscam artık ben bu FP muhabbetinden. Üzerinize _alınmayın ama_, mikrosaniyeler[1] için tırlatıp, burada günlerce[1] bunu tartışan insanları görmek beni cidden derin bir tefekküre itiyor...

[1] Hayat işte kimisi de böyle zaman geçiriyor, diğer sitelerde bu muhabbetleri ısıtp ısıtıp sunanların (etc. esr, norvig), ortalama magazin adamlar olmanın ötesine geçemeyeceklerini düşünüyorum artık. Kendilerin yediler, ortada ne hayal gücü kaldı ne de çevik bir paradigma...
0
librid
Haklısınız bu tartışmaların normal bünyeler üzerinde olumsuz etkileri olduğuna katılırım :-) Neyse ki FM'ye farklı bir konuda haber göndererek gündemi değiştirmeniz her zaman mümkün.
0
darkhunter
Bence anormal bünyelere de faydası kalmadı FP muhabbetinin :)

Çarpıştırılan şey programlama dilleri olunca, tartışılan yegane konunun FP olması da ilginçtir. Mesela kimsenin aklına reverse gelmiyor :)

Herneyse, engellemek gibi bir niyetim yok. Birşeyler öğrenmek bile mümkün zaman zaman. Ben aradan çekileyim...
0
FZ
Valla 2000 yılında girdi ise, Ruby ile 2000 yılında kim ne yapıyordu merak ediyorum :) Kaç kişi ismini duymuştu, vs. Yani popülarite bir yana, 2000 yılında gerçekten Ruby ile neler yapılıyordu?

FP fetişizmim yok ki benim. İşime geldiği yerde kullanırım hepsi o. Common Lisp'e gelince, 30 yıldır Common Lisp compiler teknolojisi geliştiriliyor, bir hayli olgunlaşmış bir teknoloji. Performans problemi, çok dinamik, metaobject protocol, CLOS ile ilgili bazı şeyleri saymazsak genel anlamda yok diye biliyorum.

OCaml dünyada kaç okulda öğretiliyor bilmiyorum ama Bilgi Üniversitesi, Bilgisayar Bilimleri bölümü de dahil olmak üzere pek çok okul Scheme öğretiyor. SICP ve HTPD gibi kaynaklar oldukça güzel.

Bir yanlış anlama olmasın, ML ve OCaml, ve türevleri de dikkate şayan diller. İncelemekte fayda var.
0
librid
OCaml kullanan (bazı) üniversiteler (Wikipedia'dan):

    * École Normale Supérieure

    * Institut d'Informatique d'Entreprise

    * EPITA

    * Caltech

    * Brown University

    * University of Pisa

    * Technische Universität München

Şunlara da bir göz atın:
http://en.wikipedia.org/wiki/Ocaml
http://shootout.alioth.debian.org/benchmark.php?test=all〈=ocaml&lang2=cmucl
0
FZ
shootout sitesine bakarak programlama dili seçecek olsaydık... :) Bir de hakikaten merak eden varsa, shootout'daki Lisp kodlarını alıp comp.lang.lisp'e yollasın, birkaç dakika içinde muhtemelen birkaç kat daha hızlı çalışan Lisp kodu görecektir ;-) Oradaki Lisp kodlarının ne kadar optimize edildiklerini bilmiyorum ama yavaş çalışan Lisp kodu yazmak zor değil eğer derleyiciyi iyi tanımıyorsanız ve bazı optimizasyon yöntemlerini bilmiyorsanız (bunları öğrenmek dünyanın en zor işi değil, o ayrı).
0
GolgeHan
eMule OCaml ile değil c++ ile yazılmış. Bu arada bu yorumu yazabilmek için 2 kere giriş yapmam gerekti nedense.
0
bio
MLDonkey kastedilmis, yazim hatasi.
0
ttk
İlginç bir şey. Adamlar Lisp'ten Python'a geçirmişler sistemlerini ve bunu bildiriyorlar, haberin altındaki yorumlarda ise bazılarını bıktırıp "koyunlar korosu" dedirtecek derecede sinir eden "niçün Ruby değil de Python" sorusu mevcut.
0
librid
O "yorumlar"da neden konudan konuya geçildiği zaten açıklanmış. İkincisi "Python - Lisp karşılaştırması" veya "reddit.com Lisp'i bırakıp Python'a geçmiş" gibi konularda söyleyecek sözümüz varsa kendi bakış açımızı yansıtan birkaç çift laf etmemeli miyiz? Python'un güzel uygulamlarını anlatan bir haber geçildi de biz mi altına koyunlar korosu yorumları döşedik. Biraz düşünerek yazın yorumlarınızı.
0
ttk
Merhaba

Düşünerek yazdım. Ne Lisp'e ne de Python'a çok özel bir ilgim yoktur (ikisini de çok az bilirim.) Gidip Ruby de öğrenebilirim. İleride gerekirse bir başkasını da.

İnsanların belli zamanlarda belli dalgalara topluca kapılıp başkalarını şaşırtacak, yıldıracak derecede ona yapışmalarına, ısrar etmelerine bir örnek daha diye düşündüğüm için oradaki durumu belirttim. Zamanında benzer durumlara ben de düşmüşümdür çok büyük ihtimalle.
0
librid
Şu anda "yapışan" biri varsa o da sensin arkadaşım. Uzatmayalım istersen, bunun yerine tartışmaya biraz katkı yapmaya ne dersin?
0
ttk
"Ruby güneşi" ile yolunuza devam edin.
Kolay gelsin.
0
FZ
İnsanların belli zamanlarda belli dalgalara topluca kapılıp başkalarını şaşırtacak, yıldıracak derecede ona yapışmalarına, ısrar etmelerine bir örnek daha diye düşündüğüm için oradaki durumu belirttim.

İnsanların çoğu çok fazla düşünmez, neyi pazarlarsanız onu alırlar. Bakınız C# ve Java. Belli zamanda, belli dalgalara topluca kapılıp bir şeylere yapışma hali.
0
ttk
Merhaba

Söylediğinizin canlı misallerinden birisi de benim.
Web'e aktaracağımız bir veritabanı uygulamamız için birileri yardım edecekti, JSP ile yazalım veritabanı olarak ta Ms SQL kullanacağız dediler. MS SQL için kursa gittik. Sonra da JSP için kursa gidecektik, adamlar bizi ekti :)
Sonra SQL kursu aldığımız hocamızdan .NET dersi aldık, ben VB'ye gıcık olduğumdan C# ile işin kendime düşen kısmını hazırlıyorum.
Bindik bir alâmete gidiyoruz Visual Studio 2005+Ms SQL Server 2005'e, tam yeni versiyon çıkmadan ara dönemde dalgaya atlamış olduk, sonumuz hayrola :)
0
FZ
Bildiğim kadarı ile VS.NET 2005 resmen çıktı, beta filan değil yani.
0
ttk
Evet çıkmış. Ama alıp da denemedik.
Aynı zamanda danışmanımız da olan hocamız ilk zamanlarda bug'lar olabileceğinden dolayı tavsiye etmedi. Şimdilik MS SQL 2005 +VS 2005 ikilisinden, MS başkalarının başında traş öğrenirken bir müddet uzak kalmayı tercih ettik, riski göze almamız biraz (aslında epey) zor.
Kodların ne derece yeni platforma uyabildiğini test etmek için aslında deneme sürümlerini indirip bir denemek lazım aslında.
0
FZ
MS SQL Server 2005'e henüz bizim ekip de geçmedi ancak VS.NET 2005 her ne kadar yeni çıkmış olsa da üzerine oturduğu .NET 2.0 altyapısı çıkalı epey bir süre oldu, dolayısı ile .NET 2.0'ın getirdiklerinden faydalanmak anlamlı olabilir. (Bazı taşların sağlamca yerine oturması için elbette biraz süre daha geçmesi gerekecek ama bu çoğu teknoloji için böyle, Lisp de ilk çıktığında mükemmel değildi, mükemmelliğe varabilmesi için biraz zaman geçmesi gerekti ;-)
0
ttk
Lisp'in sağa sola dağıttığı harçlıklar bile yeter :)
Pek çok iş gibi şimdilik Lisp öğrenmeyi de yarım bıraktım ama devam ettiğim başlangıç seviyesi online kursta öğrendiklerim bile C#'ta işime yaradı.
0
ahmetaa
Bu dediginize cok katilmiyorum acikcasi. Belki ayni seyleri papagan gibi tekrarliyorum ama Konu insanlarin dusunmezligi degil endustri destegi ve varolan kullanicilarin aliskanliklari.
akademik dunyada yasayanlarin bu acidan konulara biraz farkli bir acidan yaklastigini ve yazilim teknolojisini sekillendiren asil faktorun endustri oldugunu biraz gormezden geldigini dusunuyorum. Lisp gibi dillerin akademik dunyada kabul gorup endustride kiyaslaninca yok denecek kadar az kullanilmasinin bir nedeni de bu olsa gerek.
Ornegin Ruby. yeni bir dil degil, hatta Java'dan bile eskidir. Onceden bilgisayarlarin yavasligi ve nesneye yonelik tasarim bilenlerin azligi nedeniyle kullanilamayacak bir vaziyette idi. Perl kullanicilari da kendisine benzeyen Ruby'e prim vermeyip Perl kullanmaya devam ettiler. Java'yi gelistirenler akilli davranip var olan C++ camiasini hedef aldi. Bu sekilde kisa bir ogrenme egrisi ile buyuk kitleleri daha ust seviye bir platforma gecirmek kolay oldu.
Buyuk sirketlerin (IBM, Sun, BEA, Oracle Borland gibi) sirketlerin destegi ile ozellikle gelistirmeye yardimci araclarin gelisimi bu dillerin yayginlasmasina buyuk katki yapti.
Ayni sey C# icin de gecerlidir. Onlar da kullanicilarin Java ve C++ birikimini dusunup bu dili ve .Net kutuphanelerini ortaya cikardilar.
Bugun sistemler Ruby ya da Python gibi platformlarin kabul edilebilir bir hizda calismasina izin veriyor. Ama kurumsal destek ve gelistirici araclarinin eksikligi, gelistirici sayisinin azligi ayrica dillerin "dinamik" yapilarinin herkesin kavrayisina uymamasi bu dillerin kullanim kitlesinin buyumesini ciddi sekilde etkiliyor. Bugun Ruby'yi ya da Python'u kullanmak icin elinizde cok gecerli bir neden olmali ki buyuk bir sirket yazilimcilarini o yone kaydirsin, ama dilin kullanimindan gelen avntajlar ne yazik ki bu karari almaya yetecek duzeyde degil.
Eger MS odakli yazilim sirketlerinin birgun Ruby ya da Python kullanacagi saniliyorsa bu ciddi bir hata olur
Satir sayisinin azligi ya da cogu kimsenin anlamayacagi closure, lambda ifadeleri ne yazik ki buyuk projelerde cok anlam ifade etmiyor. O nedenle her firsatta Ruby'nin sihirli degnek gibi tum sorunlari cozecek gelecegin dili seklindeki ifadeleri gulumseyerek okuyorum.
0
ttk
Şu anda genel olarak varolan duruma bakınca, eski Türk filimlerindeki fakir yakışıklı delikanlı ile fabrikatörün zengin kızının aşkı ve ayrı dünyaları durumu ister istemez aklıma geldi nedense :)
0
ttk
Yanlış anlaşılabilecek derecede kısa yazdığımı farkettim.
Yukarıdaki durumu örnek vermemin sebebi, mesela python veya ruby ile web programlaması yapmayı isterken ucuza bulabildiğimiz hosting'de sadece php'nin desteklenmesi ve bizim de dinamik web sayfası yapmamız gerekmesinden dolayı -diyelim- hiç hoşlanmadığımız bu dili mecburen kullanmamız gibi. Ya da etrafımızda hakkında yeterli desteği (eğitim+geliştirme sırasında destek) alabileceğimiz birileri olmadığı için Linux üzerinde çalışan bir web+veritabanı sistemini kuramayıp windows'a mecburen yönelmemiz gibi.

Yani içimizdeki istek ve planlarla varolan şartların örtüşmemesi durumuna işaret etmek istemiştim.
0
anonim
Ya da etrafımızda hakkında yeterli desteği (eğitim+geliştirme sırasında destek) alabileceğimiz birileri olmadığı için Linux üzerinde çalışan bir web+veritabanı sistemini kuramayıp windows'a mecburen yönelmemiz gibi.


Açıkcası yeterince araştırmadığınızı düşünüyorum. Örneğin postgresql in Platinum Support Partner larından birisi TDM var. Yalnış anlaşılmasın kendileri ile Devrim Gündüz'ün e-posta listelerinde yeter artık daha fazla geyik yapmayın uyarılıarını almam dışında bir ilişki yoktur. Ancak en azından bundan sonraki projeleriniz için düşünebilirsiniz. Java konusunda ise sıkıntınız olmaz sanırım :-) .
0
FZ
Üstünüze alınmanıza gerek yok ki. İnsanların çoğu dedim, hepsi değil. Siz çok ince eleyip sık dokuyarak Java seçmiş olabilirsiniz. Çoğu insan ise iş ilanlarına bakar ve sağdan soldan yazılanları dinler. Popüler ortamlar bellidir. Bu popülaritenin kökenleri, sebepleri, vb. şeyler insanları pek ilgilendirmez, gün sonunda insanlar kazançlarına bakacaktır ve gözlerine parlak görünen şeyler tabii ki onları cezbedecektir. Ekonomik ve psikolojik bir durum.

Dünya, malum, "kurumsal" yazılımla dolup taşmıyor, başka pek çok alan var. Boşluklar var ve ne C# ne de Java her boşluğa uyabiliyor, uysalardı ezip geçerlerdi. Java ezip geçebildi mi? Harcanan milyar dolarlara rağmen? Hayır. C# ezip geçebilir mi, Microsoft gibi devasa bir yapıya rağmen? Pek mümkün görünmüyor.

Büyük projelerden herhalde sadece banka, e-ticaret ya da işte Javacılar ne anlıyorsa onları anlıyorsunuz herhalde ki "closure, lambda büyük projelerde bir şey ifade etmez" gibi enteresan bir cümle kurmuşsunuz. Büyük proje vardır, büyük proje vardır. Sizin baktığınız yerdeki büyük proje için bir şey ifade etmezken, 7 sene filan Java kodlayıp, sonra da yetti gayri deyip Common Lisp'e geçmiş Java ustaları var karmaşık sistemler geliştiren.

Hiçbir şey sihirli değnek değil elbette. İnsanlar bakıyorlar ve seçimlerini yapıyorlar. "Büyük şirket programcıları" diye bir kategori de var elbette doğru. Her zaman vardı o kategori, eskiden COBOL programcıları vardı mesela (hala var, İş Bankası'ndaki mainframe'ler ile uğraşanlar, vs.). Bugün de Java programcıları var "kurumsal, ölçek, büyük, karmaşık", vb. sözcükler gündeme geldiğinde çağrışım yapan. 10 yıl sonra da olacaktır "kurumsal büyük şirket programcı" kategorisi ve mutlaka yine ismi çok duyulmuş bir dil kullanıyor olacaklardır, bunda garip bir şey yok. Yine benzer şekilde, "sizin kurumsallığınız size, benim araçlarım bana!" diyecek camialar da olacaktır çünkü görüldüğü gibi insanlar artık bazı kavramları daha iyi kavramaya başladılar. Biz sabaha kadar dinamik dil, statik dil deyip duralım, bazı şeyler aldı başını gidiyor. Birkaç sene sonra belki de şimdi "ama şurası problemli, istemiyorum o yüzden ben" dediğiniz şeyler çoktan buharlaşmış olacak.

Son olarak, "lambda", "closure" gibi bir terimler atmışsınız ortaya, biraz daha çeşni yapalım, mesela "continuation", "lazy evaluation" filan diyelim, bunları kimsenin anlamayacağı fikrine nasıl oldu da kapıldınız? Son baktığımda bilgisayar programlamak zeka gerektiren bir işti ve cin gibi insanlar uğraşıyordu, görmeyeli değişti mi? Yok hayır, droidlerden ya da Hintlilerden değil hakikaten düşünüp, problem çözen zeki insanlardan bahsediyorum. Gerçekten de samimi olarak kimsenin anlamadığını mı düşünüyorsunuz? Ya da sadece birkaç kişinin anladığını filan? Doğru dürüst anlatıldığında bu terimleri anlamayan bir bilgisayar bölümü öğrencisi görmedim de ben...
0
ahmetaa
Sadece son paragrafta yazdiklariniz icin bir seyler yazacagim. Oncelikle "kimsenin anlamayacagi" degil "cogu kimsenin anlamayacagi" demistim, sanirim dikkat etmediniz. Gercekten de saydiginiz dil ozelliklerinin cogu bence dili guclendirmektense zayiflatir gorusundeyim. Uzman ya da belirli bir dilde ciddi tecrube kazanmis bir gelistirici icin faydali olacak bu meknizmalarin yazilimin yapisini olmasi gerektiginden daha karmasik bir hale getirebiliyor. Yazilim gelistirme konusunda bir grup ile calisip uzun soluklu, bakim gerektiren bir proje gelistirmediginiz yonunde suphelrim olustu acikcasi yazdiklarini okuyunca. Eger takim calismasi yapmis olsaydiniz "ileri" sayilabilecek dil olzeeiklerinin yazilimin okunurlugunu ve anlasilirligini ciddi derecede dusurdugunu gorebilirdiniz. bir yazilimin gelistirme grubunda her zaman "ileri seviye" gelistiriciler yer almaz (Isterse hepsi bilgisayar muhendisi olsun). tum grup cogu zaman ayni dilde cok farkli bilgi ve tecrube seviyesine sahiptir. O nedenle bahsi gecen "closure, continuations" vs turu dil kullanim metotlarindansa ayni isi daha alt seviye ama daha anlasilir sekilde gerceklestiren bir metod yazmayi tercih ederim. En azindan uygulamanin benden sonra yazilimin bakimini yapacak olan yeni yetme yazilimcinin kabuslarina girmesine engel olmus olurdum. Eger kendim bir uygulama gelistiriyorsam ya da gruptaki herkesin seviyesi benzer ise bu tip ozelliklerin kullanilmasina elbette bir mahsur yok elbet ama ozellikle ikinci senaryo ender gerceklesen bir sey..
0
FZ
Uzunca süredir bir ekiple birlikte yazılım geliştiriyorum, o yüzden şüphelenmeniz yersiz.

Yazılıma gelince, ister inanın ister inanmayın, işler karmaşıklaştırmak istendikten sonra bırakın Java gibi bir dili, VBScript ve T-SQL gibi dillerde dahi okunması, anlaşılması gayet güç şeyler yazılabildiğini gördüm.

Sorunu doğru koymakta fayda var. Eğer derdiniz, vasat insanlarla kendinizi çok yormadan iş yapmak ise, bu ayrı bir mesele. Duruma göre bunu da isteyebilirsiniz, belki bazı projeler öyle olagelmektedir, vb. Ancak bu durumda Java'ya yeni dil özellikleri eklenip dil daha karmaşık hale geldiğinde dövünmeniz gerekir. Bence gerekmez. Dile ne kadar çok faydalı yapı girerse o kadar iyi. Öğrenmesi uzayabilir mi, evet, uzayabilir ama madem Java programcıları iyi maaş alıyor, o halde hevesli olanlar da o dil özelliklerini biraz daha dişlerini sıkıp öğrensinler, öyle değil mi? ;-)
0
librid
Kast ettiğiniz "makro ve continuation" sanırım, closure'larda (bu kelimenin uygun bir Türkçe karşılığı olması lazım) yazılımı kamaşıklaştıracak birşey yok. Makrolar ve continuation'larda durum öyle değil. Ruby'nin yarataıcısı Matz bir konferansında Ruby'ye makro özelliği koymadığını çünkü sıklıkla iyi bilmeyenler tarafından kötüye kullanıldığını ve öğrenmemenin de zor olduğunu söylüyor. Peki o zaman neden continuation özelliği var diye soruyorlar (o da ciddi şekilde "kötüye kullanılabilir"). İyi bilmeyenler zaten continuation'ın ne olduğunu bile anlamıyorlar bu yüzden tehlike yok diyor tabii şaka mahiyetinde biraz da. Bunlar ahmetaa'yı destekleyecek sözler.
0
librid
Matz dile makro özelliği koymasa da birileri boş durmuyor ve şöyle işler yapıyor o başka: http://www.zenspider.com/ZSS/Products/ParseTree/
0
librid
Ruby için geliştirme aracı yok gibi bir durum doğru değil. Buraya haber olarak geçilen RadRails gibi aktif olarak geliştirilen Eclipse pluginleri var en azından. Bunun dışında Java'yla Ruby'nin kıyaslanmasının sebebi Ruby'cilerin abartısı falan değil tam tersi Java'nın fazla yayılmış olması. Sizin de belirttiğiniz gibi büyük çaptaki işlerde Java rakipsizdir bunu inkar etmiyoruz zaten. O tip çalışmalarda closure lambda gibi şeyler işe yarasa da insan faktörünün yıl*adam gibi bir sayıdan ibaret olduğu bir zihniyette, geliştiricilerin değiştirilebilir olduğu yerlerine başkalarının sorunsuz olarak (yedek parça gibi) oturtulabildiği bir sistemde faydadan çok zarar verebilir. Ancak orta ve küçük çaptaki işlerde özellikle de agile, test first türü geliştirme zihniyetlerinin olduğu yerlerde Ruby Java'dan daha uygundur ve yavaş yavaş herkes olması gerektiği yere gelecektir. Bu arada Java'nın sistem programlama ve gömülü sistemler için uygun bir dil olduğuna inandığımı da belirtmek isterim. Bu alanlarda C++ ile rekabet edebilir. Ruby kullanıcılarının bunlarla bir sorunu yok.
0
y0rk
Bu arada Java'nın sistem programlama ve gömülü sistemler için uygun bir dil olduğuna inandığımı da belirtmek isterim. Bu alanlarda C++ ile rekabet edebilir.
Aslında bunu haber olarak girmek vardı. lafı gecmişken javanin gomulu sistemler uzerindeki etkinliginin sadece cep telefonu pda gibi cihazlarla sınırlı oldugunu zanneden arkadaşlar için bir açıklama yapmak geregi duydum. Fazlamesai tayfasının cogunlugu java ya karşı bir duruş sergiliyor sebebini anlayamıyorum. Onumuzdeki donemde java open source haline donusecek(en azından benim ongorum bu) . O zamanda bu kadar katımı kalacaklar merak ediyorum.

Native java kodu çalıştıran işlemciler mevcut. yani basitce java kodu yazıp gomulu sisteme bunu yukluyorsunuz. board uzerinde 2 RS-32,1 ethernet portu(wireless li modellerde var),512 MB SRAM bulunuyor. İşlemcinin boyutu 1.00 x 2.00 inch. saniyede 200 milyon satır java kodu işleyebiliyor. touch screen destegi var.9voltluk bir pille 24 saat calisabiliyor. bu kadar onbilgiyle yapabileceklerinizi hayal edin. Belki bazı arkadaşlara ilham olur diye benim aklıma gelen bir kaç şeyide ekleyeyim. modemle,gsm telefonla,telsizle entegre edebilir, gunes enerjisi ile sarj edebilir,seri portlari ile elektronik devreleri konusturabilir cok uzak mesafelerde ulaşımı zor olan yerlerdeki makinalari,sistemleri kontrol edebilir, robotlar vs. hazırlayabilirsiniz.
JSTAMP http://jstamp.systronix.com/info.htm
JSTMP FAQ http://jstamp.systronix.com/jstamp_faq.htm
JStamp Development Station http://jstamp.systronix.com/jsds.htm
JSTAMP kullanilarak yapilmiş bir kaç projede verelim.
http://www.robonexus.com/
http://jstampu.systronix.com/
http://www.jstampu.systronix.com/appnotes/arm5/arm5.htm
http://jcx.systronix.com/appnotes/servo_info.htm
0
librid
Keşke Java open source olsa... Daha önce olmalıydı, olmadı, gelecekte olur mu bilmem. Daha çok özgür implementasyonlara bel bağlamaya başladım ben. Aslında birilerinin GNU Classpath'a gcj'ye açıkça yardım etmesi bile söz konusu olabilirdi ama nedense görmezden geliniyor. Ancak bunlar bir de Kaffe gibi bir VM birkaç sene içerisinde ciddi işler yapmaya uygun hale gelecekler (Classpath sayesinde). Hatta Kaffe'yi şu anda bile Linux ile birlike paketleyip gömülü uygulamalar için satan firma(lar) mevcut.
0
FZ
512 MB SRAM bulunuyor

Java ile programlanıyor demiştiniz değil mi? 512 MB RAM, şaşırmadım :) 1 GB olsa daha iyi olur tabii, ferah ferah.
0
bio
Iste Java hakkinda FM camiasinin bahsedilen onyargili durusu bu. Bariz bir yazim hatasinin uzerine gitmekten hic cekinmemissiniz. 512 MB degil elbette, 512 KB... Bir o kadar da Flash ROM var. Burada buyuk bellek gerektiren bir "virtual" machine'e gerek yok, zaten islemci Java'yi native olarak calistiriyor. Yani "virtual" degil "real" Java Machine var.
0
FZ
Yahu benim bir laf dokundurmam yüzünden koskoca FM camiasını topyekün mahkum etmeyiniz istirham ederim. :) Siz yanlış yazmışsınız, ben kendi çapımda biraz eğlenmişim. Bundan ne o Java bytecode çalıştıran işlemcileri üreten firmalar zarar görür, ne de bir şeye halel gelir.
0
yilmaz
ayrıca bu aletler (çip bunlar) ufak çaplı threadleri bile gerçekleyebiliyorlar.
0
FZ
reddit.com ekibi zaten Lisp konusunda çok bilgili insanlardan oluşmuyor bildiğim kadarı ile. Dolayısı ile sıkıntı yaşamaları normal. Bu konuda comp.lang.lisp'te bir tartışma olmuştu, insanların bilgisizlikleri ve yanlış propagandanın boyutları ciddi. Son durumları merak edenler için:

Reddit Guys on the Pros and Cons of Lisp

0
skoylu
İnsanların çok bilgili olamaması zaten yeterince büyük bir sorundur. Bir şekilde Syntax'ı filan öğrendikten sonra arkasını getirmede zorlanıyorsanız, o dil size gore değildir. Bu olgu kimine gore LISP'te, kimine gore PERL'de, kimine ise C'de vs. olabilir. Ama bu büyük bir sorundur. Denecektir ki, tonla kaynak vs. vs. Bunlar havada kalacaktır. LISP ve PERL gibi dillerin okunması zordur. Bu da bilhassa örnekleri kavramayı güçleştirir. Ama aynı syntax, kodu yazarken işi acayip şekilde kolaylaştırır. Bu da bir başka vaziyettir.. Sanırım en kritik husus bu oluyor, bu ilerleyememe konusunda..
0
FZ
Bu okunabilirlik meselesi bana çok acayip geliyor. 1-2 ay, ciddi ciddi (mesela günde 9-10 saat) Perl çalışmış biri, o 2 ayın sonunda karşısına çıkan Perl kodlarına bulmacaya bakar gibi mi bakar?

Birkaç ay, her gün 9-10 saat Common Lisp ya da Scheme çalışmış biri, o sürenin sonunda eline aldığı bir program listesine bakıp kafasını mı kaşır? Gerçi Lisp'in sözdizimi çok daha homojen, "uniform" ve basit, o bakımdan Perl'den çok daha kolay olduğu söylenebilir (kendi yazmadığım bir fraktal-üret-veritabanına-bağlan-bir-şeyler-yaz-vs. koduna bakmıştım merak edip, hiyerogliflere bakar gibi hissetmemiştim kendimi, kodun adım adım ne yaptığını takip edebilmiştim büyük ölçüde yani).

Perl okumak bazen biraz daha zor olabiliyor bazı özel değişkenlerden ve "uniform" olmayan sözdiziminden ötürü filan ama düzenli olarak Perl ile uğraşmıyorum zaten, biraz uğraşmaya başladığımda ve adapte olduğumda, ısınma hareketlerini yaptığımda yine pek bir sorun ile karşılaşmıyorum.

reddit.com'u yapan gençler Lisp'ten pek anlamıyor derken, kast ettiğim comp.lang.lisp'teki tartışma idi, o reddit.com röportajında bahsedilen tüm sıkıntıların çözümleri ve eksik olduğu düşünülen şeylerin aslında nerede nasıl var olduğu bir bir anlatılmıştı.

Öte yandan, bir arkadaşım birkaç gün içinde reddit.com tarzı bir sistemin demosunu gösterdi bana, PHP ile yazmıştı. Lisp'in öyle basit bir site için biraz "overkill" olduğunu kabul ediyorum, yani iyi Lisp biliyorlarsa sorun yok da yeni yeni öğrendiğiniz bir dil ile ticari siteye girişmek çok akıl kârı değil. Graham 40 milyonluk projesine girişirken, Harvard'da bu işin dersini vermiş, kitabını yazmış (en alasından: On Lisp, efsane kitap, kült eser), T projesinde çalışmış ve Arc dilini tasarlayan bir yazılım uzmanı idi ve MIT'den Morris ile (bir başka efsane hacker, ilk UNIX tabanlı Internet "worm"unu yazıp yasal takibata uğraşmış hacker) birlikte çalışıyordu. Görebildiğim kadarı ile teknik geçmiş olarak reddit'i yapan gençlerden 15-20 gömlek üstte bir ekip söz konusu idi yani.

Ah, bu arada aklıma geldi. Okuma zorluğu demişken, bence en problemli durum HTML, JavaScript ve ASP, PHP, vb. kodların iç içe geçtiği Internet programlama modeli! :) Bu yüzden Lisp makroları ile yapılan HTML üreteç sistemlerin hastasıyım, sözdizimini aynen koruyarak Lisp yazmak (ama aslında HTML yazmak), bu kadar mı doğal olabilir bir tasvir ("mapping") ;-)
0
innaw
0
robertosmix
Özgür JAVA konusunda ümidi olan arkadaşlara GNU Classpath projesine GNU Compiler Collection'daki GCJ'ye ve java.apache.org'a bakmalarını öneririm. Bence JAVA bugün Python yada OCaml yada Lisp'ten çok daha özgür. Daha özgür, çünkü bir programlama dili için "özgür" tanımında uca gitmek için manevra kabiliyetini de göz önüne almak gerekiyor. Belirli bir kimse/takım veya kuruluşa ne kadar az bağımlı olursanız o kadar özgür, ne kadar geliştirme aracı kataloğunuz geniş olursa yine o kadar özgür olursunuz.

ahmetaa'nın dediklerinin tamamına katılıyorum. Büyük projeler dendiği zaman birkaç uç fikri daha iyi yansıtabilecek programlama dili yerine, herkesin kolaylıkla okuyabileceği, dokümantasyona ve çeşitli CASE araçlarına yatkın, anlık plan/proje değişimlerine kolaylıkla adapte olabilen, kurumsal (yarı yolda bırakmayan/üst düzey desteği olan) programlama dilleri tercih edilir, edilmektedir. Günümüzde bunun da birebir karşılığı JAVA'dır.

Bugün örneğin Perl, Lisp yada Python la büyük ölçekli bir MRP uygulaması geliştirmeye kalktığınızda bu programlama dillerinde ciddi tecrübe sahibi personel bulmanız zordur, bulduğunuzda da muhtemelen elmas muamelesi isteyecektir personel. Hem daha sonra müşterinize biz bu uygulamayı Perl'de yada Lisp'de yada Python'da geliştirdik demenizle JAVA'da geliştirdik demeniz farklı olacaktır. Çünkü muhtemelen ürününüzü alacak olan müşteriniz, bu tür bir uygulama için "genişletilebilirlik" isteyecektir ve bunun için bilgi-işlem departmanına başvuracaktır. Ama bilgi-işlem departmanı JAVA yada .NET sertifikalı -gün boyu mail forward eden- memurlardan oluşacağı için sizin çalışmalarınza sıcak bakmayacaklardır.

Teori ile Pratiğin ilahi çatışması çerçevesinde, iş yapan dillerin her zaman bir kaç profesörün oturup kafa çatlattığı dilleri ezmeleri normal karşılanmalıdır. Çünkü iş yapan diller daha çok kullanılmaları sonucunda üzerinde daha fazla -daha çok insan tarafından :) - kafa yorulan diller konumuna gelip, daha çok iş yapmaya başlarlar. Daha çok iş daha çok üretim daha çok emek daha çok tecrübe ve şüphesiz daha çok para anlamına geldiği için bu alanda, daha çok yoruma da gerek kalmamaktadır.

Profesörleri "iş yapan" dilleri geliştirmedikleri için suçlayamayız. "İş yapan" dilleri "iş yapan" kurumlar geliştirir genelde, çünkü parametreleri "iş yapan" kurumlar daha iyi bilir hesaplarını onların üstünden yaparlar. Ayrıca sakat bir geliştirme ve pazarlama zinciri para ve imaj kaybetme gibi bir sonuca neden olacağından, zaten böyle bir işe girmiş bir kurum "iş yapan" bir oluşum sergilemek zorundadır. Oysa ki profesörlerimiz için bu farketmemektedir. Nasıl olsa para kaybetme gibi bir durum onlar için söz konusu değildir.
0
FZ
Akademisyenler küçümsenedursunlar, bıyık altında gülüp insanlara yeni fikirleri ve uygulamaları sunmaya devam ediyorlar. İş dünyasındaki bazı yazılımcıların küçümser tavırları her zaman olmuştur ve de olacaktır, konu bir ünvan konusu, profesörlük konusu değildir. Konu yeni fikirleri geliştirme, ayaklarını sağlam temellere basma ve geleceği yaratarak öngörme konusudur. Bugün Java olur, .NET ve C# olur yarın başka bir şey. Neyse ki Java'yı ve C#'ı geliştirenler o "üniversite profesörleri"nin yaptıklarını yakınen takip edip akıllıca uyguluyorlar. Son kullanıcı profilindeki "kurumsal programcılar" da bunların meyvelerini yiyorlar kimi zaman, farkında olarak ya da olmayarak.

İyi ki Common Lisp, Scheme, Haskell gibi diller ve bunları Internet'ten kolayca öğrenme fırsatı var, bu sayede insan Java'ya da C# gibi "kurumsal" platformlara da çok daha geniş bir vizyonla bakabiliyor ve pazarlama triklerini bir kenara koyup milyon dolarlık kurumlardan dünyaya seslenenlere, "hayır bu dediğiniz yenilik değil, lütfen şunları bunları yapın" deme cesaretine sahip oluyor ;-)
0
ttk
Akademisyenler -farz-ı muhal- hiç bir şey yapmıyorlarsa dahi, var olan bilgilerin sistemli olarak korunmasını ve geleceğe taşınmasını sağlıyorlar.
0
Zebani
Dünya akademisyenleri mi? Yurdum akademisyenleri mi?
0
ttk
Dünyanın her köşesindeki işini olması gerektiği gibi yapan/yapabilen bütün akademisyenler.
0
FZ
Türk üniversiteleri dünyanın en iyi üniversiteleri arasında mıdır? Hayır. Dünya çapında üretim yapan Türk hocalar var mıdır Türkiye'de? Evet. At gözlükleri ile bakmayalım her şeye lütfen.
0
Zebani
Ben genel ortalama üzerinden konuştum. Yoksa elbette çürük cevizlerin içinde sağlamları da var. Mesele çürüklerin nasıl ayıklanacağında. Sadece ders vermekle akademisyen olunmaz. Ülkemizin malumu ortada olan konusunda daha fazla yorum yapmaya gerek var mı?

Geriye kalan o tek tük bilim adamımız da olmasa zaten üniversiteler hiçten çekilmez hale gelecek. Benim gibi yeni yetmeler için. :)
0
yilmaz
Memleketimizin universitelerinin %80 inde bilgisayar mühendisliği var. Bunların büyük çoğunluğunda elektronik laboratuvarı yok, yine büyük bir kısmı yazılım derslerini hakkıyla veremiyor.
Şimdi gelelim bir hocamın lafına. " Bizim işimiz bilim adamı yetiştirmek. Piyasaya adam yetiştirmiyoruz."
Burada akla şu geliyor. Tamam bilim adamı yetiştirelim o zaman. Olmaz laboratuvarımız eksik. O zaman piyasaya adam yetiştirelim memleketin bir açığı kapansın. O da olmaz amaç bilim adamı yetiştirmek çünkü.
0
ttk
Merhaba

Hocanız "bilim adamı kafasına sahip, yapmak istediği işi yapabilecek adam yetiştirmek işimiz" dese daha doğru söylemiş olurdu bana göre. Yetiştirdikleri bütün öğrencileri okulda asistan mı yapacaklarmış :)
Öğrenciler neticede kendi yollarını seçecekler, akademisyen olarak devam etmek isteyen de olabilir, piyasada çalışmak isteyen de. Bu adamların yetiştiği yer o okul ise öğrencisini elinden geldiğince geleceğe hazırlaması lazım.

Bunları söylüyorum da, ben okulu sınıfta kalmamak için çalışayım derken bitirmiştim :) memleket mi acayip, biz mi acayipiz, yoksa memleketi acayip yapanlar mı biziz :)= paradoks
0
robertosmix
18 yaşından sonra "mesleğim olsunda aç kalmayayım" yargısıyla üniversite kapısından içeri girildikten sonra, ne piyasaya ne de akademik dünyaya hizmet etmek zor oluyor.

Akademisyenler bile aynı yoldan geçerek "akademisyen" oluyorlar. Geçerli yanıt vermelerini beklemek yanlış.
0
Zebani
Valla ne diyim aydınlatığınız için çok sağolun(!)
0
robertosmix
Tamamen haklısınız. Üniversitelerin bakış açıları karar verme süreçlerinde "kurumlara" çok faydalı oluyorlar. İş dünyası ile üniversiteler arasındaki çerçeve farkları, üniversitede bu çeşit çalışma tarzlarına sıkı sıkıya bağlı olan öğrencilerin iş hayatına atıldıkları zaman yaşadıkları ciddi problemler yaşamalarına da neden oluyor.

Ama tabii ki öyle yada böyle iş dünyasında "büyük" başarılara imza atabilmek için kuralları değiştirmek yerine kurallara göre oynamayı seçmek daha gerçekci ve işler bir yöntem. Herhangi bir üniversitede yapılan herhangi bir araştırma projesi her türlü yenilikçi fikre ve yönteme sonuna kadar açıkken ve orjinal yöntemlere orjinal yanıtlar verirken, dev bir organizma olan bilişim teknolojileri dünyası, örneğin orjinal fikirlere -bu dünyadan faydalanan kimselerin gösterecekleri tepkilere yönelik hareket edeceğinden- çoğu zaman temkinli, soğuk yaklaşır ve bu orjinal fikir üretmenin karşılığı da genelde değildir.
0
FZ
Common Lisp'çiler Reddit ekibinin bu kararına üzüldüler ve comp.lang.lisp ortamında yoğun bir tartışma başladı Reddit: Let's rewrite a better one in Common Lisp diye.

Ardından Marc Battyani, 6.5-7 saat içinde Common Lisp ile geliştirdiği, Link-it sistemini Link-it: The nextgen reddit written in Common Lisp is online başlığı altında duyurdu.

USENET'teki grupta hakikaten enteresan fikirler çıktı ve beyin fırtınası devam ediyor. Bir kez daha comp.lang.lisp'i oluşturan camianın yapısı kendini gösteriyor. Link-it şu anda tabii ki Reddit ile rekabet etmeyi amaçlayan ticari bir sistem değil, sadece Common Lisp'ten anlayan insanların birkaç saat içinde neler yapabileceklerini gösteren bir tür "proof of concept".
0
Ragnor
Lisp'in öne geçtiği noktalardan biride sanırım bu (bence) muhteşem kullanıcı kitlesi. Bakın aslında hiçbirşey ispat etmesede (yine bence) reddit'in bir kopyasını geliştirmiş adam. Ne var bunda? Yani aynı derecede python veya ruby veya doğru düzgün herhangi bir dili bilen biriside bunu yapabilir. Doğru ama gördüğünüz üzere onlar değilde bir lisp'çi yapıyor. Gerçi konu onları doğrudan ilgilendiriyor, diğerlerinin aksine ama bu yapılanı görüp gaza gelen bir rubyci yada pythoncu çıkmadı :).

Yani bu yorumu yazan ben diyorum ki: " Yok mu aranızda gaza gelip 5-6 saatte kendi favori dili ile bir reddit kopyası geliştirecek?" :)
0
ttk
Merhaba

5-6 saatte geliştirme işini şuradakilere sormanız lazım bence :
http://groups.google.com/group/comp.lang.ruby
http://groups.google.com/group/comp.lang.python
vb. vb.
Burada da dediğinizi yapabilecek kişiler vardır belki ama millet siteye haber atmaya üşeniyor bir de dediğinizi yapacaklar ohooo ... :)
0
FZ
E demek ki Lisp'in korkulacak bir yani yok imis ;-)

Rahat rahat gelistirme yapilabiliyormus.

Sorusu olan? ;-)

Bir de gördügüm kadari ile Lispciler, kod yazarken
egleniyorlar. Programlamayi tekrar eglenceli hale getiren
bir dil Lisp.

Bu arada bu yaziyi MozEx "extension"i ile textarea yani
Firefox disindan bir editörle yaziyorum, dünya varmis!

(Türkce mevzusu hala problemli MS Win'deki Firefox 1.5'te,
Linux'taki sistemde deneyecegim bir de)
0
robertosmix
Programlamayi tekrar eglenceli hale getiren bir dil Lisp.

Eğlenceli programlama nedir anlamış değilim? Konuyu biraz açsanız???
0
FZ
Bunu "Ruby"cilere sorun, benim lafım biraz onların sloganına gönderme idi. :)

İlla ciddi bir şeyler demem gerekirse, herhalde programcıların yazarken gerçekten eğlendikleri durumlardaki programlama derdim. Ne bileyim ilk TCP/IP implementasyonunu yapanlar, UNIX'i yazanlar, Lisp Machine geliştiricileri, ilk yapay sinir ağı uygulaması geliştirenler, ilk kez genetik algoritmaların implementasyonlarını yapanlar, vb. Örnekler çoğaltılabilir.

Eğlenceli olmayan programlamaya örnek: ERP ve veritabanı programlama. O sektörde, sanırım kazanılan para ile ters orantılı eğlence faktörü. Yıllar önce yeterince baktıydım, bir daha bakmak zorunda kalmam diye ümit ediyorum (çok para var o ayrı ama işte, çok para olan başka sektörler de var...)
0
anonim
Küfretmeden kod yazmak.
0
FZ
:)
0
y0rk
paul graham Cuma 9 Aralık 2005 05:00 de yolladigi mesajda soyle diyor.
I told them it was fine with me if they wanted to rewrite the thing in Python. It's not as if the program is some hugely sophisticated collection of macros and continuations. Most of the complexity in the software is social, rather than technical. Python is perfectly adequate for it. Incidentally, the last straw, I've been told, was some bug in CMUCL threads that kept making the system crash.

http://groups.google.com/group/comp.lang.lisp/msg/574d19d5e7e23bf4
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Ünlü Bir Microsoftçunun Lisp Aşkı

FZ

Yazdığı kitaplarla Microsoft ortamlarında programlama yapanların yakından tanıdığı ve davet üzerine bir süredir Microsoft'ta çalışan Don Box, son yazılarından birinde "Scheme Is Love" başlığı ile konuya girmiş ve Scheme'e olan aşkını itiraf etmiş.

GNU GO, AJAX ve Common Lisp

FZ

SWGo arka planda GNU Go isimli Go moturunu kullanan, Common Lisp ile geliştirilmiş AJAX tarzı bir web arayüzü. Kaynak kodlarına buradan erişmek mümkün. Kodu geliştiren yazılımcı sadece birkaç aydır Common Lisp ve JavaScript ile uğraştığını söylüyor.

Microsoft ve Lisp: Ya da .NET CLR Garbage Collector Hangi Dilde Yazıldı?

FZ

USENET comp.lang.lisp forumundaki eğlenceli bir mesaj dikkatimi çekti paylaşmak istedim.

Meğer meşhur .NET platformunun ana bileşenlerinden biri olan CLR (Common Language Runtime) sisteminin çöp toplayıcısı (garbage collector) Lisp ile yazılmış.

Sağlam Lisp "hacker"larından olan ve bir süredir MS için çalışan, CLR'nin baş mimarlığını yapan Patrick Dussud'un yazdığı Lisp kodu daha sonra bir Lisp'ten C'ye dönüştürücü ile C'ye dönüştürülmüş ve bu kod da MS'deki bir stajyer programcı tarafından "temizlenip" derlenip piyasaya sürülmüş.

Lisp ve .NET konusu açılmışken: Her iki dünyadan da vazgeçmek istemeyenler için enteresan projeler çıkmaya başladı: L Sharp .NET (C#'tan çok daha eğlenceli ;-), RDNZL ve FOIL.

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ı

Google AI Yarışması Birincisi: Gábor Melis (ve Common Lisp)

FZ

Bir süreliğine dünyanın çeşitli yerlerindeki programcılara uykusuz ve adrenalin dolu geceler geçirten, eğlendirirken öğreten ve sosyal içerikli mesajlar içeren Google AI yani Google Yapay Zeka programlama yarışmasının birincisi Macar programcı Gábor Melis oldu. Melis yarışmayı Common Lisp dilinde geliştirdiği sistem ile kazandı.